stages: - build - deploy image: artixlinux/runit:latest variables: Desktop: "runit" build_iso: stage: build script: - echo "Installing artools" - pacman --noconfirm -Sy artools iso-profiles - echo "Setting up filesystem for the build" - dd if=/dev/zero of=/tmp/loopfs.img bs=1024 count=8000000 - losetup /dev/loop3 /tmp/loopfs.img - mkfs.ext4 /dev/loop3 - mkdir -p /var/lib/artools - mount /dev/loop3 /var/lib/artools - echo "Starting the ISO build process" - mkdir -p ~/artools-workspace/iso-profiles - cp base ~/artools-workspace/iso-profiles -r - mkdir -p ~/.config/artools - cp config/pacman.conf /usr/share/artools/pacman.conf.d/default.conf - cp -r config/me* /etc/pacman.d/ - ./build-iso.sh - echo "Renaming the output ISO file" - mv out/*.iso out/ParchLinux-$Desktop-latest.iso artifacts: paths: - out/ParchLinux-$Desktop-latest.iso rules: - if: $CI_COMMIT_TAG deploy_iso: stage: deploy dependencies: - build_iso script: - echo "Installing sshpass and rsync" - pacman -Syu --noconfirm sshpass rsync - echo "Removing old ISO files from remote directory" - sshpass -p "$PASS" ssh -o StrictHostKeyChecking=no parch@$SSH_ROOT rm -rf /srv/http/$Desktop/ - echo "Creating new directory on remote host" - sshpass -p "$PASS" ssh -o StrictHostKeyChecking=no parch@$SSH_ROOT mkdir -p /srv/http/$Desktop/ - echo "Uploading new ISO via rsync" - sshpass -p "$PASS" rsync -r out/ParchLinux-$Desktop-latest.iso parch@$SSH_ROOT:/srv/http/$Desktop/ rules: - if: $CI_COMMIT_TAG