stages: - build - deploy image: archlinux/archlinux:base-devel variables: Desktop: "plasma" build_iso: stage: build script: - ./build.sh - echo "Renaming the output ISO file" - mv out/*.iso out/ParchLinux-$Desktop-latest.iso - echo "Generating MD5 checksum" - md5sum out/ParchLinux-$Desktop-latest.iso > out/md5sum.txt - echo "Build Date: $(date +'%Y-%m-%d')" >> out/md5sum.txt - | echo "Build completed. Files generated:" ls -lh out/ artifacts: paths: - out/ParchLinux-$Desktop-latest.iso - out/md5sum.txt 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/beta/$Desktop/" 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 out/md5sum.txt parch@$SSH_ROOT:"$REMOTE_DIR/" rules: - if: $CI_COMMIT_TAG