Skip to content

Commit b973b3a

Browse files
authored
ci: add manual break glass options for tests and benchmarks (#13222) (#13349)
Backport of #13222 to `2.21` ## Checklist - [x] PR author has checked that all the criteria below are met - The PR description includes an overview of the change - The PR description articulates the motivation for the change - The change includes tests OR the PR description describes a testing strategy - The PR description notes risks associated with the change, if any - Newly-added code is easy to change - The change follows the [library release note guidelines](https://ddtrace.readthedocs.io/en/stable/releasenotes.html) - The change includes or references documentation updates if necessary - Backport labels are set (if [applicable](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)) ## Reviewer Checklist - [x] Reviewer has checked that all the criteria below are met - Title is accurate - All changes are related to the pull request's stated goal - Avoids breaking [API](https://ddtrace.readthedocs.io/en/stable/versioning.html#interfaces) changes - Testing strategy adequately addresses listed risks - Newly-added code is easy to change - Release note makes sense to a user of the library - If necessary, author has acknowledged and discussed the performance implications of this PR as reported in the benchmarks PR comment - Backport labels are set in a manner that is consistent with the [release branch maintenance policy](https://ddtrace.readthedocs.io/en/latest/contributing.html#backporting)
1 parent 4f29d44 commit b973b3a

File tree

1 file changed

+29
-5
lines changed

1 file changed

+29
-5
lines changed

.gitlab-ci.yml

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ stages:
1010

1111
variables:
1212
REPO_LANG: python # "python" is used everywhere rather than "py"
13+
REPO_NOTIFICATION_CHANNEL: "#apm-python-release"
14+
RELEASE_ALLOW_TEST_FAILURES: false
15+
RELEASE_ALLOW_BENCHMARK_FAILURES: false
16+
DD_DISABLE_VPA: true # disable only on 2.21/older release branches
1317
# CI_DEBUG_SERVICES: "true"
1418

1519
default:
@@ -38,6 +42,11 @@ tests-gen:
3842
run-tests-trigger:
3943
stage: tests-trigger
4044
needs: [ tests-gen ]
45+
# Allow the child job to fail if explicitly asked
46+
rules:
47+
- if: $RELEASE_ALLOW_TEST_FAILURES == "true"
48+
allow_failure: true
49+
- allow_failure: false
4150
trigger:
4251
include:
4352
- artifact: .gitlab/tests-gen.yml
@@ -108,7 +117,14 @@ publish-lib-init-pinned-tags:
108117
configure_system_tests:
109118
variables:
110119
SYSTEM_TESTS_SCENARIOS_GROUPS: "simple_onboarding,simple_onboarding_profiling,docker-ssi,lib-injection"
111-
120+
121+
system_tests:
122+
# Allow the child job to fail if explicitly asked
123+
rules:
124+
- if: $RELEASE_ALLOW_TEST_FAILURES == "true"
125+
allow_failure: true
126+
- allow_failure: false
127+
112128
deploy_to_reliability_env:
113129
needs: []
114130

@@ -132,12 +148,20 @@ deploy_to_di_backend:manual:
132148
check_new_flaky_tests:
133149
stage: quality-gate
134150
extends: .testrunner
151+
# Allow the child job to fail if explicitly asked
152+
rules:
153+
- if: $RELEASE_ALLOW_TEST_FAILURES == "true"
154+
allow_failure: true
155+
- if: '$CI_COMMIT_BRANCH =~ /^main$/'
156+
when: never
157+
- if: '$CI_COMMIT_BRANCH =~ /^[0-9].[0-9]*/'
158+
when: never
159+
- if: '$CI_COMMIT_BRANCH =~ /^mq-working-branch.*/'
160+
when: never
161+
- allow_failure: false
162+
when: always
135163
script:
136164
- export DD_SITE=datadoghq.com
137165
- export DD_API_KEY=$(aws ssm get-parameter --region us-east-1 --name ci.${CI_PROJECT_NAME}.dd-api-key-qualitygate --with-decryption --query "Parameter.Value" --out text)
138166
- export DD_APP_KEY=$(aws ssm get-parameter --region us-east-1 --name ci.${CI_PROJECT_NAME}.dd-app-key-qualitygate --with-decryption --query "Parameter.Value" --out text)
139167
- datadog-ci gate evaluate
140-
except:
141-
- main
142-
- '[0-9].[0-9]*'
143-
- 'mq-working-branch**'

0 commit comments

Comments
 (0)