ci: add dev prerelease flow and release runbook#2
ci: add dev prerelease flow and release runbook#2Noisemaker111 wants to merge 2 commits intoWindows-Supportfrom
Conversation
|
|
||
| - name: Install Rust toolchain | ||
| uses: dtolnay/rust-action@stable | ||
| uses: dtolnay/rust-toolchain@v1 |
There was a problem hiding this comment.
🔴 dtolnay/rust-toolchain@v1 is an invalid action ref — no v1 branch/tag exists
All three workflow files (ci.yml, publish.yml, release-dev.yml) changed the Rust toolchain action reference from @stable to @v1. The dtolnay/rust-toolchain action is unique: it uses the git ref (the part after @) as the Rust toolchain channel to install. @stable installs the stable toolchain, @nightly installs nightly, etc. There is no v1 branch or tag in the dtolnay/rust-toolchain repository.
Root Cause and Impact
The dtolnay/rust-toolchain action reads github.action_ref to determine which Rust toolchain to install. When you write uses: dtolnay/rust-toolchain@stable, GitHub resolves the stable branch, and the action installs the stable Rust toolchain. Writing @v1 causes GitHub Actions to attempt to resolve a ref called v1, which does not exist in that repository.
Affected files:
ci.yml:28—uses: dtolnay/rust-toolchain@v1(notoolchaininput, norust-toolchain.tomlfallback)publish.yml:37—uses: dtolnay/rust-toolchain@v1release-dev.yml:94—uses: dtolnay/rust-toolchain@v1
Impact: Every workflow that needs Rust will fail at the "Install Rust toolchain" step because the action ref cannot be resolved. This breaks CI, stable publishing, and dev prerelease publishing.
Prompt for agents
Change all occurrences of dtolnay/rust-toolchain@v1 back to dtolnay/rust-toolchain@stable across all three workflow files:
1. .github/workflows/ci.yml line 28: change `uses: dtolnay/rust-toolchain@v1` to `uses: dtolnay/rust-toolchain@stable`
2. .github/workflows/publish.yml line 37: change `uses: dtolnay/rust-toolchain@v1` to `uses: dtolnay/rust-toolchain@stable`
3. .github/workflows/release-dev.yml line 94: change `uses: dtolnay/rust-toolchain@v1` to `uses: dtolnay/rust-toolchain@stable`
The dtolnay/rust-toolchain action uses the git ref as the toolchain specifier. @stable means install stable Rust. There is no v1 tag/branch in that repository.
Was this helpful? React with 👍 or 👎 to provide feedback.
| os: [ubuntu-latest, windows-latest] | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - uses: actions/checkout@v6 |
There was a problem hiding this comment.
🔴 actions/checkout@v6 references a non-existent major version
All workflow files were changed from actions/checkout@v4 to actions/checkout@v6. As of February 2026, the latest major version of actions/checkout is v4. There is no v6 tag.
Root Cause and Impact
The actions/checkout action uses semantic versioning with major version tags (v1, v2, v3, v4). The PR bumped all references to @v6 which does not exist. This affects:
.github/workflows/ci.yml:21.github/workflows/publish.yml:33.github/workflows/release-dev.yml:24.github/workflows/release-dev.yml:86
Impact: Every workflow job will fail at the checkout step because GitHub Actions cannot resolve the v6 tag. No CI checks, no publishing, and no dev releases will work.
Prompt for agents
Change all occurrences of actions/checkout@v6 back to actions/checkout@v4 across all workflow files:
1. .github/workflows/ci.yml line 21: change to actions/checkout@v4
2. .github/workflows/publish.yml line 33: change to actions/checkout@v4
3. .github/workflows/release-dev.yml line 24: change to actions/checkout@v4
4. .github/workflows/release-dev.yml line 86: change to actions/checkout@v4
As of February 2026, actions/checkout v4 is the latest major version. v6 does not exist.
Was this helpful? React with 👍 or 👎 to provide feedback.
| - name: Type-check and build | ||
| run: bun run build | ||
|
|
||
| - name: Run tests | ||
| run: bun run test |
There was a problem hiding this comment.
🟡 Dev prerelease workflow missing bundle:plugins step in prepare job causes validation without bundled plugins
The release-dev.yml prepare job runs bun run build and bun run test but does not run bun run bundle:plugins before the build step. The publish job does run bundle:plugins, but the prepare job's build/test may depend on bundled plugins being present.
Detailed Explanation
Looking at src-tauri/tauri.conf.json:7-9, the beforeBuildCommand is bun run bundle:plugins && bun run build. However, the prepare job at release-dev.yml:32-33 runs bun run build directly (which is the Vite/TypeScript build, not the Tauri build), so this may not be an issue for the frontend build alone. The prepare job is primarily for validation (type-check, test, version alignment) and metadata computation, while the actual Tauri build happens in the publish job which does include bundle:plugins. This is a minor inconsistency rather than a blocking bug — the tests may pass without bundled plugins if they don't depend on them at runtime.
Impact: Low — the prepare job validates frontend code and version alignment, not the full Tauri build. But if any test depends on bundled plugin files existing, it would fail.
Was this helpful? React with 👍 or 👎 to provide feedback.
Summary
Release Devworkflow that publishes prerelease macOS + Windows artifacts fromdevmainanddevpushes/PRs, and update action versions for checkout + rust toolchainrelease:versionscript plusdocs/release-flow.mdto keep versioning and branch promotion (dev->main) predictablesrc-tauri/tauri.conf.jsonto this fork, and configure matching signing secrets in repo settingsValidation
bun run test:coveragecurrently fails in branch baseline onsrc/App.test.tsxdue missing mock exportDEFAULT_RESET_TIMER_DISPLAY_MODEbun run buildcurrently reports branch-baseline TypeScript module-resolution issues