ci: fix release-path docker rerun commands · openclaw/openclaw@237d086
steipete
·
2026-05-02
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -94,6 +94,9 @@ runs:
|
94 | 94 | echo "lanes input is required for Docker E2E targeted planning." >&2 |
95 | 95 | exit 1 |
96 | 96 | fi |
| 97 | + if [[ "$INCLUDE_RELEASE_PATH_SUITES" == "true" ]]; then |
| 98 | + export OPENCLAW_DOCKER_ALL_PROFILE=release-path |
| 99 | + fi |
97 | 100 | export OPENCLAW_DOCKER_ALL_LANES="$LANES" |
98 | 101 | plan_path=".artifacts/docker-tests/targeted-plan.json" |
99 | 102 | ;; |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -978,6 +978,7 @@ jobs:
|
978 | 978 | env: |
979 | 979 | LANES: ${{ matrix.group.docker_lanes }} |
980 | 980 | INCLUDE_OPENWEBUI: ${{ inputs.include_openwebui }} |
| 981 | +INCLUDE_RELEASE_PATH_SUITES: ${{ inputs.include_release_path_suites }} |
981 | 982 | run: | |
982 | 983 | set -euo pipefail |
983 | 984 | if [[ -z "$LANES" ]]; then |
@@ -988,6 +989,9 @@ jobs:
|
988 | 989 | mkdir -p .artifacts/docker-tests |
989 | 990 | export OPENCLAW_DOCKER_ALL_LANES="$LANES" |
990 | 991 | export OPENCLAW_DOCKER_ALL_INCLUDE_OPENWEBUI="$INCLUDE_OPENWEBUI" |
| 992 | + if [[ "$INCLUDE_RELEASE_PATH_SUITES" == "true" ]]; then |
| 993 | + export OPENCLAW_DOCKER_ALL_PROFILE=release-path |
| 994 | + fi |
991 | 995 | |
992 | 996 | plan_path=".artifacts/docker-tests/targeted-plan.json" |
993 | 997 | node .release-harness/scripts/test-docker-all.mjs --plan-json > "$plan_path" |
@@ -1043,6 +1047,9 @@ jobs:
|
1043 | 1047 | export OPENCLAW_DOCKER_ALL_PREFLIGHT=0 |
1044 | 1048 | export OPENCLAW_DOCKER_ALL_FAIL_FAST=0 |
1045 | 1049 | export OPENCLAW_DOCKER_ALL_INCLUDE_OPENWEBUI="${INCLUDE_OPENWEBUI}" |
| 1050 | + if [[ "${{ inputs.include_release_path_suites }}" == "true" ]]; then |
| 1051 | + export OPENCLAW_DOCKER_ALL_PROFILE=release-path |
| 1052 | + fi |
1046 | 1053 | export OPENCLAW_DOCKER_ALL_LOG_DIR=".artifacts/docker-tests/targeted-${{ steps.plan.outputs.artifact_suffix }}" |
1047 | 1054 | export OPENCLAW_DOCKER_ALL_TIMINGS_FILE=".artifacts/docker-tests/targeted-${{ steps.plan.outputs.artifact_suffix }}-timings.json" |
1048 | 1055 | export OPENCLAW_DOCKER_ALL_PNPM_COMMAND="$(command -v pnpm)" |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -77,6 +77,10 @@ function shellQuote(value) {
|
77 | 77 | return `'${String(value).replaceAll("'", "'\\''")}'`; |
78 | 78 | } |
79 | 79 | |
| 80 | +function laneNeedsReleasePath(lane) { |
| 81 | +return /^bundled-channel(?:-|$)/u.test(lane); |
| 82 | +} |
| 83 | + |
80 | 84 | function maybeGhcrImage(value) { |
81 | 85 | return typeof value === "string" && value.startsWith("ghcr.io/") ? value : ""; |
82 | 86 | } |
@@ -114,15 +118,18 @@ function commonReuseInputs(entries) {
|
114 | 118 | } |
115 | 119 | |
116 | 120 | function ghWorkflowCommand(lanes, ref, workflow, reuseInputs = {}) { |
| 121 | +const workflowRef = process.env.OPENCLAW_DOCKER_E2E_WORKFLOW_REF || process.env.GITHUB_REF_NAME; |
| 122 | +const releasePath = lanes.some(laneNeedsReleasePath); |
117 | 123 | const fields = [ |
118 | 124 | "gh workflow run", |
119 | 125 | shellQuote(workflow), |
| 126 | + ...(workflowRef ? ["--ref", shellQuote(workflowRef)] : []), |
120 | 127 | "-f", |
121 | 128 | `ref=${shellQuote(ref)}`, |
122 | 129 | "-f", |
123 | 130 | "include_repo_e2e=false", |
124 | 131 | "-f", |
125 | | -"include_release_path_suites=false", |
| 132 | +`include_release_path_suites=${releasePath ? "true" : "false"}`, |
126 | 133 | "-f", |
127 | 134 | "include_openwebui=false", |
128 | 135 | "-f", |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -194,16 +194,38 @@ function shellQuote(value) {
|
194 | 194 | return `'${String(value).replaceAll("'", "'\\''")}'`; |
195 | 195 | } |
196 | 196 | |
| 197 | +function githubWorkflowRef() { |
| 198 | +const explicit = process.env.OPENCLAW_DOCKER_E2E_WORKFLOW_REF; |
| 199 | +if (explicit) { |
| 200 | +return explicit; |
| 201 | +} |
| 202 | +const refName = process.env.GITHUB_REF_NAME; |
| 203 | +if (refName) { |
| 204 | +return refName; |
| 205 | +} |
| 206 | +const ref = process.env.GITHUB_REF; |
| 207 | +if (ref?.startsWith("refs/heads/")) { |
| 208 | +return ref.slice("refs/heads/".length); |
| 209 | +} |
| 210 | +if (ref?.startsWith("refs/tags/")) { |
| 211 | +return ref.slice("refs/tags/".length); |
| 212 | +} |
| 213 | +return undefined; |
| 214 | +} |
| 215 | + |
197 | 216 | function githubWorkflowRerunCommand(laneNames, ref) { |
| 217 | +const workflowRef = githubWorkflowRef(); |
| 218 | +const releasePath = process.env.OPENCLAW_DOCKER_ALL_PROFILE === RELEASE_PATH_PROFILE; |
198 | 219 | const fields = [ |
199 | 220 | "gh workflow run", |
200 | 221 | shellQuote(process.env.OPENCLAW_DOCKER_E2E_WORKFLOW || DEFAULT_GITHUB_WORKFLOW), |
| 222 | + ...(workflowRef ? ["--ref", shellQuote(workflowRef)] : []), |
201 | 223 | "-f", |
202 | 224 | `ref=${shellQuote(ref)}`, |
203 | 225 | "-f", |
204 | 226 | "include_repo_e2e=false", |
205 | 227 | "-f", |
206 | | -"include_release_path_suites=false", |
| 228 | +`include_release_path_suites=${releasePath ? "true" : "false"}`, |
207 | 229 | "-f", |
208 | 230 | "include_openwebui=false", |
209 | 231 | "-f", |
|
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。