Skip to content

ci: run Bazel Native nightly and on merge, not on every PR - #2880

Merged
MarcusSorealheis merged 4 commits into
TraceMachina:mainfrom
b7r6:ci/native-bazel-nightly
Oct 20, 2026
Merged

MarcusSorealheis merged 4 commits into
TraceMachina:mainfrom
b7r6:ci/native-bazel-nightly

Conversation

@b7r6

@b7r6 b7r6 commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

What and why

Bazel Native builds and tests with the non-Nix Bazel toolchain on every pull request: Bazel 9.1.1, plus an 8.7.0 leg that checks lockfile compatibility. Nix's Bazel Dev lane already runs the same bazel test //... on every PR. This moves Bazel Native to a nightly run plus every merge to main, with workflow_dispatch for on-demand runs. Its runs on main today took 7 to 11 minutes.

How was this verified?

The workflow parses. The job matrix and every step are unchanged: the pull_request trigger is removed, push: main stays, and schedule and workflow_dispatch are added. It is not a required status check, so dropping the PR trigger doesn't block merges.

Our fork's main has run this schedule since 2026-10-14, and today's scheduled Bazel Native run there passed.

Risk

This is the most debatable change in the CI-deferral set. A break in the non-Nix Bazel build, or in the 8.7.0 lockfile check, would be caught on merge or overnight instead of on the PR. People who build without Nix would see that breakage after merge.

Bazel Dev still builds and tests everything on each PR, and push: main keeps a check at merge time. No source, config or wire-format changes. If you'd rather keep non-Nix Bazel on PRs, this is the one to drop.

AI assistance

Claude drafted this change and description under my direction.

@vercel

vercel Bot commented Oct 3, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
nativelink Ready Ready Preview Oct 19, 2026 11:47pm UTC
nativelink-aidm Ready Ready Preview Oct 19, 2026 11:47pm UTC

Request Review

@b7r6
b7r6 force-pushed the ci/native-bazel-nightly branch from b97038a to 9ef2426 Compare October 3, 2026 21:33
@b7r6
b7r6 force-pushed the ci/native-bazel-nightly branch from 9ef2426 to b97038a Compare October 3, 2026 21:37
b7r6 pushed a commit to b7r6/nativelink that referenced this pull request Oct 4, 2026
Combines TraceMachina#2877 + TraceMachina#2878 + TraceMachina#2880 on one branch so a single CI run shows the
true end-state per-PR wall clock. Not for merge: the individual PRs are the
review units; this exists to measure their net effect.
b7r6 pushed a commit to b7r6/nativelink that referenced this pull request Oct 4, 2026
Combines TraceMachina#2877 + TraceMachina#2878 + TraceMachina#2880 on one branch so a single CI run shows the
true end-state per-PR wall clock. Not for merge: the individual PRs are the
review units; this exists to measure their net effect.
b7r6 added a commit to b7r6/nativelink that referenced this pull request Oct 7, 2026
…achina#2880) on fork main

Mirrors the intended upstream per-PR layout ahead of land: Bazel Native and
Cargo Native (incl. Windows) move to nightly + merge-to-main; per-PR build/test
signal is carried by the Nix Bazel Dev lane. Keeps the fork representative of
where upstream CI is going, not where main happens to sit today. TraceMachina#2897 retry
logic preserved in native-bazel.yaml.
b7r6 added a commit to b7r6/nativelink that referenced this pull request Oct 7, 2026
Completes the no-per-PR-OCI-builds intent: image-off-pr moved image.yaml off
PRs and TraceMachina#2877 moved the nix integration job off PRs, but main.yaml's
integration-tests (docker-compose image build + run_integration_tests.sh)
fell between them and still ran on every PR. Defer to nightly + merge-to-main,
matching TraceMachina#2880's pattern. Fork-local until folded into the upstream OCI/nightly
set.
b7r6 added a commit to b7r6/nativelink that referenced this pull request Oct 14, 2026
…achina#2880) on fork main

Mirrors the intended upstream per-PR layout ahead of land: Bazel Native and
Cargo Native (incl. Windows) move to nightly + merge-to-main; per-PR build/test
signal is carried by the Nix Bazel Dev lane. Keeps the fork representative of
where upstream CI is going, not where main happens to sit today. TraceMachina#2897 retry
logic preserved in native-bazel.yaml.
b7r6 added a commit to b7r6/nativelink that referenced this pull request Oct 14, 2026
Completes the no-per-PR-OCI-builds intent: image-off-pr moved image.yaml off
PRs and TraceMachina#2877 moved the nix integration job off PRs, but main.yaml's
integration-tests (docker-compose image build + run_integration_tests.sh)
fell between them and still ran on every PR. Defer to nightly + merge-to-main,
matching TraceMachina#2880's pattern. Fork-local until folded into the upstream OCI/nightly
set.
@b7r6
b7r6 force-pushed the ci/native-bazel-nightly branch from b97038a to fe3f097 Compare October 14, 2026 17:40
The non-Nix Bazel Native lane (Bazel 9.1.1 + 8.7.0) duplicates the per-PR
build/test signal from the Nix Bazel Dev lane. Drop its pull_request
trigger (keep push:main, add schedule + workflow_dispatch) to take ~12 min
off every PR; non-Nix build breakage is caught nightly and on merge.

@MarcusSorealheis MarcusSorealheis left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@MarcusSorealheis
MarcusSorealheis merged commit 616c315 into TraceMachina:main Oct 20, 2026
29 checks passed

This branch was successfully deployed

2 active deployments
Preview – nativelink — 6a5bd89d Deployed Oct 19, 2026 by vercel[bot]
Preview – nativelink-aidm — 6a5bd89d Deployed Oct 19, 2026 by vercel[bot]
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.

2 participants