stages: - build - release image: archlinux/archlinux:base-devel # Build stage to generate ISO archiso: stage: build script: - ./build.sh rules: - if: $CI_COMMIT_TAG # Only run on new tag # Release stage to create a GitLab release and upload ISO release: stage: release script: - echo "Creating GitLab release for tag $CI_COMMIT_TAG" - | curl --header "PRIVATE-TOKEN: $CI_JOB_TOKEN" \ --data "name=Release $CI_COMMIT_TAG&tag_name=$CI_COMMIT_TAG&ref=$CI_COMMIT_SHA" \ --upload-file "out/*.iso" \ "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/releases" rules: - if: $CI_COMMIT_TAG # Only run on new tag dependencies: - archiso # Get the built ISO from the previous job only: - tags # Only trigger on tags