Skip to content

fix: unbreak main CI after the rust 1.98 toolchain bump - #100

Merged
henry40408 merged 2 commits into
mainfrom
fix/unbreak-main-ci
Aug 28, 2026
Merged

henry40408 merged 2 commits into
mainfrom
fix/unbreak-main-ci

Conversation

@henry40408

@henry40408 henry40408 commented Aug 28, 2026

Copy link
Copy Markdown
Owner

Both jobs on main went red after #95 merged. This fixes each one.

image (Docker) — regression from #95

rustc 1.98 emits -Wl,--fix-cortex-a53-843419 for aarch64 targets (rust-lang/rust#155453). zig's linker rejects it, so the arm64 leg fails outright:

error: linking with `.../zigcc-aarch64-unknown-linux-musl-5d3b.sh` failed: exit status: 1
  = note: error: unsupported linker arg: --fix-cortex-a53-843419
error: could not compile `lur` (bin "lur") due to 1 previous error

cargo-zigbuild 0.23.0 filters that argument out before invoking zig (src/zig.rs, citing the same rustc PR). It is the oldest release with the fix and was published 2026-06-18, so it clears the 7-day publish cooldown — 0.23.2 and 0.23.3 do not. 0.23.0 still branches on the zig version for 0.14, so ZIG_VERSION stays pinned.

deny — unrelated, time-triggered

chacha20 0.10.0 and 0.10.1 were yanked upstream after #95's checks ran, which is why that PR was green and main is not. It is reached only transitively via rand -> sqlx-postgres, and a yank is not a security advisory.

The unyanked 0.10.2 was published 2026-08-27 and is still inside the 7-day cooldown, so this adds a temporary [advisories] ignore entry instead. #101 tracks pulling in 0.10.2 and dropping the exception from 2026-09-03.

Verification

deny passes on this PR, which confirms the ignore entry is accepted by the cargo-deny version CI actually installs (0.20.2).

The Docker fix is not covered by this PR's checks — docker.yml triggers on push to main and on release, not on pull_request. It was instead verified by building both images locally from this branch (docker buildx build --platform linux/arm64 and linux/amd64), reproducing the same cross-compile path the workflow uses:

Finished `release` profile [optimized] target(s) in 47.37s
+ install -Dm755 target/aarch64-unknown-linux-musl/release/lur /out/lur

Finished `release` profile [optimized] target(s) in 41.96s
+ install -Dm755 target/x86_64-unknown-linux-musl/release/lur /out/lur

No test accompanies this change: a Docker build-arg pin and a cargo-deny config exception are not reachable by cargo nextest — they are covered by the image and deny CI jobs respectively.

🤖 Generated with Claude Code

rustc 1.98 emits -Wl,--fix-cortex-a53-843419 for aarch64 targets
(rust-lang/rust#155453). zig's linker rejects the flag, so every arm64
image build has failed since the toolchain bump in #95. cargo-zigbuild
0.23.0 filters the argument out before invoking zig.

0.23.0 keeps the version-branching support for zig 0.14, so ZIG_VERSION
stays pinned where it is.
chacha20 0.10.0 and 0.10.1 were yanked upstream after #95 was checked,
turning the deny job red on main. The unyanked 0.10.2 was published
2026-08-27 and is still inside the 7-day publish cooldown, so pull it in
from 2026-09-03 and drop this exception then.
@codecov

codecov Bot commented Aug 28, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91.20%. Comparing base (56750a3) to head (396b388).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #100   +/-   ##
=======================================
  Coverage   91.20%   91.20%           
=======================================
  Files          31       31           
  Lines        4468     4468           
=======================================
  Hits         4075     4075           
  Misses        393      393           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@henry40408
henry40408 merged commit 83f90ed into main Aug 28, 2026
7 checks passed
@henry40408
henry40408 deleted the fix/unbreak-main-ci branch August 28, 2026 16:32
henry40408 added a commit that referenced this pull request Sep 3, 2026
* chore(deps): pull in chacha20 0.10.2 and drop the deny.toml exception

chacha20 0.10.0 and 0.10.1 were yanked upstream; #100 parked a temporary
`[advisories] ignore` entry because the unyanked 0.10.2 (published
2026-08-27) was still inside the 7-day publish cooldown. That cooldown has
cleared, so take the real fix and remove the exception.

- `cargo update -p chacha20` (0.10.0 -> 0.10.2)
- Drop the `chacha20@0.10.0` ignore entry and revert the `ignore` doc
  comment now that the list is empty again

Closes #101

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix(deps): update event-listener to 5.4.2 for RUSTSEC-2026-0221

RUSTSEC-2026-0221 landed after #101 was filed and turns the deny job red
independently of the chacha20 yank: event-listener <=5.4.1 unconditionally
implements `Send`/`Sync` for `StackSlot<'_, T>`, letting a `!Send` tag set
via `Event::with_tag` cross a thread boundary. We reach it only
transitively through sqlx-core and never call `Event::with_tag`, but the
advisory is a hard `cargo deny` failure either way.

5.4.2 was published 2026-07-27, well clear of the 7-day cooldown. It also
drops the concurrent-queue dependency.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.

1 participant