Skip to content

Add a feature flag to try to redirect to latest template [RUN ALL RSPEC] [RUN AS-IF-FOSS]

Shinya Maeda requested to merge latest-template-swapping-feature-flag into master

What does this MR do?

Originally raised in Slack https://gitlab.slack.com/archives/C01QGESL0UA/p1622703437010900

Regarding the breaking changes by latest=>stable template renewal in 14.0 (e.g. https://docs.gitlab.com/ee/development/cicd/templates.html#latest-version #232788 (closed)), it'd be helpful to introduce a feature flag in Gitlab::Template::GitlabCiYmlTemplate to redirect the stable<=>latest versions. So that we can at least gradually rollout the latest content. Today, we have the following latest templates that should replace its stable one:

shinya@shinya-B550-VISION-D:~/workspace/thin-gdk/services/rails/src$ find /home/shinya/workspace/thin-gdk/services/rails/src/lib/gitlab/ci/templates -iname *latest*
/home/shinya/workspace/thin-gdk/services/rails/src/lib/gitlab/ci/templates/Verify/Browser-Performance.latest.gitlab-ci.yml
/home/shinya/workspace/thin-gdk/services/rails/src/lib/gitlab/ci/templates/Jobs/Deploy.latest.gitlab-ci.yml
/home/shinya/workspace/thin-gdk/services/rails/src/lib/gitlab/ci/templates/Jobs/Browser-Performance-Testing.latest.gitlab-ci.yml
/home/shinya/workspace/thin-gdk/services/rails/src/lib/gitlab/ci/templates/Security/API-Fuzzing.latest.gitlab-ci.yml
/home/shinya/workspace/thin-gdk/services/rails/src/lib/gitlab/ci/templates/Security/DAST.latest.gitlab-ci.yml
/home/shinya/workspace/thin-gdk/services/rails/src/lib/gitlab/ci/templates/Terraform.latest.gitlab-ci.yml
/home/shinya/workspace/thin-gdk/services/rails/src/lib/gitlab/ci/templates/Terraform/Base.latest.gitlab-ci.yml

Screenshots (strongly suggested)

When the feature flag is disabled, the stable template is read

2021-06-03_15-50

When the feature flag is enabled, the latest template is read

2021-06-03_15-50_1

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

Does this MR contain changes to processing or storing of credentials or tokens, authorization and authentication methods or other items described in the security review guidelines? If not, then delete this Security section.

  • Label as security and @ mention @gitlab-com/gl-security/appsec
  • The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • Security reports checked/validated by a reviewer from the AppSec team
Edited by Shinya Maeda

Merge request reports