NetNewsWire/Technotes/ContinuousIntegration.md

2.0 KiB

NetNewsWire Continuous Integration

CI for NetNewsWire is enabled through Github Actions. The CI workflow configuration (hosted in .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.

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 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 those libraries can grow and change, getting CI verification, independent of NetNewsWire.

Build failures are notified to our slack group via Notify 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: