stages: - build - deploy image: artixlinux/artixlinux:base-runit variables: Desktop: "runit" build_iso: stage: build script: - echo "Installing artools" - pacman --noconfirm -Sy artools iso-profiles curl wget - echo "Setting up filesystem for the build" - losetup -d /dev/loop3 - 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 - ls config/ - cp config/pacman.conf /usr/share/artools/pacman.conf.d/default.conf - mkdir -p /root/.config/artools/ - cp config/pacman.conf /root/.config/artools/pacman-default.conf - cp config/pacman.conf /etc/pacman.conf - cp -r config/parch-mirrors /etc/pacman.d/ - ./build-iso.sh - echo "Renaming the output ISO file" - mv /root/artools-workspace/iso/base/*.iso /root/artools-workspace/iso/base/ParchLinux-$Desktop-latest.iso - ls /root/artools-workspace/iso/base/ - sleep 15 - 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 /root/artools-workspace/iso/base/ParchLinux-$Desktop-latest.iso parch@$SSH_ROOT:/srv/http/$Desktop/ rules: - if: $CI_COMMIT_TAG