Skip to content

ci: canonicalize and merge-gate pixi lockfiles - #2841

Open
rwgk wants to merge 4 commits into
NVIDIA:mainfrom
rwgk:ci/pixi-lockfile-canonicalization-gate
Open

ci: canonicalize and merge-gate pixi lockfiles#2841
rwgk wants to merge 4 commits into
NVIDIA:mainfrom
rwgk:ci/pixi-lockfile-canonicalization-gate

Conversation

@rwgk

@rwgk rwgk commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

Description

Related to #2804. Follow-up to #2780.

Operational testing found that Pixi 0.73.0 has two command paths that disagree
about the byte-canonical representation of the same resolved lockfile:
pixi update --no-install writes one form, while pixi lock --check exits
successfully but rewrites it to another. This made an automatically generated
refresh PR fail the freshness check intended to validate it. The complete
reproduction and evidence are in this issue comment.

This PR keeps Pixi pinned at 0.73.0 and:

  • canonicalizes each automated refresh with pixi lock --check, then verifies
    that a second check leaves the lockfile byte-identical;
  • makes freshness failures directly actionable by linking to the
    manual refresh workflow;
  • exposes one stable Pixi lockfile freshness gate while retaining the
    per-workspace diagnostic jobs;
  • provides the maintainer-applied ci-pixi-lockfile-override label as an
    explicit emergency escape hatch; and
  • canonicalizes the current benchmarks/cuda_core/pixi.lock baseline without
    changing resolved package versions.

The aggregate gate runs on every pull request, so making it required cannot
leave path-unrelated PRs waiting for a check that was filtered out. An override
changes only the aggregate decision: failed workspace diagnostics remain
visible. Override approval is tied to the current PR head; opening, reopening,
or pushing a new head removes or invalidates the label.

After this merges, repository configuration will require
Pixi lockfile freshness gate for pull requests targeting main. This will use
a separate main-only ruleset so maintenance branches that do not contain the
workflow are unaffected.

Review focus

  • The workaround deliberately preserves the Pixi 0.73.0 pin and proves that
    refresh output reaches a byte-stable fixed point.
  • The required status has one stable name; matrix job names remain diagnostic
    only.
  • The override is explicit and visible, cannot mask discovery or cancelled
    jobs, and is invalidated for a new PR head.

Validation

  • Official Pixi 0.73.0 canonicalized the current benchmark lock to Git blob
    6aea1414...; a second check was byte-identical and no resolved package
    versions changed.
  • pixi lock --check with Pixi 0.73.0 passed for all six workspaces with no
    lockfile byte diff.
  • pre-commit run --all-files passed, including actionlint, YAML validation,
    link checking, typing, and secret scanning.
  • Current head 0ab2584 completed with 134 passing checks, five intentional
    skips, and no pending or failed checks. The
    Pixi freshness run
    passed discovery, all six workspace diagnostics, and the stable gate; the
    full CI run
    passed its complete cross-platform matrix.
  • The base-controlled override-reset workflow cannot receive its first live
    pull_request_target event until it is present on the default branch; its
    event scope, permissions, shell logic, and YAML were validated locally.

Checklist

  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

Signed-off-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
Signed-off-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
Signed-off-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
Signed-off-by: Ralf W. Grosse-Kunstleve <rgrossekunst@nvidia.com>
@rwgk rwgk added this to the cuda.core 1.3.0 milestone Sep 12, 2026
@rwgk rwgk added the CI/CD CI/CD infrastructure label Sep 12, 2026
@rwgk rwgk self-assigned this Sep 12, 2026
@copy-pr-bot

copy-pr-bot Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@rwgk

rwgk commented Sep 12, 2026

Copy link
Copy Markdown
Contributor Author

/ok to test 0ab2584

@github-actions

Copy link
Copy Markdown
Contributor

@rwgk
rwgk marked this pull request as ready for review September 12, 2026 06:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI/CD CI/CD infrastructure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant