Repository navigation
ci: one CI workflow with a single required check - #3675
Merged
Merged
Conversation
Member
Author
|
Aggregator proof:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.github/workflows/ci.yml: runs on every PR, on pushes to main andrelease/**, and by dispatch, with no paths filter. A dispatch has no base and runs every suite.Planjob runsdetect-changed-paths.shonce per suite. It replaces the Changes jobs in macOS Tests, iOS and Package Tests and Build Linux, and the hana step in Repo Hygiene.github.event.before. No such run, or one on HEAD, runs everything.release/**still runs every suite through--ref, except Linux: thelinuxcall skips onrelease/**, since Linux ships from main orlinux-X.Y.macos-tests.yml,ios-tests.yml,swiftlint.yml,repo-hygiene.ymlandbuild-linux.ymlare nowworkflow_callonly.plugins,oracle,hanaanddocs-onlyare inputs.build-linux.ymlkeeps its nightly schedule and dispatch. Flatpak and MSRV run only there (github.workflow == 'Build Linux'), never from CI.CIjob (if: always()) needs every called job. It fails on anyfailureorcancelledresult. A skipped job passes. TheLinuxgate job is gone.ci.yml. A PR cancels its older run. main has one group per ref with no cancel, so a newer pending run replaces the older one. Eachrelease/**commit and each dispatch gets its own group.ci.ymlis in every suite butshipped. New suiteswiftlint(*.swift,.swiftlint.yml). New suitelinux-docsfor the Documentation links job, which is its own job again.linuxnow skips Markdown, exceptlinux/CHANGELOG.md,linux/docs/regression-tests.mdandlinux/data/, since Meson tests and the build read those.ci.yml.version.py checkreads the tag commit's CI push run onrelease/X.Y. The run must be completed with success, andmacos / macOS Testsandios / iOS and Package Testsmust each be success, not skipped or missing.test_version.pyis updated to match..claude/rules/ci.mdcut from 19 KB to about 4 KB: required checks, reading a red check, what runs where, detector suites, runners, Release Build, caches.CONTRIBUTING.md,apple/RELEASING.md,plugin-system.md, the release skill's run query,linux/docs/testing.mdandlinux/CONTRIBUTING.md.CIandPR title.Test plan
python3 -m unittest scripts/ci/test_detect_changed_paths.py: new cases for Markdown-only Linux changes, the Markdown that Linux tests read, theswiftlintandlinux-docssuites, andci.ymlin every suite.apple/scripts/release/test_version.pyon Python 3.9: a skipped, missing or failed test job, a run still in progress or red, and a run of another workflow each refuse the tag.actionlint(shellcheck at warning),shellcheck --severity=warningandzizmor --offline --min-severity=mediumonci.ymland the Linux workflows: clean.