name: Build and Deploy ISO on: release: types: [published] jobs: build_iso: runs-on: ubuntu-latest container: image: archlinux/archlinux:base-devel privileged: true env: Desktop: "template" steps: - name: Install Node.js run: pacman -Sy --noconfirm nodejs npm git sudo - name: Checkout code uses: actions/checkout@v4 - name: update run: pacman -Syyuu --noconfirm - name: whoami run: whoami - name: Build ISO run: | sudo ./build.sh echo "Renaming the output ISO file" mv out/*.iso out/ParchLinux-${{ env.Desktop }}-latest.iso echo "Generating MD5 checksum" md5sum out/ParchLinux-${{ env.Desktop }}-latest.iso > out/md5sum.txt echo "Build completed. Files generated:" ls -lh out/ - name: Setup dependencies run: pacman -Syu --noconfirm sshpass rsync - name: Determine remote directory run: | if [[ "${{ github.event.release.tag_name }}" == *"beta"* ]]; then echo "REMOTE_DIR=/srv/http/beta/${{ env.Desktop }}/" >> $GITHUB_ENV else echo "REMOTE_DIR=/srv/http/${{ env.Desktop }}/" >> $GITHUB_ENV fi - name: Deploy files env: SSHPASS: ${{ secrets.SSHPASS }} SSHHOST: ${{ secrets.SSHHOST }} run: | sshpass -p "$SSHPASS" ssh -o StrictHostKeyChecking=no parch@$SSHHOST "rm -rf $REMOTE_DIR && mkdir -p $REMOTE_DIR" sshpass -p "$SSHPASS" rsync -avz out/ParchLinux-${{ env.Desktop }}-latest.iso out/md5sum.txt parch@$SSHHOST:$REMOTE_DIR