From e37388c1f0f2370e062196ce6fe357fca5760912 Mon Sep 17 00:00:00 2001 From: Niels Pardon Date: Fri, 10 Jul 2026 07:48:31 +0200 Subject: [PATCH 1/2] docs: update native-image CI guidance for Linux-only per-PR build The per-PR native-image job no longer builds the macOS image and no longer depends on the java/integration jobs, so the "macOS native image is the PR long pole" guidance is stale. Reflect the current setup: PRs build the Linux native image only (with --quick-build-native, in parallel with the other jobs), while the macOS native image is built out-of-band in native-image-macos.yml on push to main, a weekly schedule, and workflow_dispatch. --- AGENTS.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 264124de2..50dfa5c05 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -205,8 +205,11 @@ compile — they have their own visitor implementors: proto message usually needs: POJO + visitor wiring + both proto converters + a round-trip test, and often `ExpressionCreator` factories and `dsl/SubstraitBuilder` helpers for ergonomics. -- When monitoring PR checks, budget for a long tail: the **macOS `Build Isthmus Native - Image`** job is the long pole — it `needs:` the `java` + `integration` jobs (so it - starts late), then AOT-compiles for ~15–20 min on a slower macOS runner. A PR staying - yellow after the other checks pass usually just means that job is still running, not - that it's stuck or failing. +- When monitoring PR checks: the per-PR native-image job (`Build Isthmus Native Image` in + `pr.yml`) builds **Linux only**, uses `--quick-build-native`, and runs **in parallel** + with the `java` + `integration` jobs (no `needs:`), so it's fast and not a long pole. The + **macOS** native image is *not* built on PRs — it runs out-of-band in + `.github/workflows/native-image-macos.yml` (push to `main`, a weekly backstop, and + `workflow_dispatch`), fully optimized to mirror `release.yml`. So a PR that stays yellow + isn't waiting on a macOS native build, and macOS-specific native regressions surface on + `main` or the weekly run rather than on the PR. From f0eb4cd2ecab25d7626417b4a2f2455245c3a188 Mon Sep 17 00:00:00 2001 From: Niels Pardon Date: Thu, 16 Jul 2026 12:29:20 +0200 Subject: [PATCH 2/2] docs: trim native-image CI note to the one durable fact Per review feedback: the expanded guidance mostly documented the absence of a gotcha (#997 removed the macOS long-pole from PRs) and duplicated what pr.yml already states. Keep only the non-obvious residual: macOS native regressions surface on main/weekly, not on the PR. --- AGENTS.md | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 50dfa5c05..79cb7b4fc 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -205,11 +205,5 @@ compile — they have their own visitor implementors: proto message usually needs: POJO + visitor wiring + both proto converters + a round-trip test, and often `ExpressionCreator` factories and `dsl/SubstraitBuilder` helpers for ergonomics. -- When monitoring PR checks: the per-PR native-image job (`Build Isthmus Native Image` in - `pr.yml`) builds **Linux only**, uses `--quick-build-native`, and runs **in parallel** - with the `java` + `integration` jobs (no `needs:`), so it's fast and not a long pole. The - **macOS** native image is *not* built on PRs — it runs out-of-band in - `.github/workflows/native-image-macos.yml` (push to `main`, a weekly backstop, and - `workflow_dispatch`), fully optimized to mirror `release.yml`. So a PR that stays yellow - isn't waiting on a macOS native build, and macOS-specific native regressions surface on - `main` or the weekly run rather than on the PR. +- The macOS native image is not built on PRs (only Linux is), so macOS-specific native + regressions surface on `main` or the weekly `native-image-macos.yml` run, not on the PR.