Skip to content

ci(desktop-smoke): populate cache on release/** and hotfix/** pushes#86

Merged
webup merged 1 commit into
release/0.3.0from
ci/populate-desktop-smoke-cache-on-release-push
Apr 23, 2026
Merged

ci(desktop-smoke): populate cache on release/** and hotfix/** pushes#86
webup merged 1 commit into
release/0.3.0from
ci/populate-desktop-smoke-cache-on-release-push

Conversation

@webup
Copy link
Copy Markdown
Contributor

@webup webup commented Apr 23, 2026

What

Add `release/` and `hotfix/` to the `push` trigger of `desktop-e2e.yml` so that merges into those release branches run Desktop Smoke and populate the base-branch GitHub Actions cache scope.

Why — traced from PR #81

PR #81's Windows Desktop Smoke took 15 minutes even after PR #84 (caching) merged. Cache logs from the run:

```
key: openclaw-cli-Windows-2026.4.11
Cache not found for input keys: openclaw-cli-Windows-2026.4.11
...
key: cargo-webdriver-tools-Windows-v1
Cache not found for input keys: cargo-webdriver-tools-Windows-v1
```

Root cause is GitHub Actions cache scoping: caches are scoped per-branch, and a PR's workflow can only read caches from its own branch scope or its base branch. PR #84 populated caches on branch `ci/cache-desktop-smoke-installs`. After PR #84 merged to `release/0.3.0`, no `push` event fired `desktop-e2e.yml` (its `push` trigger was `[main, 'feat/**']` only), so the `release/0.3.0` cache scope stayed empty. PR #81, targeting `release/0.3.0`, therefore had nothing to read and paid the full cargo-install + `npm install -g openclaw` cost from scratch.

`test.yml` already includes `release/` + `hotfix/` in its push trigger — that's why its caches work for rc PRs. This PR brings `desktop-e2e.yml` in line.

Trade-off

Adding `release/` + `hotfix/` to push means Desktop Smoke runs once after every merge to a release branch. Cost is ~5 min per merge (now that caches work). Benefit is every subsequent rc PR hits cache and finishes Windows smoke in ~5 min instead of 13–15. Net win across rc.2 stabilization.

Test plan

  • Merge this PR. Next push to `release/0.3.0` (this merge itself) triggers Desktop Smoke, populates the cache scope.
  • Open a trivial follow-up PR targeting `release/0.3.0`. Windows smoke should drop to ~5m with cache hits on all three artifacts (openclaw CLI, tauri-driver, msedgedriver-tool).

Target branch

`release/0.3.0` — pure CI config, one-line change to the push branches list.

🤖 Generated with Claude Code

PR #84's caching worked on its own feature branch but did not carry over
to release/0.3.0 because desktop-e2e.yml had no push trigger for release
branches — so the merge to release/0.3.0 never ran the workflow and the
cache scope for release/** stayed empty. Every rc PR against release then
missed the openclaw + tauri-driver + msedgedriver caches (PR #81's Windows
smoke took 15m for exactly this reason; cache log shows
"Cache not found for input keys: openclaw-cli-Windows-2026.4.11").

Add release/** and hotfix/** to the push triggers so each merge populates
the base-branch cache scope. Subsequent PRs into those release/hotfix
branches can then read those caches and skip the slow installs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@webup webup merged commit cb31d17 into release/0.3.0 Apr 23, 2026
13 checks passed
@webup webup deleted the ci/populate-desktop-smoke-cache-on-release-push branch April 23, 2026 11:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant