stages: - build - deploy image: archlinux/archlinux:base-devel variables: Desktop: "XFCE" build_iso: stage: build script: - ./build.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 "Determining the remote directory based on the tag" - if [[ "$CI_COMMIT_TAG" == *"beta"* ]]; then export REMOTE_DIR="/srv/http/$Desktop/beta"; else export REMOTE_DIR="/srv/http/$Desktop"; fi - echo "Removing old ISO files from remote directory" - sshpass -p "$PASS" ssh -o StrictHostKeyChecking=no parch@$SSH_ROOT rm -rf $REMOTE_DIR/ - echo "Creating new directory on remote host" - sshpass -p "$PASS" ssh -o StrictHostKeyChecking=no parch@$SSH_ROOT mkdir -p $REMOTE_DIR/ - echo "Uploading new ISO via rsync" - sshpass -p "$PASS" rsync -r out/ParchLinux-$Desktop-latest.iso parch@$SSH_ROOT:$REMOTE_DIR/ rules: - if: $CI_COMMIT_TAG