diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index 636e472..160f6e2 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -46,4 +46,4 @@ body: id: evidence attributes: label: Evidence - description: Logs, stack traces, screenshots, PostHog links, request ids. Paste freely, because an agent will read it. + description: Logs, stack traces, screenshots, analytics or tracing links, request ids. Paste freely, because an agent will read it. diff --git a/.github/workflows/deps-verify.yml b/.github/workflows/deps-verify.yml index e9fe442..766e700 100644 --- a/.github/workflows/deps-verify.yml +++ b/.github/workflows/deps-verify.yml @@ -41,6 +41,8 @@ on: node-version: { type: string, default: "24" } bun-version: { type: string, default: "latest" } flutter-version: { type: string, default: "" } + # Ignored: setup-stack pins the rust channel in the action ref. Declared + # so a caller already passing it does not break. rust-toolchain: { type: string, default: "stable" } secrets: CLAUDE_CODE_OAUTH_TOKEN: { required: true } diff --git a/.github/workflows/pr-checks.yml b/.github/workflows/pr-checks.yml index 1b4c07c..ac5c3fc 100644 --- a/.github/workflows/pr-checks.yml +++ b/.github/workflows/pr-checks.yml @@ -63,6 +63,8 @@ on: node-version: { type: string, default: "24" } bun-version: { type: string, default: "latest" } flutter-version: { type: string, default: "" } + # Ignored: setup-stack pins the rust channel in the action ref. Declared + # so a caller already passing it does not break. rust-toolchain: { type: string, default: "stable" } secrets: GH_APP_CLIENT_ID: { required: false } diff --git a/actions/setup-stack/action.yml b/actions/setup-stack/action.yml index 807e5d3..1b80930 100644 --- a/actions/setup-stack/action.yml +++ b/actions/setup-stack/action.yml @@ -44,7 +44,10 @@ inputs: description: 'For stack=flutter' default: 'stable' rust-toolchain: - description: 'For stack=rust' + # NO LONGER READ. The rust step pins the channel in the action ref, which + # takes no toolchain input. Declared rather than removed, because removing + # an input breaks every caller already pinned at @v1. + description: 'Ignored. The rust toolchain is pinned to stable in the action ref.' default: 'stable' rust-components: description: 'For stack=rust, e.g. "clippy, rustfmt"' @@ -220,13 +223,15 @@ runs: channel: ${{ inputs.flutter-channel }} cache: ${{ steps.resolve.outputs.cache_enabled == 'true' }} - # Pinned to @master with an explicit `toolchain`, which is how this action - # is meant to be parameterised. The `@stable` form the README leads with - # hardcodes the channel in the ref and cannot be overridden by an input. + # `@stable` rather than `@master`, so the one floating ref in this repo names + # a channel instead of a moving branch of the action. This action publishes a + # branch per channel and the channel IS the ref, so `@stable` accepts no + # `toolchain` input and `rust-toolchain` below is inert: every repo gets + # stable. A repo needing a pinned version or nightly changes this step back + # to `@master` with an explicit `toolchain`, here, rather than forking. - if: inputs.stack == 'rust' - uses: dtolnay/rust-toolchain@master + uses: dtolnay/rust-toolchain@stable with: - toolchain: ${{ inputs.rust-toolchain }} components: ${{ inputs.rust-components }} - if: inputs.stack == 'rust' && steps.resolve.outputs.cache_enabled == 'true'