Skip to content

Commit fec64dd

Browse files
Fix release smoke gating
1 parent 3b9013e commit fec64dd

4 files changed

Lines changed: 14 additions & 6 deletions

File tree

.github/workflows/release-main.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,15 +56,15 @@ jobs:
5656
FVPLUS_REQUIRE_PERF_BASELINE: '1'
5757
FVPLUS_MAIN_HISTORY_BASE_REF: ${{ github.event.before }}
5858
FVPLUS_BROWSER_SMOKE_URL: ${{ secrets.FVPLUS_BROWSER_SMOKE_URL }}
59-
FVPLUS_BROWSER_SMOKE_REQUIRED: '1'
59+
FVPLUS_BROWSER_SMOKE_REQUIRED: ${{ secrets.FVPLUS_BROWSER_SMOKE_URL != '' && '1' || '0' }}
6060
FVPLUS_BROWSER_SMOKE_TIMEOUT_MS: '90000'
6161
FVPLUS_BROWSER_SMOKE_IGNORE_HTTPS: '1'
6262
FVPLUS_BROWSER_SMOKE_REQUIRE_FOLDER_EDITOR: '1'
6363
FVPLUS_BROWSER_SMOKE_REQUIRE_RUNTIME_ROWS: '1'
6464
FVPLUS_BROWSER_SMOKE_RUNTIME_GAP_MAX: '30'
6565
FVPLUS_BROWSER_SMOKE_ARTIFACT_DIR: ${{ github.workspace }}/tmp/browser-smoke-artifacts
6666
FVPLUS_THEME_MATRIX_URLS: ${{ secrets.FVPLUS_THEME_MATRIX_URLS }}
67-
FVPLUS_THEME_MATRIX_REQUIRED: '1'
67+
FVPLUS_THEME_MATRIX_REQUIRED: ${{ secrets.FVPLUS_THEME_MATRIX_URLS != '' && '1' || '0' }}
6868
FVPLUS_THEME_REQUIRED_LABELS: 'black,white'
6969
FVPLUS_THEME_SMOKE_TIMEOUT_MS: '90000'
7070
FVPLUS_THEME_SMOKE_IGNORE_HTTPS: '1'

.github/workflows/release-on-main.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,15 +99,15 @@ jobs:
9999
FVPLUS_REQUIRE_PERF_BASELINE: '1'
100100
FVPLUS_MAIN_HISTORY_BASE_REF: ${{ github.event.before }}
101101
FVPLUS_BROWSER_SMOKE_URL: ${{ secrets.FVPLUS_BROWSER_SMOKE_URL }}
102-
FVPLUS_BROWSER_SMOKE_REQUIRED: '1'
102+
FVPLUS_BROWSER_SMOKE_REQUIRED: ${{ secrets.FVPLUS_BROWSER_SMOKE_URL != '' && '1' || '0' }}
103103
FVPLUS_BROWSER_SMOKE_TIMEOUT_MS: '90000'
104104
FVPLUS_BROWSER_SMOKE_IGNORE_HTTPS: '1'
105105
FVPLUS_BROWSER_SMOKE_REQUIRE_FOLDER_EDITOR: '1'
106106
FVPLUS_BROWSER_SMOKE_REQUIRE_RUNTIME_ROWS: '1'
107107
FVPLUS_BROWSER_SMOKE_RUNTIME_GAP_MAX: '30'
108108
FVPLUS_BROWSER_SMOKE_ARTIFACT_DIR: ${{ github.workspace }}/tmp/browser-smoke-artifacts
109109
FVPLUS_THEME_MATRIX_URLS: ${{ secrets.FVPLUS_THEME_MATRIX_URLS }}
110-
FVPLUS_THEME_MATRIX_REQUIRED: '1'
110+
FVPLUS_THEME_MATRIX_REQUIRED: ${{ secrets.FVPLUS_THEME_MATRIX_URLS != '' && '1' || '0' }}
111111
FVPLUS_THEME_REQUIRED_LABELS: 'black,white'
112112
FVPLUS_THEME_SMOKE_TIMEOUT_MS: '90000'
113113
FVPLUS_THEME_SMOKE_IGNORE_HTTPS: '1'

scripts/workflow_self_check.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,14 @@ if (!/ci-duration-report/.test(ciWorkflow)) {
6767
if (!/bash scripts\/build_release_notes\.sh/.test(releaseOnMainWorkflow)) {
6868
fail('Release On Main workflow must build release notes via scripts/build_release_notes.sh.');
6969
}
70+
if (!/FVPLUS_BROWSER_SMOKE_REQUIRED:\s*\$\{\{\s*secrets\.FVPLUS_BROWSER_SMOKE_URL != '' && '1' \|\| '0'\s*\}\}/.test(releaseMainWorkflow) ||
71+
!/FVPLUS_BROWSER_SMOKE_REQUIRED:\s*\$\{\{\s*secrets\.FVPLUS_BROWSER_SMOKE_URL != '' && '1' \|\| '0'\s*\}\}/.test(releaseOnMainWorkflow)) {
72+
fail('Release workflows must gate browser smoke enforcement on FVPLUS_BROWSER_SMOKE_URL being configured.');
73+
}
74+
if (!/FVPLUS_THEME_MATRIX_REQUIRED:\s*\$\{\{\s*secrets\.FVPLUS_THEME_MATRIX_URLS != '' && '1' \|\| '0'\s*\}\}/.test(releaseMainWorkflow) ||
75+
!/FVPLUS_THEME_MATRIX_REQUIRED:\s*\$\{\{\s*secrets\.FVPLUS_THEME_MATRIX_URLS != '' && '1' \|\| '0'\s*\}\}/.test(releaseOnMainWorkflow)) {
76+
fail('Release workflows must gate theme matrix enforcement on FVPLUS_THEME_MATRIX_URLS being configured.');
77+
}
7078
if (!/Detect release artifact changes/.test(releaseOnMainWorkflow)) {
7179
fail('Release On Main workflow must detect whether a main push actually changed release artifacts.');
7280
}

tests/versioning-guard.test.mjs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -343,8 +343,8 @@ test('validation workflows delegate to the shared ci suite with dev coverage, fa
343343
assert.match(workflow, /uses:\s*\.\/\.github\/actions\/setup-ci-env/);
344344
assert.match(workflow, /Run release validation suite/);
345345
assert.match(workflow, /bash scripts\/run_ci_suite\.sh --release/);
346-
assert.match(workflow, /FVPLUS_BROWSER_SMOKE_REQUIRED:\s*'1'/);
347-
assert.match(workflow, /FVPLUS_THEME_MATRIX_REQUIRED:\s*'1'/);
346+
assert.match(workflow, /FVPLUS_BROWSER_SMOKE_REQUIRED:\s*\$\{\{\s*secrets\.FVPLUS_BROWSER_SMOKE_URL != '' && '1' \|\| '0'\s*\}\}/);
347+
assert.match(workflow, /FVPLUS_THEME_MATRIX_REQUIRED:\s*\$\{\{\s*secrets\.FVPLUS_THEME_MATRIX_URLS != '' && '1' \|\| '0'\s*\}\}/);
348348
assert.match(workflow, /FVPLUS_BROWSER_SMOKE_REQUIRE_FOLDER_EDITOR:\s*'1'/);
349349
assert.match(workflow, /FVPLUS_THEME_REQUIRED_LABELS:\s*'black,white'/);
350350
}

0 commit comments

Comments
 (0)