diff --git a/.gitlab/.gitlab-ci.yml b/.gitlab/.gitlab-ci.yml index dd42fb9..0075400 100644 --- a/.gitlab/.gitlab-ci.yml +++ b/.gitlab/.gitlab-ci.yml @@ -1,3 +1,5 @@ +include: .gitlab/valid_set.yml + stages: - Manifest - Test @@ -11,7 +13,7 @@ variables: PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/${PACKAGE_NAME}/${RELEASE_VERSION}" # Jobs from here run on Merge Requests as prerequisite for merging. -.manifest-job: &manifest +.manifest-job: stage: Manifest image: node:latest rules: @@ -35,14 +37,14 @@ variables: manifest-job/valid_set: variables: PACKAGE_NAME: "valid_set" - <<: *manifest + extends: manifest-job manifest-job/missing_tag_set: variables: PACKAGE_NAME: "missing_tag_set" - <<: *manifest + extends: manifest-job -.test-images-job: &test-images +.test-job: stage: Test image: python:latest rules: @@ -55,22 +57,15 @@ manifest-job/missing_tag_set: - python -m pytest src/test_images.py --tb=line -rA --color=yes allow_failure: true -test-images-job/valid_set: - needs: - - manifest-job/valid_set - variables: - PACKAGE_NAME: "valid_set" - <<: *test-images - test-images-job/missing_tag_set: needs: - manifest-job/missing_tag_set variables: PACKAGE_NAME: "missing_tag_set" - <<: *test-images + extends: test-job # Jobs from here run Merged_results or Push/Merge Commits to the main branch. Tag is created on release so no run with tag creation -.bundle-job: &bundle +.bundle-job: stage: Bundle image: javieraviles/zip:latest rules: @@ -88,21 +83,14 @@ test-images-job/missing_tag_set: when: on_success expire_in: "1 hour" -bundle-job/valid_set: - needs: - - manifest-job/valid_set - variables: - PACKAGE_NAME: "valid_set" - <<: *bundle - bundle-job/missing_tag_set: needs: - manifest-job/missing_tag_set variables: PACKAGE_NAME: "missing_tag_set" - <<: *bundle + extends: bundle-job -.upload-job: &upload +.upload-job: stage: Distribute image: curlimages/curl:latest rules: @@ -117,21 +105,14 @@ bundle-job/missing_tag_set: --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \ --upload-file ${PACKAGE_NAME}.zip "${PACKAGE_REGISTRY_URL}/${PACKAGE_NAME}.zip?select=package_file" -upload-job/valid_set: - needs: - - bundle-job/valid_set - variables: - PACKAGE_NAME: "valid_set" - <<: *upload - upload-job/missing_tag_set: needs: - bundle-job/missing_tag_set variables: PACKAGE_NAME: "missing_tag_set" - <<: *upload + extends: upload-job -.release-job: &release +.release-job: stage: Release image: registry.gitlab.com/gitlab-org/release-cli:latest rules: @@ -152,16 +133,9 @@ upload-job/missing_tag_set: - name: ${PACKAGE_NAME} url: "${PACKAGE_REGISTRY_URL}/${PACKAGE_NAME}.zip" -release-job/valid_set: - needs: - - upload-job/valid_set - variables: - PACKAGE_NAME: "valid_set" - <<: *release - release-job/missing_tag_set: needs: - upload-job/missing_tag_set variables: PACKAGE_NAME: "missing_tag_set" - <<: *release + extends: release-job diff --git a/.gitlab/valid_set.yml b/.gitlab/valid_set.yml new file mode 100644 index 0000000..1573025 --- /dev/null +++ b/.gitlab/valid_set.yml @@ -0,0 +1,27 @@ +test-images-job/valid_set: + needs: + - manifest-job/valid_set + variables: + PACKAGE_NAME: "valid_set" + extends: test-job + +bundle-job/valid_set: + needs: + - manifest-job/valid_set + variables: + PACKAGE_NAME: "valid_set" + extends: bundle-job + +upload-job/valid_set: + needs: + - bundle-job/valid_set + variables: + PACKAGE_NAME: "valid_set" + extends: upload-job + +release-job/valid_set: + needs: + - upload-job/valid_set + variables: + PACKAGE_NAME: "valid_set" + extends: release-job