# 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