CircleCI is used as the CI automation. Fulls teps for releasing new versions are in the Planet4 Documentation)
It's summarized as:
- Any commit with
[skip ci]
will.... skip the CI pipelines - Any commit with
[HOLD]
will run pipelines, but will -regardless of CD tests- not automatically deploy to production - Any commit in this repo will trigger a rebuild of the develop environment
- Any tag (numbered consecutively) in the repo will run the release pipeline, which:
- Builds new images and creates reference images for visual regression testing
- Deploys on the staging environment
- Runs Codeception and BackstopJS tests
- If tests run successfully, deploys to production.
- If tests fail, pipeline will hold for manual check
development.json
defines the repos to install for the develop environment. Normally this would be dev-develop
. This can also be used for testing or demoing feature branches. ie dev-feature/integrated_ab_tests
composer-local.json
holds the repos to install for the production environment. This can be any valid semver. *
could be used, but can be risky. It should be safe to pin to major versions.
Relevant repos: