mirror of
https://github.com/fsquillace/junest.git
synced 2026-01-23 02:34:30 +00:00
92 lines
2.9 KiB
YAML
92 lines
2.9 KiB
YAML
sudo: required
|
|
os: linux
|
|
|
|
cache:
|
|
directories:
|
|
- ~/.ccache
|
|
- ~/.pkg-cache
|
|
|
|
services:
|
|
- docker
|
|
|
|
archlinux:
|
|
mount:
|
|
- ~/.ccache:~/.ccache
|
|
- ~/.pkg-cache:/var/cache/pacman/pkg
|
|
packages:
|
|
# Pacman packages
|
|
- ccache
|
|
- git
|
|
- haveged
|
|
|
|
before_install:
|
|
# 1.Override `package-cleanup.hook` to preserve cache for travis.
|
|
# 2.Enable ccache
|
|
# 3.Multithreaded build and compress
|
|
# 4.Suppress all gcc warnings
|
|
- |
|
|
sudo mkdir /etc/pacman.d/hooks/
|
|
sudo ln -s /dev/null /etc/pacman.d/hooks/package-cleanup.hook
|
|
sudo sed -i '/^BUILDENV/s/\!ccache/ccache/' /etc/makepkg.conf
|
|
sudo sed -i '/#MAKEFLAGS=/c MAKEFLAGS="-j2"' /etc/makepkg.conf
|
|
sudo sed -i '/^COMPRESSXZ/s/\xz/xz -T 2/' /etc/makepkg.conf
|
|
sudo sed -i '$a CFLAGS="$CFLAGS -w"' /etc/makepkg.conf
|
|
sudo sed -i '$a CXXFLAGS="$CXXFLAGS -w"' /etc/makepkg.conf
|
|
script:
|
|
# Here do not make any validation (-n) because it will be done later on in the Ubuntu host directly
|
|
- ./bin/junest build -n
|
|
|
|
|
|
env:
|
|
matrix:
|
|
- TRAVIS_BASH_VERSION="4.0"
|
|
global:
|
|
# AWS_ACCESS_KEY_ID
|
|
- secure: "ZotyKKWH5ZrBXDdEnVmV22gbn86BBSiqDZn2d2jVAApgUQdDc3wa7/uYAZP1bts6oQ897nnkUSFHk3M3QAcIoPJerUITTU5D7yjKcFDejgHdpJ4t9XSajmpY9CgKftWapwliWG4wolAKwyAp5GnYqz4GGltHyGxbF/VzUNRF3lw="
|
|
# AWS_SECRET_ACCESS_KEY
|
|
- secure: "AWixvJmhr6+rfF4cspMWMjkvLuOsdfNanLK5wrqkgx/0ezDGBBThH0qVhn5Mp1QFM6wVF+LRA6UESNnj0wNwByZHdM6LddkJWlWHb/qkVK+AO4RKUsXJWNyPyOkCNj/WEFpZHQKKUAlEtC8m8AmAcuoi90cr6ih0PXIePRyPFrM="
|
|
|
|
before_install:
|
|
- ./ci/install-bash.sh "$TRAVIS_BASH_VERSION"
|
|
- sudo apt-get update
|
|
- sudo apt-get -y install awscli
|
|
|
|
install:
|
|
- PATH=$PWD/bin:$PATH
|
|
|
|
script:
|
|
#######################
|
|
# Unit Tests
|
|
#######################
|
|
- bash --version
|
|
- bash ./tests/checkstyle/checkstyle.sh
|
|
- bash ./tests/unit-tests/unit-tests.sh
|
|
- shellcheck bin/junest lib/**/*.sh ci/*.sh tests/**/*.sh
|
|
|
|
# ARM with qemu does seem to work properly. Disabling integ tests for ARM for now.
|
|
#- export JUNEST_HOME=~/.junest-arm
|
|
#- junest setup --arch arm
|
|
#- junest proot --fakeroot -- echo "Installing JuNest (\$(uname -m))"
|
|
#- junest proot --fakeroot -- ${PWD}/lib/checks/check.sh --skip-aur-tests
|
|
#- junest proot -- ${PWD}/lib/checks/check.sh --skip-aur-tests --use-sudo
|
|
#- yes | junest setup --delete
|
|
|
|
#######################
|
|
# Build and validation
|
|
#######################
|
|
- echo "$DOCKER_PASSWORD" | docker login --username "$DOCKER_USERNAME" --password-stdin
|
|
- "curl -s https://raw.githubusercontent.com/fsquillace/arch-travis/master/arch-travis.sh | bash"
|
|
- "echo pacman pkg cache size: $(du -h ~/.pkg-cache|cut -f1) in $(ls ~/.pkg-cache|wc -l) files"
|
|
- ls -l
|
|
# Test the newly created JuNest image against Ubuntu host
|
|
- export JUNEST_HOME=~/.junest
|
|
- junest setup -i junest-x86_64.tar.gz
|
|
- ${PWD}/lib/checks/check_all.sh
|
|
- yes | junest setup --delete
|
|
|
|
|
|
after_success:
|
|
#######################
|
|
# Deploy and validation
|
|
#######################
|
|
- ./ci/deploy.sh ./junest-x86_64.tar.gz
|