NetNewsWire/Technotes/ContinuousIntegration.md

30 lines
2.0 KiB
Markdown
Raw Normal View History

# NetNewsWire Continuous Integration
CI for NetNewsWire is enabled through Github Actions. The CI workflow configuration (hosted in
2020-07-26 11:46:00 +02:00
[`.github/workflows/build.yml`](https://github.com/brentsimmons/NetNewsWire/blob/main/.github/workflows/build.yml)
uses `xcodebuild` to build the project after syncing the repository and the various submodules.
The build itself focuses on the scheme NetNewsWire for macOS and NetNewsWire-iOS for iOS. Also it leverages the
`NetNewsWire.xcworkspace` configuration.
2022-01-04 23:25:20 +01:00
Private keys, certificates and provisioning profiles are stored in Github under `buildscripts` folder. Decrypting necessary certificates, copy to build machine keychain and delete the certificates are handled by the [`buildscripts/ci-build.sh`](https://github.com/Ranchero-Software/NetNewsWire/blob/main/buildscripts/ci-build.sh) script.
Each submodule also has it's own CI configuration, which are set up and built from
their own repositories. The submodule CI systems are entirely independent so that
2022-01-04 23:25:20 +01:00
those libraries can grow and change, getting CI verification, independent of NetNewsWire.
Build failures are notified to our slack group via [Notify Slack](https://github.com/8398a7/action-slack) GitHub action.
The submodule CI are typically set to run a build and any available tests. Refer to the
project repository for the current and complete list of submodules, but for quick reference:
- [RSCore](https://github.com/brentsimmons/RSCore)![CI](https://github.com/Ranchero-Software/RSCore/workflows/CI/badge.svg)
- [RSWeb](https://github.com/brentsimmons/RSWeb) ![CI](https://github.com/Ranchero-Software/RSWeb/workflows/CI/badge.svg)
- [RSParser](https://github.com/brentsimmons/RSParser)![CI](https://github.com/Ranchero-Software/RSParser/workflows/CI/badge.svg)
- [RSTree](https://github.com/brentsimmons/RSTree)![CI](https://github.com/Ranchero-Software/RSTree/workflows/CI/badge.svg)
- [RSDatabase](https://github.com/brentsimmons/RSDatabase) ![CI](https://github.com/Ranchero-Software/RSDatabase/workflows/CI/badge.svg)