Release 0.20.0 #73
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Windows Rust Check | |
| # Manual only -- not on every PR/push, to keep the self-hosted runner's load | |
| # and cost unchanged from today. Companion to macos-check.yml: ci.yml (which | |
| # does run on every PR) is 100% ubuntu-latest, so nothing behind | |
| # #[cfg(windows)] -- or, as it turned out, code that lost a #[cfg(unix)] gate | |
| # and started compiling on Windows by accident -- has ever had a real | |
| # compiler pass before merging. That exact gap shipped a broken Windows | |
| # build in v0.11.1's first release attempt. | |
| on: | |
| workflow_dispatch: | |
| # Also on PRs that actually touch the Rust, so a desktop-shell change cannot | |
| # merge without a real compiler pass on this platform. Scoped by path so the | |
| # self-hosted runner's load is unchanged for the majority of PRs, which do not | |
| # go near src-tauri. (#421 added ~600 lines of mostly cfg-gated Rust and every | |
| # CI check passed without compiling any of it.) | |
| pull_request: | |
| paths: | |
| - "desktop/src-tauri/**" | |
| - ".github/workflows/windows-check.yml" | |
| permissions: {} | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| check: | |
| # Never run a fork's code on the self-hosted runner -- see the same guard in | |
| # macos-check.yml. cargo build/clippy/test execute whatever the PR supplies | |
| # (build.rs, proc-macro crates, a swapped Cargo.toml dependency, the test | |
| # bodies), nothing here cleans the workspace, and this runner also builds | |
| # the Windows release. Fork PRs get a maintainer-triggered | |
| # workflow_dispatch run instead. | |
| if: >- | |
| github.event_name != 'pull_request' || | |
| github.event.pull_request.head.repo.full_name == github.repository | |
| # Runner must have rustup and the MSVC toolchain (same requirements as | |
| # windows-release.yml, which this intentionally does not replace -- this | |
| # only builds/checks, never packages or uploads anything). | |
| runs-on: [self-hosted, windows, x64] | |
| timeout-minutes: 30 | |
| defaults: | |
| run: | |
| # bash on this self-hosted runner mangles the auto-generated temp | |
| # script's Windows-style path (backslashes stripped -- "No such file | |
| # or directory" on a path that plainly exists), the way | |
| # windows-release.yml's own steps already discovered. powershell is | |
| # the proven shell for this runner. | |
| shell: powershell | |
| working-directory: desktop/src-tauri | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - name: cargo fmt --check | |
| run: cargo fmt --check | |
| - name: cargo build | |
| run: cargo build --tests | |
| - name: cargo clippy | |
| # -A flags suppress pre-existing lints unrelated to this workflow's | |
| # purpose (tracked separately, not introduced by whatever change this | |
| # check is run against) so a real regression isn't lost in known noise. | |
| # unused_variables (pip_pid) and needless_return are Windows-build-only | |
| # findings from this workflow's first-ever run -- nothing has | |
| # type-checked this target before, so they predate this workflow | |
| # rather than being caused by it. | |
| run: > | |
| cargo clippy --tests -- -D warnings | |
| -A clippy::derivable_impls | |
| -A clippy::single_match | |
| -A clippy::trim_split_whitespace | |
| -A unused_variables | |
| -A clippy::needless_return | |
| - name: cargo test | |
| run: cargo test |