Skip to content

ci: PRs build one leg per OS family; Intel/arm/research/glibc-floor variants on master and tags - #1517

Open
ErikBjare wants to merge 3 commits into
masterfrom
ci/macos-on-master-only
Open

ErikBjare wants to merge 3 commits into
masterfrom
ci/macos-on-master-only

Conversation

@ErikBjare

@ErikBjare ErikBjare commented Oct 10, 2026 •

Copy link
Copy Markdown
Member

PR runs of the release workflow built 14 artifact jobs, including the slowest and scarcest legs (Intel macOS averaged 35 min vs 17 for macos-latest, about 2/3 of PR macOS minutes). Most of these legs give little PR-specific signal; platform-variant breakage is rare and is caught on master and at tag time, before anything ships.

PRs (without the ci:full label) now build one leg per OS family:

  • Qt: ubuntu-22.04, windows-latest, macos-latest
  • Tauri: ubuntu-24.04, windows-latest, macos-latest
  • plus the cheap Research Edition smoke tests, which still verify the research patch targets (--check) and run the patcher tests on every PR

Master, tags, dispatch and cron are unchanged. The full matrix still runs there: macos-15-intel (Qt + Tauri), ubuntu-24.04-arm, windows-11-arm, the research rows, and manylinux_2_28.

How:

  • the os lists are fromJSON expressions;
  • the Qt research row's research is false on plain PRs, so it merges into the ubuntu row;
  • the Tauri include list is a fromJSON expression, empty on plain PRs, otherwise the same two rows as before;
  • the manylinux job's if: skips plain PRs.

release still requires manylinux and all builds on tags.

Full matrix on a PR: add the ci:full label, then push. There's no labeled trigger, because any label (Dependabot, Bob, triage) would re-run the whole workflow. Don't use workflow_dispatch for this: preflight can then cut a dev prerelease tag.

Verified: this PR's own run (38067780593) created exactly the 6 builds + smoke tests above, with manylinux skipped. The non-PR path (the format()-built include list on push/tag) is only exercised by a master push. Merge after tagging v0.14.1, and check the master run's job list then. Before this PR, master runs created 14 build jobs plus manylinux, and the next master run should create the same.

@ErikBjare

Copy link
Copy Markdown
Member Author

@greptileai review

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-10T16:30:24.564319Z b6d0aba New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@greptile-apps

greptile-apps Bot commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 5/5

[High impact] The PR appears safe to merge; the reduced PR builds do not break downstream jobs or release downloads.

Summary

This PR reduces builds on ordinary pull requests while keeping the full build set on master, tags, and manual runs.

  • Pull requests use smaller Qt and Tauri build matrices unless they carry ci:full.

Reviews (2) · Last reviewed commit: "ci: PRs build one leg per OS family; var..." · Reviewed by Greptile

@ErikBjare ErikBjare changed the title ci: run the Intel macOS legs on master/tags only, not on PRs (ci:full label to override) ci: PRs build one leg per OS family; Intel/arm/research/glibc-floor variants on master and tags Oct 10, 2026
@ErikBjare

Copy link
Copy Markdown
Member Author

@greptileai review
@TimeToBuildBob review

@TimeToBuildBob

TimeToBuildBob commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

🤖 AI code review

This PR modifies the release workflow to reduce CI load on PRs by building only one leg per OS family (skipping Intel macOS, ARM, and variant rows) unless the ci:full label is present. It changes the os matrix lists and the Tauri include list to conditional fromJSON expressions, makes the research row conditional on the label, and adds a skip condition to the manylinux job. Master, tags, dispatch, and cron runs keep the full matrix.

Safe to merge — no P0/P1 findings

Confidence 5/5

✅ No findings. The diff looks correct to me on this pass.

Files changed (1) — the diff as I read it
  • .github/workflows/release.yml — Adds conditional matrix expressions for os lists and Tauri include rows, gates research row on ci:full label, and skips manylinux job on plain PRs.

Reviewed b6d0abaf19b1 · openrouter/deepseek/deepseek-v4-flash-0731 · llm engine · 23s · about this reviewer

Maintainer commands

@TimeToBuildBob review (own line) — fresh review · @TimeToBuildBob fix — a worker acts on the findings. Once per comment; 👀 = received.

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