Skip to content

fix(ci): pass the required toolchain input in the nightly relock Rust setup - #1460

Merged
ErikBjare merged 1 commit into
ActivityWatch:masterfrom
TimeToBuildBob:ci/fix-nightly-relock-toolchain
Sep 19, 2026
Merged

ErikBjare merged 1 commit into
ActivityWatch:masterfrom
TimeToBuildBob:ci/fix-nightly-relock-toolchain

Conversation

@TimeToBuildBob

Copy link
Copy Markdown
Contributor

Problem

The nightly Release run on master fails in Build Tauri artifacts [latest submodules] at the Set up Rust for the nightly relock step:

'toolchain' is a required input
##[error]Process completed with exit code 1.

dtolnay/rust-toolchain requires a toolchain input, and the step added in #1448 omits it. The step is gated on needs.nightly-submodules.outputs.latest == 'true', so it is skipped on normal pushes and only fires on the nightly cron — which means it fails every nightly run and takes the whole Tauri build job (all matrix legs) with it.

Failing run: https://github.com/ActivityWatch/activitywatch/actions/runs/35418145377

The comment above the step says "the toolchain action is idempotent", which reads as the intent: the author wanted cargo available early without a redundant install. Re-installing an already-present toolchain is a no-op, but the input still has to be passed.

Fix

Pass toolchain: stable, matching the other Set up Rust steps in the same workflow. One-line change plus comment correction.

Verification

Parsed the workflow and checked every dtolnay/rust-toolchain usage in release.yml has a non-empty toolchain input:

build-qt                  Set up Rust                   toolchain=stable
build-qt-manylinux-2-28   Set up Rust                   toolchain=stable
build-tauri               Set up Rust for the nightly relock  toolchain=stable
build-tauri               Set up Rust                   toolchain=stable
total 4  missing []

yaml.safe_load parses clean. The real proof is the next nightly run reaching the relock step.

… setup

The 'Set up Rust for the nightly relock' step used dtolnay/rust-toolchain
without its required 'toolchain' input, so every nightly run failed at that
step with "'toolchain' is a required input" and the whole Build Tauri
artifacts job was skipped. Install stable there like the other Rust steps do;
re-installing an already-present toolchain is a no-op.

Git-Session-Id: 53fa68e9-eeea-5397-82f3-b0d9dc10bd6a
@TimeToBuildBob

Copy link
Copy Markdown
Contributor Author

Source-level confirmation of the root cause — from the pinned action commit 3c5f7ea:

inputs:
  toolchain:
    description: Rust toolchain specification ...
    required: true
...
        if [[ -z $toolchain ]]; then
          # GitHub does not enforce `required: true` inputs itself. https://github.com/actions/runner/issues/1070
          echo "'toolchain' is a required input" >&2
          exit 1

required: true is not enforced by the runner, so the workflow file parses and the failure only surfaces at runtime — which is why it slipped through in #1448 and only shows up on the nightly.

@greptile-apps

greptile-apps Bot commented Sep 19, 2026

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 5/5

The PR appears safe to merge and directly fixes the nightly workflow failure without changing the release toolchain.

Summary

This PR repairs the nightly Tauri relock path by supplying the required Rust toolchain input.

  • Adds toolchain: stable to the conditional Rust setup step.
  • Keeps the relock and subsequent Tauri build on the same toolchain channel.
  • Clarifies why Rust must be installed before the nightly lock refresh.

Reviews (1) · Last reviewed commit: "fix(ci): pass the required toolchain inp..."

@TimeToBuildBob

TimeToBuildBob commented Sep 19, 2026

Copy link
Copy Markdown
Contributor Author

🤖 AI code review

Adds a with: toolchain: stable block to the 'Set up Rust for the nightly relock' step in the build-tauri job, which previously invoked dtolnay/rust-toolchain without the required toolchain input. Also replaces the step's comment to explain that the input is required and that re-installing an already-present toolchain is a no-op.

Safe to merge — no P0/P1 findings

Confidence 5/5

⚠️ 1 of 1 changed files were not fully read. Claims that an identifier is never assigned, used, or called are discarded unless verification names only fully preloaded files. This coverage describes the bounded context preload; the diff was reviewed.

No thread-worthy findings. Advisory notes follow; they are retained without opening review threads.

1 advisory finding (summary-only, not scored)

These P2 guard, heuristic, trade-off, or documentation claims are retained for judgment without opening review threads.

⚠️ P2 medium.github/workflows/release.yml

This is a fix(...) PR but no test files are included in the diff. Erik's feedback: 'where is the repro & fixes they are supposed to catch' (gptme#3441), 'that measurement should come with a regression test' (gptme#3446). Add a test that would have caught this bug. (Advisory: Erik merged all such PRs but consistently requested tests.)

Add a test file that reproduces the bug before the fix and passes after it.

How this was verified: static preflight: fix-commit + touched-files scan (rule 7)

Files changed (1) — the diff as I read it
  • .github/workflows/release.yml — Adds toolchain: stable to the nightly relock Rust setup step and rewrites its comment.

Reviewed 38c0f8d46712 · openrouter/deepseek/deepseek-v4-flash-0731 · llm engine · 69s · about this reviewer

Maintainer commands

@TimeToBuildBob review (own line) — fresh review · @TimeToBuildBob fix — a worker acts on the findings. Once per comment; 👀 = received.

@ErikBjare
ErikBjare merged commit 7b2dc73 into ActivityWatch:master Sep 19, 2026
23 checks passed
@TimeToBuildBob

Copy link
Copy Markdown
Contributor Author

Verified after merge: the scheduled Release run 35486255728 completed successfully, and Set up Rust for the nightly relock plus the relock step passed on all five Tauri matrix jobs. The original nightly failure is resolved.

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.

2 participants