sudo: required language: c branches: only: - /.*/ cache: directories: - ~/.ccache - ~/.pkg-cache - ~/.cache/yay - gimp services: - docker archlinux: mount: - ~/.ccache:~/.ccache - ~/.cache/yay:~/.cache/yay - ~/.pkg-cache:/var/cache/pacman/pkg - ~/.ssh:~/.ssh repos: # - bartus=https://github.com/bartoszek/AUR-repo/raw/master packages: - ccache - moreutils - openssh 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 - ccache -s - yay -S --noconfirm babl-git - unset CC CXX - yay -S --noconfirm gegl-git - unset CC CXX - timeout 40m makepkg -s --noconfirm > >(ts -s '[%.T]'); _makepkg_return=$? # Update PKGBUILD and push changes to AUR - ./update.PKGBUILD - | deps_update=$(git diff .SRCINFO|grep -oP "^\+\tdepends = \K.*") && [[ "$TRAVIS_EVENT_TYPE" =~ push|cron ]] && \ ( . PKGBUILD git checkout master git config user.name "Travis" git config user.email "travis@example.org" git remote add aur ssh://aur@aur.archlinux.org/${pkgname}-git git remote add github git@github.com:bartoszek/AUR-${pkgname}.git echo "\$ git config" git config -l git commit PKGBUILD .SRCINFO -m "Update denepdencies" -m "$deps_update" -m "[skip ci]" echo "\$ stat ~/.ssh/*" stat ~/.ssh/* echo "\$ git push" git push aur git push github ) || true # Clean - sudo pacman -Sc --noconfirm - ccache -s - exit $_makepkg_return script: # decrypt aur and github ssh key - openssl aes-256-cbc -K $encrypted_a4aa308f5b26_key -iv $encrypted_a4aa308f5b26_iv -in aur4travis.enc -out ~/.ssh/aur4travis -d - openssl aes-256-cbc -K $encrypted_e22abb3aa17b_key -iv $encrypted_e22abb3aa17b_iv -in github4travis.enc -out ~/.ssh/github4travis -d # add ssh keys to ssh_config(5) (ssh key and ssh_config has to have specific/restrictive permissions) - echo -e "Host aur.archlinux.org\n\tUser aur\n\tIdentityFile ~/.ssh/aur4travis\n" >> ~/.ssh/config - echo -e "Host github.com \n\tUser git\n\tIdentityFile ~/.ssh/github4travis\n" >> ~/.ssh/config - chmod 600 ~/.ssh/* # scripts containing ':' has to come in double quotes. - "curl -s https://raw.githubusercontent.com/bartoszek/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" #deploy: # on: # branch: master # skip_cleanup: true # provider: script # script: bash .travis_deploy.sh