diff --git a/doc/architecture/ReleaseProcessAdr.md b/doc/architecture/ReleaseProcessAdr.md new file mode 100644 index 0000000..3b681b5 --- /dev/null +++ b/doc/architecture/ReleaseProcessAdr.md @@ -0,0 +1,53 @@ +# 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 \ No newline at end of file