I’m using arch-travis
to build some of my ArchLinux packages using docker in Travis. Lately (26 Sep) I’ve noticed that, despite there is no env
matrix in my .travis.yml
all my build have 5 jobs instead of one.
sudo: required
branches:
only:
- /.*/
cache:
directories:
- ~/.ccache
- ~/.pkg-cache
- blender-addons-contrib.git
- blender-addons.git
- blender-dev-tools.git
- blender-translations.git
- blender
services:
- docker
arch:
mount:
- ~/.ccache:~/.ccache
- ~/.pkg-cache:/var/cache/pacman/pkg
repos:
# - bartus=https://github.com/bartoszek/AUR-repo/raw/master
packages:
- ccache
- ccache-ext
# cuda need to be installed before `makepkg` invocation in order to allow nvcc-ccache logic to work.
- cuda
- moreutils
- oidn
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:
# Normalize TRAVIS variable
- |
[ "$TRAVIS" == "true" ] && TRAVIS=1 || TRAVIS=0
# Build
- 'echo "Travis initialization time: $travis_uptime"'
- "arch_uptime=$(cut -d' ' -f1 /proc/uptime|cut -d'.' -f1)"
- 'echo "Arch-Travis initialization time: $((arch_uptime-travis_uptime)) seconds"'
- ccache -s
- ccache -z
# set timeout to 50m minus current uptime, minus travis cache in time, minus 60 second buffer for arch-travis cleanup.
- timeout $((50*60-arch_uptime-travis_uptime-60)) makepkg -s --noconfirm > >(ts -s '%.T'); _makepkg_return=$?
- sudo pacman -Sc --noconfirm
- ccache -s
- ccache -z
- exit $_makepkg_return
script:
- "export travis_uptime=$(cut -d' ' -f1 /proc/uptime|cut -d'.' -f1)"
- 'echo "Travis initialization time: $travis_uptime seconds"'
# assume caching out will take the same amount of time as caching in those making build time equal to 50 minutes minus two time current uptime.
- "curl -s https://raw.githubusercontent.com/bartoszek/arch-travis/base64-encode/arch-travis.sh| timeout $((50*60-2*travis_uptime)) bash"
- "echo pacman pkg cache size: $(du -h ~/.pkg-cache|cut -f1) in $(ls ~/.pkg-cache|wc -l) files"
#deploy:
# on:
# branch: master
# skip_cleanup: true
# provider: script
# script: bash .travis_deploy.sh
I’ve tried resetting build, but result is the same.
Have anyone encounter similar issue, should i report it?