1.7 KiB
1.7 KiB
Continuous Integration
In order to ensure code changes comply with the target integrations, the following policies should be observed.
Changes to the GitHub project
The master
branch is the git repositories default branch.
Pull Request actions are determined by the author's association to the GitHub project. Levels are defined https://developer.github.com/v4/enum/commentauthorassociation/.
When a PR is opened by COLLABORATOR
- check that linting is successful
- check that the code builds
- check that PR tests pass
When a PR is opened by NONE
- check that linting is successful
- check that the code builds
Code changes to the master branch
These changes are identified by modifications to files under the following directories
Directory | files |
---|---|
Scripts | *.sh |
rust/src |
*.rs |
ZcashLightClientKit | `*.swift |
root | `*.xcworkspace/** |
ZcashLightClientKitTests | *.swift |
Example/ZcashLightClientSample/ZcashLightClientSample |
*.swift |
- build the project
- update code documentation via
jazzy --podspec ZcashLightClientKit.podspec
New tag MAJOR.MIDDLE.MINOR{-betaX} is created
- build the project
- run tests
- run
pod lib lint --skip-tests --allow-warnings && pod trunk push --skip-tests --allow-warnings
to create pod version
Time based changes
Periodic continous integration tasks
Nightly
- run integration tests
- send notifications for failed builds or failed nightly integrations
Targets
- ZcashLightClientSample : build and run example demo app
- ZcashLightClientKit-Unit-Tests : build and test unit and integration tests (darksidewalletd required)