diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f88bc1784f2bd46e2cc6b8c12ae1c287131c5cce..175bf9b89430e414d189f9a6cc1fdaa39793d5c0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,17 +1,17 @@ stages: - - build-base - - push-base - - cache-build - - build - - unit-test - - test-coverage - - push - - deploy-coverage-page + # - build-base + # - push-base + # - cache-build + # - build + # - unit-test + # - test-coverage + # - push + # - deploy-coverage-page - generate-yaml - trigger - - deploy - - e2e-test - - .post + # - deploy + # - e2e-test + # - .post variables: # Gitlab optimization https://docs.gitlab.com/ee/ci/large_repositories/ @@ -44,7 +44,7 @@ include: - '/ci/unit-test.template.yml' # Build Base Image -build base image: +.build base image: interruptible: true stage: build-base script: @@ -57,7 +57,7 @@ build base image: - docker.properties # Push Base Image Stage -push base image: +.push base image: interruptible: true stage: push-base script: @@ -70,7 +70,7 @@ push base image: - docker.properties # Cache -build cache: +.build cache: interruptible: true stage: cache-build variables: @@ -81,7 +81,7 @@ build cache: - docker build -t cache:${CI_COMMIT_SHORT_SHA} -f Dockerfile.cache . # Build Stages -build workflow: +.build workflow: interruptible: true stage: build variables: @@ -89,7 +89,7 @@ build workflow: PATH_PREFIX: "services/" extends: .build -build capability: +.build capability: interruptible: true stage: build variables: @@ -97,7 +97,7 @@ build capability: PATH_PREFIX: "services/" extends: .build -build notification: +.build notification: interruptible: true stage: build variables: @@ -105,7 +105,7 @@ build notification: PATH_PREFIX: "services/" extends: .build -build web: +.build web: interruptible: true stage: build variables: @@ -116,7 +116,7 @@ build web: ## Test Stages ## # Unit Tests -unit test workflow: +.unit test workflow: interruptible: true stage: unit-test variables: @@ -125,7 +125,7 @@ unit test workflow: needs: - build workflow -unit test capability: +.unit test capability: interruptible: true stage: unit-test variables: @@ -134,7 +134,7 @@ unit test capability: needs: - build capability -unit test notification: +.unit test notification: interruptible: true stage: unit-test variables: @@ -145,7 +145,7 @@ unit test notification: # Generate Coverage reports -unit test coverage: +.unit test coverage: interruptible: true stage: test-coverage image: python:3.8-slim @@ -171,7 +171,7 @@ unit test coverage: - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' # E2E Tests -e2e: +.e2e: interruptible: true stage: e2e-test image: docker/compose:1.27.4 @@ -207,25 +207,25 @@ e2e: retry: 2 # Push Stages -push workflow: +.push workflow: stage: push variables: SERVICE_NAME: "workflow" extends: .push -push capability: +.push capability: stage: push variables: SERVICE_NAME: "capability" extends: .push -push notification: +.push notification: stage: push variables: SERVICE_NAME: "notification" extends: .push -push web: +.push web: stage: push variables: SERVICE_NAME: "web" @@ -235,28 +235,28 @@ push web: # - unit test dev ui # Cleanup -clean build workflow: +.clean build workflow: stage: .post variables: SERVICE_NAME: "workflow" extends: .cleanup allow_failure: true -clean build capability: +.clean build capability: stage: .post variables: SERVICE_NAME: "capability" extends: .cleanup allow_failure: true -clean build notification: +.clean build notification: stage: .post variables: SERVICE_NAME: "notification" extends: .cleanup allow_failure: true -clean build web: +.clean build web: stage: .post variables: SERVICE_NAME: "web" @@ -264,7 +264,7 @@ clean build web: allow_failure: true # Deploy Stages -pages: +.pages: interruptible: true stage: deploy-coverage-page image: python:3.8-slim @@ -339,9 +339,12 @@ go generate yaml: script: - DEPLOY_ENV=${DEPLOY_ENV} ./ci/bin/generate-go-yaml.py rules: + - if: $CI_MERGE_REQUEST_ID + changes: + - apps/cli/executables/go/**/* - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH changes: - - apps/cli/executables/pexable/**/* + - apps/cli/executables/go/**/* - if: '$CI_COMMIT_TAG =~ /^end-of-sprint-[0-9]+/ || $CI_COMMIT_TAG =~ /[0-9]+\.[0-9]+\.[0-9]+-rc[0-9]+/' variables: # override DEPLOY_ENV @@ -351,7 +354,7 @@ go generate yaml: DEPLOY_ENV: "prod" artifacts: paths: - - generated-pex-build-pipeline.yml + - generated-go-build-pipeline.yml # Trigger child pipeline based on generated go builder yaml go child pipeline: @@ -362,6 +365,9 @@ go child pipeline: job: go generate yaml strategy: depend rules: + - if: $CI_MERGE_REQUEST_ID + changes: + - apps/cli/executables/go/**/* - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH changes: - apps/cli/executables/go/**/* @@ -374,7 +380,7 @@ go child pipeline: DEPLOY_ENV: "prod" # Development -deploy: +.deploy: stage: deploy script: # Docker doesn't allow variable interpolation when declaring Docker Secret names diff --git a/ci/bin/build-go.sh b/ci/bin/build-go.sh old mode 100644 new mode 100755 diff --git a/ci/bin/generate-go-yaml.py b/ci/bin/generate-go-yaml.py old mode 100644 new mode 100755