Skip to content

v0.8.64: Restore Nightly cross-target builds and auto-tag idempotency #3369

Description

@Hmbown

Problem

Older main CI/CD runs for the v0.8.64 train show release-readiness failures in Nightly cross-target builds and the auto-tag workflow.

Evidence

Nightly run: https://github.com/Hmbown/CodeWhale/actions/runs/27895267897

Failed jobs from the pasted release audit:

  • Build codewhale-linux-riscv64
  • Build codewhale-tui-linux-riscv64
  • Build codewhale-macos-x64
  • Build codewhale-tui-macos-x64

Focused log inspection showed the same root cause for macOS x64 and RISC-V jobs: the workflow installed Rust stable targets, but the repository is pinned by rust-toolchain.toml to Rust 1.88, so cargo build --target ... ran under 1.88 and failed with error[E0463]: can't find crate for core.

Auto-tag run: https://github.com/Hmbown/CodeWhale/actions/runs/27895267892

The failed main workflow checked that v0.8.63 did not exist, then git push origin v0.8.63 was rejected because the remote tag already existed. The current integration branch already has an idempotent refresh/recheck around tag creation and push.

Current local integration status

Prepared locally on codex/v0.8.64-integration:

  • b331eab2a fix(ci): install pinned Rust targets in release workflows
    • Nightly now uses dtolnay/rust-toolchain@master with toolchain: '1.88'.
    • Nightly and release target installation now call rustup target add --toolchain 1.88 ....
  • Current .github/workflows/auto-tag.yml has a second tag refresh/recheck before create/push and treats a tag that appears during push as already handled.

Verification

Local/static verification completed:

  • Inspected failed Nightly job logs for x86_64-apple-darwin and riscv64gc-unknown-linux-gnu; both showed stable target install plus active 1.88 override before E0463.
  • ruby -e 'require "yaml"; ARGV.each { |f| YAML.load_file(f); puts "ok #{f}" }' .github/workflows/nightly.yml .github/workflows/release.yml .github/workflows/auto-tag.yml passed.
  • git diff --check passed.

actionlint is not installed in this local environment, so final validation still needs a pushed-branch GitHub Actions run.

Acceptance criteria

  • The v0.8.64 release/integration branch is pushed with the workflow fixes.
  • Nightly cross-target jobs for macOS x64 and RISC-V install Rust stdlibs for the repo-pinned toolchain and pass or fail on a later, real build issue.
  • Auto-tag is idempotent when the tag appears between the initial check and push.
  • The CI result links are recorded on the release tracker before 0.8.64 is cut.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingreliabilityReliability, flaky behavior, retries, fallbacks, and robustnessv0.8.71Targeting v0.8.71

    Projects

    Status
    Backlog

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions