Operations and verification¶
Before every push¶
There are no build or test checks in CI. The tests below are the only test gate, so they run locally before every push:
Build and test the Swift package (works on Linux and macOS):
Generate the Xcode project (macOS only):
When docs/ or zensical.toml changes, build the documentation the same way CI does:
The apps cannot be built on Linux. If a target could not be built or tested, say so in the pull request.
In CI¶
- CodeQL (GitHub's default setup) analyzes the code on every pull request and on
main. Errors and serious security alerts block merging. - The documentation is built strictly with Zensical when
docs/orzensical.tomlchanges in a pull request. - The release waits for the checks in
.github/release-required-checks(todayAnalyze (swift)); see Releases. - The Wiki is regenerated from
README.mdanddocs/on every push tomainthat touches them (.github/workflows/wiki-sync.yml).
Troubleshooting after a dependency change¶
Check in this order:
App/Package.swift- that
App/generate-project.shreads the right version - the package link in the generated project
- that
App/Package.swiftis excluded from the app's source files - the build for the failing target
Security rules¶
- Private keys, tokens and passwords never go into the repo, logs or test data.
- Values that reach a shell are quoted and preferably passed through
env:. - A dependency is updated in the manifest that actually owns it.
CodeRabbit configuration¶
The root .coderabbit.yaml inherits shared settings from Myrpisset/coderabbit.
Keep shared settings there; local path instructions cover Apple security,
dependency and target boundaries, credential storage and verification evidence.
The linked Bastion hub provides shared documentation context; Linux, Windows and
Android links provide sync compatibility context where implemented. A link does
not imply identical platform features or grant repository access.
For configuration changes, validate the complete YAML against the schema linked at the top of the file and check that each path pattern matches its intended tracked files. Compare with the latest main configuration to preserve existing security guidance. Path instructions merge with local entries first and unique parent paths appended; a matching local path replaces the parent's instruction. See configuration inheritance.
After delivery, request @coderabbitai configuration on the PR and use its
annotated effective configuration to confirm inherited
path instructions remain present, security scanners remain enabled, automatic
approvals remain disabled, pre-merge checks remain advisory and paid generation
features remain disabled. Check linked-repository eligibility and integration
access for each repository in the active account. All four links use the same
GitHub owner, but eligibility also depends on the CodeRabbit App being installed
on each repository and available plan slots. See
multi-repo requirements.
YAML cannot grant entitlements
or enforce a spending limit. Report unavailable account, access and resolved
configuration checks explicitly in the PR.