diff --git a/.gitea/workflows/release_arm64v8.yml b/.gitea/workflows/release_arm64v8.yml index 9d252b0..02b14e2 100644 --- a/.gitea/workflows/release_arm64v8.yml +++ b/.gitea/workflows/release_arm64v8.yml @@ -14,13 +14,13 @@ jobs: run: apk -U upgrade - name: Install needed tools shell: sh - run: apk add bash git wget curl nodejs sshfs alpine-sdk abuild sudo pup shadow + run: apk add bash git wget curl nodejs sshfs alpine-sdk abuild sudo shadow - name: Checkout uses: actions/checkout@v3 - name: Set up environment and users run: | echo "user_allow_other" >> /etc/fuse.conf - adduser runner -u 1001 -D -s /bin/bash -G wheel -h /home/runner + adduser runner -u 1001 -D -s /bin/bash -G wheel addgroup -g 1001 runner addgroup runner abuild addgroup runner runner @@ -29,47 +29,27 @@ jobs: chmod 440 /etc/sudoers mkdir -p /var/cache/distfiles chmod a+w /var/cache/distfiles - chsh -s /bin/bash + chsh -s /bin/bash su - runner -c 'mkdir ~/.abuild' - echo "setup done" + echo "setup done" - name: Set up keys run: | wget -q https://static.itmodulo.eu/dl/repo/public_keys/alpine/itmodulo%40disroot.org-65b4f779.rsa.pub -P /etc/apk/keys su - runner -c 'wget -q https://static.itmodulo.eu/dl/repo/public_keys/alpine/itmodulo%40disroot.org-65b4f779.rsa.pub -P ~/.abuild/' echo "${{ secrets.REPO_PRIVKEY }}" > /home/runner/.abuild/${{ secrets.REPO_PRIVKEY_FILENAME }} && chown runner:runner /home/runner/.abuild/${{ secrets.REPO_PRIVKEY_FILENAME }} - su - runner -c "echo 'PACKAGER_PRIVKEY="/home/runner/.abuild/${{ secrets.REPO_PRIVKEY_FILENAME }}"' >> ~/.abuild/abuild.conf" - cp -r srcpkgs /home/runner/ && chown -R runner:runner /home/runner/srcpkgs - - name: Determine packages to build + su - runner -c "echo 'PACKAGER_PRIVKEY="/home/runner/.abuild/${{ secrets.REPO_PRIVKEY_FILENAME }}"' >> ~/.abuild/abuild.conf" + - name: Compile in sequence run: | - su - runner -c "echo ~" - su - runner -c 'echo ~' - su - runner -c "curl --silent https://static.itmodulo.eu/dl/repo/alpine/latest-stable/main/aarch64/ | pup 'a text{}' | grep \.apk > ~/repo.txt" - su - runner -c "touch ~/local.txt" - su - runner -c 'cd ~/srcpkgs; for i in ./* ; do printf "%s-%s-r%s.apk\n" "$(echo "${i}" | cut -d '/' -f 2)" "$(cat "$i/APKBUILD" | grep pkgver | grep -v '\$' | cut -d '=' -f 2 )" "$(cat $i/APKBUILD | grep pkgrel | grep -v '\$' | cut -d '=' -f 2 )" >> ~/local.txt; done' - su - runner -c 'echo "LOCAL:"; cat ~/local.txt' - su - runner -c "grep -Fvxf ~/repo.txt ~/local.txt > ~/missing.txt" - su - runner -c 'echo "MISSING:"; cat ~/missing.txt' - su - runner -c "sed -i -E 's/-[0-9a-z.]+-r[0-9]+\.apk//g' ~/missing.txt" - su - runner -c "for i in $(cat /home/runner/missing.txt); do sed -i -E 's/'"${i}"-[0-9a-z.]+-r[0-9]+\.apk'//g' ~/repo.txt; done" - su - runner -c 'echo "MISSING:"; cat ~/missing.txt' - su - runner -c 'echo "REPO:"; cat ~/repo.txt' - su - runner -c 'echo "WILL BUILD:"; cat ~/missing.txt' - - - name: Compile missing in sequence - run: | - su - runner -c 'export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"; cd "srcpkgs/$(head -n 1 missing.txt)"; abuild -r' + mv srcpkgs /home/runner && chown -R runner:runner /home/runner/srcpkgs + su - runner -c 'export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"; cd srcpkgs/libsearpc; abuild -r' echo "/home/runner/packages/srcpkgs" >> /etc/apk/repositories - su - runner -c 'export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"; cd srcpkgs; for i in $(tail -n +2 missing.txt); do cd $i && abuild -r; cd .. ; done' + su - runner -c 'export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"; cd srcpkgs; for i in $(ls ./ | grep -v libsearpc); do cd $i && abuild -r; cd .. ; done' - name: Mount and upload run: | su - runner -c 'mkdir hole' echo "${{ secrets.REPO_LOGIN }}" > /home/runner/id_ecdsa && chown runner:runner /home/runner/id_ecdsa && chmod 600 /home/runner/id_ecdsa su - runner -c 'sshfs -p "${{ secrets.LOGIN_PORT }}" -o StrictHostKeyChecking=accept-new -o default_permissions,allow_other -o IdentityFile=/home/runner/id_ecdsa "${{ secrets.SERVER_LOGIN_AND_ADDRESS }}":"${{ secrets.SERVER_REPO_PATH }}" /home/runner/hole' su - runner -c 'ls -lah /home/runner/hole/latest-stable/main/aarch64/' - su - runner -c 'mkdir toindex && mv ~/packages/srcpkgs/aarch64/*.apk ~/toindex/' - su - runner -c 'for i in $(cat repo.txt); do cp "hole/latest-stable/main/aarch64/$i" ~/toindex/; done' - su - runner -c 'apk index /home/runner/toindex/APKINDEX.tar.gz /home/runner/toindex/*.apk' - su - runner -c 'abuild-sign -k /home/runner/.abuild/${{ secrets.REPO_PRIVKEY_FILENAME }} /home/runner/toindex/APKINDEX.tar.gz' su - runner -c 'rm -rf hole/latest-stable/main/aarch64/*' - su - runner -c 'cp toindex/* hole/latest-stable/main/aarch64/' - su - runner -c 'ls -lah /home/runner/hole/latest-stable/main/aarch64/' \ No newline at end of file + su - runner -c 'cp packages/srcpkgs/aarch64/* hole/latest-stable/main/aarch64/' + su - runner -c 'ls -lah /home/runner/hole/latest-stable/main/aarch64/' \ No newline at end of file