on: [ push ] jobs: build: runs-on: docker container: image: archlinux/archlinux:base-devel steps: - name: Prepare requirements run: | pacman -Syu --noconfirm pacman -Sy --noconfirm nodejs npm git pacman -Sy --noconfirm shellcheck openssh rsync pacman -Scc --noconfirm - uses: actions/checkout@v3 name: Clone - name: Shellcheck run: | find usr/local/bin -type f -exec echo Testing {} \; -exec shellcheck {} \; - name: Build ArchLinux package run: | useradd -m build cp -r ${{ github.workspace }}/_pkg/ /home/build/ chown -R build:build /home/build cd /home/build/_pkg sudo -u build makepkg -csf sudo -u build repo-add repo-aur-myservermanager-com.db.tar.gz *.zst cp *.zst ${{ github.workspace }}/_pkg/ cp *.tar.gz ${{ github.workspace }}/_pkg/ echo "Produced package and AUR contents" ls -la ${{ github.workspace }}/_pkg/ - name: Synchronize to custom ArchLinux User Repository env: KEY: ${{ secrets.DEPLOY_SSH_KEY }} USER: ${{ secrets.DEPLOY_SSH_USER }} HOST: ${{ secrets.DEPLOY_SSH_HOST }} run: | mkdir -p ~/.ssh echo -n $KEY | base64 -di >> ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa rsync -az -zz -r --del -e 'ssh -p 2222 -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o StrictHostKeyChecking=no' ${{ github.workspace }}/_pkg/{*.zst,*.db.tar.gz,*.files.tar.gz} $USER@$HOST:/srv/http/myservermanager.com/htdocs/aur/