iso-builder/.gitlab-ci.yml
2025-05-31 23:06:09 +03:00

61 lines
2.3 KiB
YAML

stages:
- prebuild
- build
- postbuild
prebuild:
stage: prebuild
# rules:
# - if: '$CI_COMMIT_TAG'
tags:
- Builder-1
script:
- docker build --no-cache -f Dockerfile-builder -t builder:latest .
tileos-sway-amd64:
when: manual
stage: build
variables:
DESKTOP: sway
tags:
- Builder-1
script:
- rm -rf ${CI_PROJECT_DIR}/output/*
- eval $(ssh-agent -s)
- mkdir ~/.ssh/
- echo "$BASE64_TILEOS_ISO_STORAGE_KEY" | base64 -d > ~/.ssh/id_rsa
- chmod 400 ~/.ssh/id_rsa
- docker run --privileged --rm -i -v ${CI_PROJECT_DIR}/output:/builder/builds -v /proc:/proc builder:latest ./build --desktop sway --release testing
- ssh -o StrictHostKeyChecking=no ${STORAGE_USER}@${STORAGE_HOST} -p ${STORAGE_PORT} -i ~/.ssh/id_rsa rm -rf /media/iso/tile-os/testing/sway/*
- docker run --rm -v ${CI_PROJECT_DIR}/output:/builder/builds -v ~/.ssh/id_rsa:~/.ssh/id_rsa -e STORAGE_PORT=${STORAGE_PORT} -e STORAGE_HOST=${STORAGE_HOST} -e STORAGE_USER=${STORAGE_USER} builder:latest scp -o StrictHostKeyChecking=no -o Port=${STORAGE_PORT} -o IdentityFile=~/.ssh/id_rsa -p -B ${CI_PROJECT_DIR}/output/amd64/* ${STORAGE_USER}@${STORAGE_HOST}:/media/iso/tile-os/testing/sway/
tileos-river-amd64:
#rules:
# - if: '$CI_COMMIT_TAG'
when: manual
stage: build
variables:
DESKTOP: sway
tags:
- Builder-1
script:
- rm -rf ${CI_PROJECT_DIR}/output/*
- eval $(ssh-agent -s)
- mkdir ~/.ssh/
- echo "$BASE64_TILEOS_ISO_STORAGE_KEY" | base64 -d > ~/.ssh/id_rsa
- chmod 400 ~/.ssh/id_rsa
- docker run --privileged --rm -i -v ${CI_PROJECT_DIR}/output:/builder/builds -v /proc:/proc builder:latest ./build --desktop river --release testing
- ssh -o StrictHostKeyChecking=no ${STORAGE_USER}@${STORAGE_HOST} -p ${STORAGE_PORT} -i ~/.ssh/id_rsa rm -rf /media/iso/tile-os/testing/river/*
- docker run --rm -v ${CI_PROJECT_DIR}/output:/builder/builds -v ~/.ssh/id_rsa:~/.ssh/id_rsa -e STORAGE_PORT=${STORAGE_PORT} -e STORAGE_HOST=${STORAGE_HOST} -e STORAGE_USER=${STORAGE_USER} builder:latest scp -o StrictHostKeyChecking=no -o Port=${STORAGE_PORT} -o IdentityFile=~/.ssh/id_rsa -p -B ${CI_PROJECT_DIR}/output/amd64/* ${STORAGE_USER}@${STORAGE_HOST}:/media/iso/tile-os/testing/river/
mrproper:
#rules:
# - if: '$CI_COMMIT_TAG'
stage: postbuild
when: on_success
tags:
- Builder-1
needs:
- tileos-sway-amd64
- tileos-river-amd64
script:
- docker system prune -a -f