stages: - package - deploy update_pkgbuild: stage: package image: python:latest script: - pip install -r requirements.txt - ./render_pkgbuild.py artifacts: paths: - ./metadata.json - ./PKGBUILD expire_in: 1 day build_package: stage: package needs: [update_pkgbuild] image: archlinux:latest script: - pacman -Syu --noconfirm base-devel sudo - useradd --create-home builder - echo 'builder ALL=(ALL) ALL' >> /etc/sudoers.d/builder - echo 'Defaults:builder !authenticate' >> /etc/sudoers.d/builder - sudo -Hu builder makepkg --printsrcinfo > .SRCINFO - sudo -Hu builder makepkg --noconfirm --syncdeps --clean artifacts: paths: - ./.SRCINFO - ./fleet-orbit-*.pkg.tar.zst expire_in: 1 day test_package: stage: package needs: [build_package] image: archlinux:latest script: - pacman -Syu --noconfirm - pacman -U --noconfirm fleet-orbit-*.pkg.tar.zst - fleet-orbit version push_package: stage: deploy image: alpine:latest rules: - if: $PUSH_PACKAGE == "true" script: - apk add git openssh-client - eval $(ssh-agent -s) - mkdir -p ~/.ssh - chmod 700 ~/.ssh - ssh-keyscan gitlab.com aur.archlinux.com >> ~/.ssh/known_hosts - echo "${SSH_PRIVATE_KEY}" | tr -d '\r' | ssh-add - - git clone git@gitlab.com:nlr/fleet-orbit-aur.git - git remote add aur ssh://aur@aur.archlinux.org/fleet-orbit.git - cp PKGBUILD .SRCINFO metadata.json fleet-orbit-aur/ - cd fleet-orbit-aur/ - git config user.name "[BOT] Gilbert Gilb's" - git config user.email "gilbsgilbert@gmail.com" - git add . - | if ! git diff --cached --exit-code; then pkgver="$(grep -E '^pkgver=' PKGBUILD | cut -d'=' -f2)" git commit -m "Update to ${pkgver}." fi - git push origin HEAD:main - git push aur HEAD:master