Split CI into format and build_test, drop the ios_ prefix - #123
Merged
Conversation
`ios_main.yml` said nothing about what it runs, and every job in it
repeated the same ten steps to get odrcore resolved. Both problems are
fixed the way OpenDocument.core and OpenDocument.droid already do it:
* one workflow per concern - `format`, `build_test`, `release` - so a
failing check names itself in the PR view
* the shared conan bootstrap moves into a composite action,
`.github/actions/setup-odrcore`, which the three jobs that compile
the app now call with a profile and a configuration
`build_test` also gains `paths-ignore` for markdown and store metadata,
so a doc change no longer triggers a full native build. `format` keeps
running unconditionally, because it checks files `build_test` ignores.
`release` stops writing the conan cache: it only ever consumed what
`build_test` had already built, and an untested release should not be
able to poison the entry the other workflows restore. Its pinned action
versions were a release behind and are bumped to match.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011MhKU2kWm1cPW4GBq9gon5
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.
🤖 Generated with Claude Code
ios_main.ymlsaid nothing about what it runs, and every job in it repeated the same ten steps to get odrcore resolved. Both problems are fixed the way OpenDocument.core and OpenDocument.droid already do it.What changed
format.yml,build_test.yml,release.yml. A failing check now names itself in the PR view instead of all three hiding underOpenDocumentReader-iOS..github/actions/setup-odrcore— the conan bootstrap (submodule, python, Xcode, conan install, cache) was copy-pasted intotest,buildand the release job. It now lives in one composite action that takes a profile, a configuration and a cache flavor.build_testskips docs —paths-ignorefor**/*.mdandfastlane/metadata/**, like droid.formatdeliberately has nopaths-ignore, so nothing it checks goes unchecked.releaseno longer writes the conan cache. It only ever consumed whatbuild_testbuilt, and an untested release should not be able to poison the entry the other workflows restore. Its action versions were a release behindios_main.ymland are bumped to match.Cache keys keep their exact previous shape (
conan2-<os>-xcode<v>-<flavor>-index<sha>-<hash>), so existing cache entries stay usable.Notes
ios_release.yml→release.ymlis a rename; the workflow itself only lost the duplicated setup steps.ios_main.ymland would have 404'd; it now showsbuild_testandformat, and a short CI section describes the layout.actionlint.