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

1.4 KiB

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
  2. B: Possibly merge/rebase with main
  3. B: starts "create release-notes"
  4. B: commits his changes with [skip-ci].
  5. B: starts the release build and specifies major, minor, patch
  6. S: does a git fetch & status and checks if there are no changes at origin
  7. S: starts tests
  8. S: runs the linting
  9. S: possibly does image building and image testing
  10. S: version numbers are adjusted in project.clj/package.json to full version
  11. S: change commit is tagged with git tag
  12. S: version numbers are adjusted in project.clj/package.json to next snapshot version
  13. S: makes a bump commit with [skip-ci].
  14. S: push to gitlab/gitea along with git tags
  15. S: CI starts - for a new tag
  16. S: CI runs tests
  17. S: runs the linting
  18. S: makes artifacts
  19. S: possibly performs image building and image testing
  20. S: publishes images and artifacts
  21. S: CI starts - for push with the last commit
  22. S: CI runs tests
  23. 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