Skip to content

CI: Resolve the held upstream batch and batch compiler/runtime updates - #18

Merged
AntonOresten merged 6 commits into
masterfrom
ci/sync-bounded-batches
Sep 19, 2026
Merged

AntonOresten merged 6 commits into
masterfrom
ci/sync-bounded-batches

Conversation

@AntonOresten

@AntonOresten AntonOresten commented Sep 19, 2026 •

Copy link
Copy Markdown
Member

The sync queue is held by report-only PR #17, and the planner forces a separate batch for every runtime/compiler change. This integrates the two held upstream commits through 81093121d4e6 with their history preserved, supplies the matching vendored Pkg --noskip/--force controls, and records the protected documentation review and resolution alongside the original report.

Runtime/compiler changes now share the existing 20-commit, 2,500-line and 250,000-byte budgets. Merge groups remain indivisible and every commit still requires a review. On the currently fetched backlog, the next batch contains 11 commits across 10 upstream groups; it stops before the following group would exceed a budget. Successful merges already dispatch the next batch immediately.

Canonical agent instructions now receive the same manual-integration protection as their discovery paths. Pkg's required miscellaneous suite gains an offline package/cache regression covering option parsing, failed dependencies, the skip override, extension suppression, fresh-cache reuse and forced compilation.

Validation: the fresh local build (including 108 bundled precompile configurations), all seven foundation targets, all 15 established stdlib suites, 44 automation tests, and all nine focused precompile-control assertions pass. The full Pkg miscellaneous/lifecycle stage and the styled PTY package REPL also pass locally. The required GitHub build/test gate is still running; protected auto-merge is enabled. Revise was attempted after rebuilding and is blocked by the existing JuliaInterpreter BoundsError (2-element Vector accessed at index 2); ordinary tests are used. No broader Base/stdlib coverage is claimed.

Supersedes #17, now closed. The master checkpoint advances only when this tested integration merges; the closed old batch is not retried.

IanButterworth and others added 6 commits September 18, 2026 09:41
…JuliaLang#63122)

When a package fails to precompile, every package that depends on it was
still handed to a worker, which loaded whatever dependencies did succeed and
then died at the `using` of the broken one. Each of those was reported as its
own failure with a full stacktrace. Now the scheduler notices the failed
dependency after the dependency wait and marks the dependent as skipped
without spawning a worker, so the failure list names only the root cause.
Skipped project dependencies get a line of their own; the rest are only
counted, since a failure low in the graph would otherwise list most of the
environment. Only a dependency whose worker actually ran and failed counts: a
job that failed for want of a source file, such as a stdlib that an old
manifest does not list, may still load through the stdlib fallback, so its
dependents are left to try. Pass `skip_dependents=false` to attempt them
anyway, for packages that only load a dependency on some platforms.

Extensions always load their parent and triggers, so they are never attempted
when one of those failed, regardless of `skip_dependents`, and are not
reported since the parent failure already implies it.

Also add `force` to recompile packages whose cache files are already fresh,
leaving standard libraries alone. Pkg exposes
these as `precompile --noskip` and `--force` (JuliaLang/Pkg.jl#4774).

Fixes JuliaLang#62866

Assisted-by: Claude Code (Fable 5.1)
… skill (JuliaLang#63243)

* doc: cover the TTFX jobs and artifact downloads in the buildkite-logs skill

The skill only explained how to read a job's log. Add the anonymous artifact
listing and download endpoint, and a section on the TTFX benchmark jobs: what
they measure and where the data lives, how to read the per-repeat results
(including the `@time`-style gc and compile stats in `load_stats`/`run_stats`),
the trace-compile logs and the JIT object cache, and the pitfalls of
reproducing a result locally. Specifics of the driver stay in its README in
JuliaCI/julia-buildkite so this does not go stale with it.

Assisted-by: Claude Code (Fable 5.1)

* doc: point the buildkite-logs skill at the TTFX driver docs instead of describing them

Review asked for less: the interpretation notes were not actionable for an
agent, and the sentence naming the wrong download path taught a mistake.
Keep the artifact recipe and a pointer to the driver README.

Assisted-by: Claude Code (Fable 5.1)
Select contiguous upstream merge groups up to the configured commit and diff budgets instead of forcing a separate build for every native or compiler change. Recognize canonical agent instruction paths before preparation.

Assisted-by: Codex (GPT-6)
Preserve the two upstream commits held for manual review; the following adaptation supplies the matching vendored Pkg options.

Assisted-by: Codex (GPT-6)
Backport the companion controls from Pkg commit 411f6d1eddd7c1003b7ea1064b54b25217d412d7 so the merged Base driver and package REPL agree. Preserve the vendored subtree revision while adding the matching keyword and option handling.

Assisted-by: Codex (GPT-6)
Retain the original unattended review alongside its interactive resolution and advance the checkpoint to the upstream target actually merged into this branch. Explain how replacement integrations release report-only holds.

Assisted-by: Codex (GPT-6)
@AntonOresten
AntonOresten merged commit 3e908a3 into master Sep 19, 2026
8 checks passed
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