ci: tighten release publish timeouts · openclaw/openclaw@ac15c91
steipete
·
2026-05-10
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -618,7 +618,7 @@ jobs:
|
618 | 618 | timeout_minutes: 120 |
619 | 619 | - chunk_id: package-update-openai |
620 | 620 | label: package/update OpenAI install |
621 | | -timeout_minutes: 35 |
| 621 | +timeout_minutes: 20 |
622 | 622 | - chunk_id: package-update-anthropic |
623 | 623 | label: package/update Anthropic install |
624 | 624 | timeout_minutes: 180 |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -158,7 +158,7 @@ jobs:
|
158 | 158 | name: Publish plugins, then OpenClaw |
159 | 159 | needs: [resolve_release_target] |
160 | 160 | runs-on: ubuntu-latest |
161 | | -timeout-minutes: 360 |
| 161 | +timeout-minutes: 90 |
162 | 162 | steps: |
163 | 163 | - name: Dispatch publish workflows |
164 | 164 | env: |
@@ -274,15 +274,22 @@ jobs:
|
274 | 274 | changelog_file="${RUNNER_TEMP}/CHANGELOG.md" |
275 | 275 | notes_file="${RUNNER_TEMP}/release-notes.md" |
276 | 276 | |
277 | | - gh api --repo "$GITHUB_REPOSITORY" "repos/${GITHUB_REPOSITORY}/contents/CHANGELOG.md?ref=${TARGET_SHA}" \ |
| 277 | + gh api "repos/${GITHUB_REPOSITORY}/contents/CHANGELOG.md?ref=${TARGET_SHA}" \ |
278 | 278 | --jq '.content' | base64 --decode > "${changelog_file}" |
279 | 279 | awk -v version="${notes_version}" ' |
280 | 280 | $0 == "## " version { in_section = 1; next } |
281 | 281 | /^## / && in_section { exit } |
282 | 282 | in_section { print } |
283 | 283 | ' "${changelog_file}" > "${notes_file}" |
| 284 | + if [[ ! -s "${notes_file}" ]] && [[ "${RELEASE_TAG}" == *"-alpha."* || "${RELEASE_TAG}" == *"-beta."* ]]; then |
| 285 | + awk ' |
| 286 | + $0 == "## Unreleased" { in_section = 1; next } |
| 287 | + /^## / && in_section { exit } |
| 288 | + in_section { print } |
| 289 | + ' "${changelog_file}" > "${notes_file}" |
| 290 | + fi |
284 | 291 | if [[ ! -s "${notes_file}" ]]; then |
285 | | - echo "CHANGELOG.md does not contain release notes for ${notes_version}." >&2 |
| 292 | + echo "CHANGELOG.md does not contain release notes for ${notes_version} or an Unreleased prerelease fallback." >&2 |
286 | 293 | exit 1 |
287 | 294 | fi |
288 | 295 | |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -23,7 +23,7 @@ SKIP_PREVIOUS="${OPENCLAW_INSTALL_E2E_SKIP_PREVIOUS:-0}"
|
23 | 23 | OPENAI_API_KEY="${OPENAI_API_KEY:-}" |
24 | 24 | ANTHROPIC_API_KEY="${ANTHROPIC_API_KEY:-}" |
25 | 25 | ANTHROPIC_API_TOKEN="${ANTHROPIC_API_TOKEN:-}" |
26 | | -AGENT_TURN_TIMEOUT_SECONDS="${OPENCLAW_INSTALL_E2E_AGENT_TURN_TIMEOUT_SECONDS:-600}" |
| 26 | +AGENT_TURN_TIMEOUT_SECONDS="${OPENCLAW_INSTALL_E2E_AGENT_TURN_TIMEOUT_SECONDS:-300}" |
27 | 27 | AGENT_TURNS_PARALLEL="${OPENCLAW_INSTALL_E2E_AGENT_TURNS_PARALLEL:-1}" |
28 | 28 | AGENT_TOOL_SMOKE="${OPENCLAW_INSTALL_E2E_AGENT_TOOL_SMOKE:-1}" |
29 | 29 | OPENAI_AGENT_MODEL="${OPENCLAW_INSTALL_E2E_OPENAI_MODEL:-openai/gpt-5.5}" |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -26,7 +26,7 @@ docker run --rm \
|
26 | 26 | -e OPENCLAW_INSTALL_E2E_OPENAI_PROVIDER_TIMEOUT_SECONDS="${OPENCLAW_INSTALL_E2E_OPENAI_PROVIDER_TIMEOUT_SECONDS:-}" \ |
27 | 27 | -e OPENCLAW_INSTALL_E2E_PREVIOUS="${OPENCLAW_INSTALL_E2E_PREVIOUS:-}" \ |
28 | 28 | -e OPENCLAW_INSTALL_E2E_SKIP_PREVIOUS="${OPENCLAW_INSTALL_E2E_SKIP_PREVIOUS:-0}" \ |
29 | | - -e OPENCLAW_INSTALL_E2E_AGENT_TURN_TIMEOUT_SECONDS="${OPENCLAW_INSTALL_E2E_AGENT_TURN_TIMEOUT_SECONDS:-600}" \ |
| 29 | + -e OPENCLAW_INSTALL_E2E_AGENT_TURN_TIMEOUT_SECONDS="${OPENCLAW_INSTALL_E2E_AGENT_TURN_TIMEOUT_SECONDS:-300}" \ |
30 | 30 | -e OPENCLAW_INSTALL_E2E_AGENT_TURNS_PARALLEL="${OPENCLAW_INSTALL_E2E_AGENT_TURNS_PARALLEL:-1}" \ |
31 | 31 | -e OPENCLAW_INSTALL_E2E_AGENT_TOOL_SMOKE="${OPENCLAW_INSTALL_E2E_AGENT_TOOL_SMOKE:-1}" \ |
32 | 32 | -e OPENCLAW_NO_ONBOARD=1 \ |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -151,8 +151,12 @@ describe("docker build helper", () => {
|
151 | 151 | expect(wrapper).toContain("OPENCLAW_INSTALL_E2E_AGENT_TURNS_PARALLEL"); |
152 | 152 | expect(wrapper).toContain("OPENCLAW_INSTALL_E2E_OPENAI_MODEL"); |
153 | 153 | expect(wrapper).toContain("OPENCLAW_INSTALL_E2E_OPENAI_PROVIDER_TIMEOUT_SECONDS"); |
| 154 | +expect(wrapper).toContain("OPENCLAW_INSTALL_E2E_AGENT_TURN_TIMEOUT_SECONDS:-300"); |
154 | 155 | expect(runner).toContain("OPENCLAW_INSTALL_E2E_OPENAI_MODEL"); |
155 | 156 | expect(runner).toContain("OPENCLAW_INSTALL_E2E_OPENAI_PROVIDER_TIMEOUT_SECONDS"); |
| 157 | +expect(runner).toContain( |
| 158 | +'AGENT_TURN_TIMEOUT_SECONDS="${OPENCLAW_INSTALL_E2E_AGENT_TURN_TIMEOUT_SECONDS:-300}"', |
| 159 | +); |
156 | 160 | }); |
157 | 161 | |
158 | 162 | it("keeps package acceptance plugin coverage offline-capable", () => { |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -7,6 +7,7 @@ const LIVE_E2E_WORKFLOW = ".github/workflows/openclaw-live-and-e2e-checks-reusab
|
7 | 7 | const NPM_TELEGRAM_WORKFLOW = ".github/workflows/npm-telegram-beta-e2e.yml"; |
8 | 8 | const PACKAGE_JSON = "package.json"; |
9 | 9 | const RELEASE_CHECKS_WORKFLOW = ".github/workflows/openclaw-release-checks.yml"; |
| 10 | +const RELEASE_PUBLISH_WORKFLOW = ".github/workflows/openclaw-release-publish.yml"; |
10 | 11 | const FULL_RELEASE_VALIDATION_WORKFLOW = ".github/workflows/full-release-validation.yml"; |
11 | 12 | const QA_LIVE_TRANSPORTS_WORKFLOW = ".github/workflows/qa-live-transports-convex.yml"; |
12 | 13 | const UPDATE_MIGRATION_WORKFLOW = ".github/workflows/update-migration.yml"; |
@@ -829,4 +830,17 @@ describe("package artifact reuse", () => {
|
829 | 830 | expect(workflow).toContain("(.started_at | ts) - (.created_at | ts)"); |
830 | 831 | expect(workflow).not.toContain('gh run view "$run_id" --json createdAt,jobs'); |
831 | 832 | }); |
| 833 | + |
| 834 | +it("keeps release publish creation compatible with gh api and prerelease notes", () => { |
| 835 | +const workflow = readFileSync(RELEASE_PUBLISH_WORKFLOW, "utf8"); |
| 836 | + |
| 837 | +expect(workflow).toContain("timeout-minutes: 90"); |
| 838 | +expect(workflow).toContain( |
| 839 | +'gh api "repos/${GITHUB_REPOSITORY}/contents/CHANGELOG.md?ref=${TARGET_SHA}"', |
| 840 | +); |
| 841 | +expect(workflow).toContain('$0 == "## Unreleased" { in_section = 1; next }'); |
| 842 | +expect(workflow).toContain("Unreleased prerelease fallback"); |
| 843 | +expect(workflow).not.toContain("gh api --repo"); |
| 844 | +expect(workflow).not.toContain("timeout-minutes: 360"); |
| 845 | +}); |
832 | 846 | }); |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。