CI/CD Concept
Concept for CI/CD Pipelines
Merge requests
- Test
- REUSE compatibility
- frontend: unit tests !121 (merged)
- frontend: build test !121 (merged)
- backend-postgres
- scrapers !121 (merged)
- e2e tests
- Deploy feature branch to review app (nice to have)
Release pipeline
- Job 1
- all tests
- update
CITATION.CFF
- create changelog (automatically integrate NLESC changelog if there was an NLESC release in between?)
- create a tag (at the beginning of the pipeline in the web interface, or by pushing the tag in the first place?) see #124 (closed)
- Job 2
- build and push all images #122 (closed) and !120 (merged)
- check for
CI_COMMIT_TAG
andCI_RELEASE_DESCRIPTION
to avoid building images without releases -
create two tags: 1) with release version 2) latest
#147 (closed)
- check for
- create a release text draft in the Wiki
- pause pipeline
- build and push all images #122 (closed) and !120 (merged)
- manually edit the release draft in wiki
- Job 3
- create a release using the text from the wiki
See semantic-release
Deployment pipeline
Not in this repository, see https://codebase.helmholtz.cloud/research-software-directory/deployment/-/issues/5