Commit 5e75848a authored by Avielle Wolfe's avatar Avielle Wolfe Committed by Grzegorz Bizon

Use CI_DEFAULT_BRANCH in Auto DevOps templates

We now have a CI_DEFAULT_BRANCH variable for use in our Auto DevOps
CI templates, which allows us to code logic for any default branch,
not just those named `master`.

This change was previously released with the intention that the
variable would be interpolated under the `ref` key of `only/except`,
but that didn't work so I reverted it. Now it exists under the
`variables` key, where it seems to be working.

https://gitlab.com/gitlab-org/gitlab/issues/33601
parent 8d10edca
...@@ -113,9 +113,10 @@ promoteBeta: ...@@ -113,9 +113,10 @@ promoteBeta:
promoteProduction: promoteProduction:
extends: .promote_job extends: .promote_job
stage: production stage: production
# We only allow production promotion on `master` because # We only allow production promotion on the default branch because
# it has its own production scoped secret variables # it has its own production scoped secret variables
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
script: script:
- bundle exec fastlane promote_beta_to_production - bundle exec fastlane promote_beta_to_production
...@@ -10,7 +10,8 @@ docker-build-master: ...@@ -10,7 +10,8 @@ docker-build-master:
- docker build --pull -t "$CI_REGISTRY_IMAGE" . - docker build --pull -t "$CI_REGISTRY_IMAGE" .
- docker push "$CI_REGISTRY_IMAGE" - docker push "$CI_REGISTRY_IMAGE"
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
docker-build: docker-build:
# Official docker image. # Official docker image.
...@@ -24,4 +25,5 @@ docker-build: ...@@ -24,4 +25,5 @@ docker-build:
- docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" . - docker build --pull -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" .
- docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG" - docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG"
except: except:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
...@@ -24,9 +24,8 @@ review: ...@@ -24,9 +24,8 @@ review:
- tags - tags
kubernetes: active kubernetes: active
except: except:
refs:
- master
variables: variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
- $REVIEW_DISABLED - $REVIEW_DISABLED
stop_review: stop_review:
...@@ -48,9 +47,8 @@ stop_review: ...@@ -48,9 +47,8 @@ stop_review:
- tags - tags
kubernetes: active kubernetes: active
except: except:
refs:
- master
variables: variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
- $REVIEW_DISABLED - $REVIEW_DISABLED
# Staging deploys are disabled by default since # Staging deploys are disabled by default since
...@@ -73,10 +71,9 @@ staging: ...@@ -73,10 +71,9 @@ staging:
name: staging name: staging
url: http://$CI_PROJECT_PATH_SLUG-staging.$KUBE_INGRESS_BASE_DOMAIN url: http://$CI_PROJECT_PATH_SLUG-staging.$KUBE_INGRESS_BASE_DOMAIN
only: only:
refs:
- master
kubernetes: active kubernetes: active
variables: variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
- $STAGING_ENABLED - $STAGING_ENABLED
# Canaries are disabled by default, but if you want them, # Canaries are disabled by default, but if you want them,
...@@ -98,10 +95,9 @@ canary: ...@@ -98,10 +95,9 @@ canary:
url: http://$CI_PROJECT_PATH_SLUG.$KUBE_INGRESS_BASE_DOMAIN url: http://$CI_PROJECT_PATH_SLUG.$KUBE_INGRESS_BASE_DOMAIN
when: manual when: manual
only: only:
refs:
- master
kubernetes: active kubernetes: active
variables: variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
- $CANARY_ENABLED - $CANARY_ENABLED
.production: &production_template .production: &production_template
...@@ -126,9 +122,9 @@ canary: ...@@ -126,9 +122,9 @@ canary:
production: production:
<<: *production_template <<: *production_template
only: only:
refs:
- master
kubernetes: active kubernetes: active
variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
except: except:
variables: variables:
- $STAGING_ENABLED - $STAGING_ENABLED
...@@ -141,10 +137,9 @@ production_manual: ...@@ -141,10 +137,9 @@ production_manual:
when: manual when: manual
allow_failure: false allow_failure: false
only: only:
refs:
- master
kubernetes: active kubernetes: active
variables: variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
- $STAGING_ENABLED - $STAGING_ENABLED
- $CANARY_ENABLED - $CANARY_ENABLED
except: except:
...@@ -152,7 +147,7 @@ production_manual: ...@@ -152,7 +147,7 @@ production_manual:
- $INCREMENTAL_ROLLOUT_ENABLED - $INCREMENTAL_ROLLOUT_ENABLED
- $INCREMENTAL_ROLLOUT_MODE - $INCREMENTAL_ROLLOUT_MODE
# This job implements incremental rollout on for every push to `master`. # This job implements incremental rollout for every push to the default branch.
.rollout: &rollout_template .rollout: &rollout_template
extends: .auto-deploy extends: .auto-deploy
...@@ -178,10 +173,9 @@ production_manual: ...@@ -178,10 +173,9 @@ production_manual:
when: manual when: manual
# This selectors are backward compatible mode with $INCREMENTAL_ROLLOUT_ENABLED (before 11.4) # This selectors are backward compatible mode with $INCREMENTAL_ROLLOUT_ENABLED (before 11.4)
only: only:
refs:
- master
kubernetes: active kubernetes: active
variables: variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
- $INCREMENTAL_ROLLOUT_MODE == "manual" - $INCREMENTAL_ROLLOUT_MODE == "manual"
- $INCREMENTAL_ROLLOUT_ENABLED - $INCREMENTAL_ROLLOUT_ENABLED
except: except:
...@@ -193,10 +187,9 @@ production_manual: ...@@ -193,10 +187,9 @@ production_manual:
when: delayed when: delayed
start_in: 5 minutes start_in: 5 minutes
only: only:
refs:
- master
kubernetes: active kubernetes: active
variables: variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
- $INCREMENTAL_ROLLOUT_MODE == "timed" - $INCREMENTAL_ROLLOUT_MODE == "timed"
timed rollout 10%: timed rollout 10%:
......
...@@ -64,7 +64,8 @@ pages: ...@@ -64,7 +64,8 @@ pages:
paths: paths:
- public - public
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
# WARNING: This template is using the `julia` images from [Docker # WARNING: This template is using the `julia` images from [Docker
# Hub][3]. One can use custom Julia images and/or the official ones found # Hub][3]. One can use custom Julia images and/or the official ones found
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
# This template will build and test your projects # This template will build and test your projects
# * Caches downloaded dependencies and plugins between invocation. # * Caches downloaded dependencies and plugins between invocation.
# * Verify but don't deploy merge requests. # * Verify but don't deploy merge requests.
# * Deploy built artifacts from master branch only. # * Deploy built artifacts from the default branch only.
variables: variables:
# This will suppress any download for dependencies and plugins or upload messages which would clutter the console log. # This will suppress any download for dependencies and plugins or upload messages which would clutter the console log.
...@@ -33,7 +33,8 @@ cache: ...@@ -33,7 +33,8 @@ cache:
script: script:
- 'mvn $MAVEN_CLI_OPTS verify' - 'mvn $MAVEN_CLI_OPTS verify'
except: except:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
# Verify merge requests using JDK8 # Verify merge requests using JDK8
verify:jdk8: verify:jdk8:
...@@ -42,7 +43,7 @@ verify:jdk8: ...@@ -42,7 +43,7 @@ verify:jdk8:
# To deploy packages from CI, create a ci_settings.xml file # To deploy packages from CI, create a ci_settings.xml file
# For deploying packages to GitLab's Maven Repository: See https://docs.gitlab.com/ee/user/project/packages/maven_repository.html#creating-maven-packages-with-gitlab-cicd for more details. # For deploying packages to GitLab's Maven Repository: See https://docs.gitlab.com/ee/user/project/packages/maven_repository.html#creating-maven-packages-with-gitlab-cicd for more details.
# Please note: The GitLab Maven Repository is currently only available in GitLab Premium / Ultimate. # Please note: The GitLab Maven Repository is currently only available in GitLab Premium / Ultimate.
# For `master` branch run `mvn deploy` automatically. # For the default branch run `mvn deploy` automatically.
deploy:jdk8: deploy:jdk8:
stage: deploy stage: deploy
script: script:
...@@ -51,4 +52,5 @@ deploy:jdk8: ...@@ -51,4 +52,5 @@ deploy:jdk8:
fi fi
- 'mvn $MAVEN_CLI_OPTS deploy -s ci_settings.xml' - 'mvn $MAVEN_CLI_OPTS deploy -s ci_settings.xml'
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
...@@ -25,7 +25,8 @@ before_script: ...@@ -25,7 +25,8 @@ before_script:
release: release:
stage: deploy stage: deploy
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
artifacts: artifacts:
paths: paths:
- build/release/MyProject.exe - build/release/MyProject.exe
......
...@@ -49,7 +49,8 @@ review: ...@@ -49,7 +49,8 @@ review:
only: only:
- branches - branches
except: except:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
stop-review: stop-review:
<<: *deploy <<: *deploy
...@@ -66,7 +67,8 @@ stop-review: ...@@ -66,7 +67,8 @@ stop-review:
only: only:
- branches - branches
except: except:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
staging: staging:
<<: *deploy <<: *deploy
...@@ -78,7 +80,8 @@ staging: ...@@ -78,7 +80,8 @@ staging:
name: staging name: staging
url: http://$CI_PROJECT_NAME-staging.$OPENSHIFT_DOMAIN url: http://$CI_PROJECT_NAME-staging.$OPENSHIFT_DOMAIN
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
production: production:
<<: *deploy <<: *deploy
...@@ -91,4 +94,5 @@ production: ...@@ -91,4 +94,5 @@ production:
name: production name: production
url: http://$CI_PROJECT_NAME.$OPENSHIFT_DOMAIN url: http://$CI_PROJECT_NAME.$OPENSHIFT_DOMAIN
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
...@@ -25,4 +25,5 @@ build: ...@@ -25,4 +25,5 @@ build:
- find . -maxdepth 1 -name '*.json' -print0 | xargs -t0n1 packer build - find . -maxdepth 1 -name '*.json' -print0 | xargs -t0n1 packer build
when: manual when: manual
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
...@@ -12,4 +12,5 @@ pages: ...@@ -12,4 +12,5 @@ pages:
paths: paths:
- public - public
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
...@@ -10,4 +10,5 @@ pages: ...@@ -10,4 +10,5 @@ pages:
paths: paths:
- public - public
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
...@@ -14,4 +14,5 @@ pages: ...@@ -14,4 +14,5 @@ pages:
paths: paths:
- public - public
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
...@@ -9,4 +9,5 @@ pages: ...@@ -9,4 +9,5 @@ pages:
paths: paths:
- public - public
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
...@@ -12,4 +12,5 @@ pages: ...@@ -12,4 +12,5 @@ pages:
paths: paths:
- public - public
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
...@@ -14,4 +14,5 @@ pages: ...@@ -14,4 +14,5 @@ pages:
- node_modules - node_modules
key: project key: project
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
...@@ -8,10 +8,12 @@ pages: ...@@ -8,10 +8,12 @@ pages:
paths: paths:
- public - public
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
test: test:
script: script:
- hugo - hugo
except: except:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
...@@ -11,7 +11,8 @@ test: ...@@ -11,7 +11,8 @@ test:
- pip install hyde - pip install hyde
- hyde gen - hyde gen
except: except:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
pages: pages:
stage: deploy stage: deploy
...@@ -22,4 +23,5 @@ pages: ...@@ -22,4 +23,5 @@ pages:
paths: paths:
- public - public
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
...@@ -17,7 +17,8 @@ test: ...@@ -17,7 +17,8 @@ test:
paths: paths:
- test - test
except: except:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
pages: pages:
stage: deploy stage: deploy
...@@ -27,4 +28,5 @@ pages: ...@@ -27,4 +28,5 @@ pages:
paths: paths:
- public - public
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
...@@ -34,4 +34,5 @@ pages: ...@@ -34,4 +34,5 @@ pages:
paths: paths:
- public - public
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
...@@ -9,4 +9,5 @@ pages: ...@@ -9,4 +9,5 @@ pages:
paths: paths:
- public - public
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
...@@ -13,4 +13,5 @@ pages: ...@@ -13,4 +13,5 @@ pages:
paths: paths:
- public - public
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
...@@ -12,7 +12,8 @@ test: ...@@ -12,7 +12,8 @@ test:
- bundle install --path vendor - bundle install --path vendor
- bundle exec middleman build - bundle exec middleman build
except: except:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
pages: pages:
script: script:
...@@ -24,4 +25,5 @@ pages: ...@@ -24,4 +25,5 @@ pages:
paths: paths:
- public - public
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
...@@ -9,4 +9,5 @@ pages: ...@@ -9,4 +9,5 @@ pages:
paths: paths:
- public - public
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
...@@ -12,4 +12,5 @@ pages: ...@@ -12,4 +12,5 @@ pages:
paths: paths:
- public - public
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
...@@ -26,4 +26,5 @@ pages: ...@@ -26,4 +26,5 @@ pages:
paths: paths:
- public - public
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
...@@ -48,4 +48,5 @@ pages: ...@@ -48,4 +48,5 @@ pages:
paths: paths:
- public - public
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
...@@ -22,7 +22,8 @@ archive_project: ...@@ -22,7 +22,8 @@ archive_project:
- xcodebuild clean archive -archivePath build/ProjectName -scheme SchemeName - xcodebuild clean archive -archivePath build/ProjectName -scheme SchemeName
- xcodebuild -exportArchive -exportFormat ipa -archivePath "build/ProjectName.xcarchive" -exportPath "build/ProjectName.ipa" -exportProvisioningProfile "ProvisioningProfileName" - xcodebuild -exportArchive -exportFormat ipa -archivePath "build/ProjectName.xcarchive" -exportPath "build/ProjectName.ipa" -exportProvisioningProfile "ProvisioningProfileName"
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
artifacts: artifacts:
paths: paths:
- build/ProjectName.ipa - build/ProjectName.ipa
......
...@@ -53,4 +53,5 @@ apply: ...@@ -53,4 +53,5 @@ apply:
- plan - plan
when: manual when: manual
only: only:
- master variables:
- $CI_DEFAULT_BRANCH == $CI_COMMIT_REF_NAME
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment