dda-devops-build/doc/architecture/ReleaseProcessAdr.md

53 lines
No EOL
1.4 KiB
Markdown

# ADR: Release process - in DevOps
## Status
accepted
## Context
We discussed how we will handle releases in cooperation with gitlab-ci.
## Decision
### Legend
* B. User:
* Z: Time passes / systems do something:
* E: Events:
### Outcome of Eventstroming: Events ordered by time
1. B: Pulls the latest changes
1. B: Possibly merge/rebase with main
1.
1. B: starts "create release-notes"
1. B: commits his changes with [skip-ci].
1.
1. B: starts the release build and specifies major, minor, patch
1.
1. S: does a git fetch & status and checks if there are no changes at origin
1. S: starts tests
1. S: runs the linting
1. S: possibly does image building and image testing
1.
1. S: version numbers are adjusted in project.clj/package.json to full version
1. S: change commit is tagged with git tag
1. S: version numbers are adjusted in project.clj/package.json to next snapshot version
1. S: makes a bump commit with [skip-ci].
1. S: push to gitlab/gitea along with git tags
1.
1. S: CI starts - for a new tag
1. S: CI runs tests
1. S: runs the linting
1. S: makes artifacts
1. S: possibly performs image building and image testing
1. S: publishes images and artifacts
1.
1. S: CI starts - for push with the last commit
1. S: CI runs tests
1. S: performs the linting
## Consequences
1. we implement the release process by using pyb
2. we do test & linting local
3. we do all git operations local