sudo: required language: c branches: only: - /.*/ cache: directories: - ~/.ccache - ~/.pkg-cache - blender-addons-contrib.git - blender-addons.git - blender-dev-tools.git - blender-translations.git - blender services: - docker archlinux: 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 - optix 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 # 5.Put optix in yay cache - | 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 mkdir -p ~/.cache/yay/optix cp /var/cache/pacman/pkg/NVIDIA-OptiX-SDK-7.0.0-linux64.sh ~/.cache/yay/optix 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"' - '[ ! -f ~/.pkg-cache/NVIDIA-OptiX-SDK-7.0.0-linux64.sh ] && curl "https://developer.download.nvidia.com/designworks/optix/secure/7.0.0/ga/NVIDIA-OptiX-SDK-7.0.0-linux64.sh?A6U4SqtA1SUcdIQfJy-aPSwpaze2wwZkszN9pjQtd0jJmyTXqTOcL6dL4_iFYK-PYjDMeyeTjDTuCAeqEs52DyKXfZkl1pDWFtClMExc7RVzuyHfj7EiSACDo78jtZrnpGe3ZIpfGLXGDHqtcGAEHegyxkb0yPDwXuUytHjtYhuY_g" > ~/.pkg-cache/NVIDIA-OptiX-SDK-7.0.0-linux64.sh || true' # 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/master/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