Skip to content

ci: lint (required) has been red on main since 83a6767ff — cargo fmt --check fails, and it skips every later lint step #6956

Closed

Description

@proggeramlug

lint is a required check and it has been failing on main since 83a6767ff ("GC memory: shape-key typed layouts (#6893) + major-GC pacing; don't link CoreFoundation in every binary (#6939)"). The failing step is Check formatting (cargo fmt --all -- --check); every step after it in the job is skipped, so Audit workspace architecture, Public benchmark evidence freshness, File size limit, GC store-site inventory and Address-classification audit are not running at all right now.

Because it is a required context, this reds every open PR regardless of that PR's contents. Noticed on #6954, whose diff contains zero .rs files.

Repro

$ git checkout main && git log --oneline -1
83a6767ff GC memory: shape-key typed layouts (#6893) + major-GC pacing; …
$ cargo fmt --all -- --check

Two hunks, both in files last touched by 83a6767ff:

Diff in crates/perry-runtime/src/gc/mod.rs:135:
-        let outcome = gc_collect_full_mark_sweep_with_trigger(GcTriggerSnapshot::capture(trigger.kind));
+        let outcome =
+            gc_collect_full_mark_sweep_with_trigger(GcTriggerSnapshot::capture(trigger.kind));

Diff in crates/perry-runtime/src/temporal/now.rs:9:
 use super::{alloc_temporal_cell, TemporalValue};
 use temporal_rs::host::{HostClock, HostHooks, HostTimeZone};
+use temporal_rs::now::Now;
 use temporal_rs::provider::TimeZoneProvider;
 use temporal_rs::unix_time::EpochNanoseconds;
-use temporal_rs::now::Now;

Fix is cargo fmt --all on main. Filing rather than folding it into an unrelated PR, since the fix belongs on main — patching it in one branch would unblock only that branch while every other PR stays red.

Worth a look at how it landed green: 83a6767ff is on main, so either the check was bypassed or it was already red when that PR merged.

Activity

  1. proggeramlug commented on Jul 29, 2026

    @proggeramlug
    ContributorAuthor

    Fix is already up: #6955 — style: restore rustfmt formatting on main, formatting-only, exactly the two hunks named here (gc/mod.rs:135, temporal/now.rs:9 +2 more sites in that file). It needs no build, so it can land immediately.

    Amplifying the second consequence noted above, because it is the bigger one: Check formatting is the first step of the lint job, so every later step in that job has been skipped repo-wide — Audit workspace architecture, Public benchmark evidence freshness, File size limit, GC store-site inventory, Address-classification audit. Those gates have not run on any PR since the drift landed. Merging #6955 will unmask them, so expect some of them to go red immediately afterwards — that is the gates resuming, not new breakage. (A #6948 agent already ran the file-size gate locally: it exits 1 on five files, none in its diff — object/mod.rs was pushed over the cap by #6939.)

  2. proggeramlug commented on Jul 30, 2026

    @proggeramlug
    ContributorAuthor

    Resolved on main by #7042 (4af0e0f8f). I also re-ran cargo fmt --all -- --check at current origin/main (c5ab36b86) and it passes, so the formatting failure described here no longer prevents the later lint steps from running.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions