doc update

This commit is contained in:
Michael Jerger 2023-07-19 14:41:15 +02:00
parent 41c41cf9c3
commit ca88c63407
2 changed files with 85 additions and 35 deletions

View file

@ -70,12 +70,12 @@ classDiagram
DevopsBuild <|-- ProvsK3sBuild DevopsBuild <|-- ProvsK3sBuild
DevopsBuild <|-- C4kBuild DevopsBuild <|-- C4kBuild
link DevopsBuild "./doc/DevopsBuild.md" link DevopsBuild "src/doc/DevopsBuild.md"
link DevopsImageBuild "./doc/DevopsImageBuild.md" link DevopsImageBuild "src/doc/DevopsImageBuild.md"
link DevopsTerraformBuild "./doc/DevopsTerraformBuild.md" link DevopsTerraformBuild "src/doc/DevopsTerraformBuild.md"
link ReleaseMixin "./doc/ReleaseMixin.md" link ReleaseMixin ".rc/doc/ReleaseMixin.md"
link ProvsK3sBuild "doc/ProvsK3sBuild.md" link ProvsK3sBuild "src/doc/ProvsK3sBuild.md"
link C4kBuild "doc/C4kBuild.md" link C4kBuild "src/doc/C4kBuild.md"
``` ```

View file

@ -16,35 +16,85 @@ We discussed how we will handle releases in cooperation with gitlab-ci.
### Outcome of Eventstroming: Events ordered by time ### Outcome of Eventstroming: Events ordered by time
1. B: Pulls the latest changes * B: is the human devops
1. B: Possibly merge/rebase with main * S: is the build / ci system
1.
1. B: starts "create release-notes" ```mermaid
1. B: commits his changes with [skip-ci]. stateDiagram-v2
1. state prepare_release {
1. B: starts the release build and specifies major, minor, patch state "B: Pulls the latest changes" as pull
1. state "B: Possibly merge/rebase with main" as merge
1. S: does a git fetch & status and checks if there are no changes at origin state "B: starts 'create release-notes'" as rn
1. S: starts tests state "B: commits his changes with [skip-ci]." as c1
1. S: runs the linting
1. S: possibly does image building and image testing [*] --> pull
1. pull --> merge
1. S: version numbers are adjusted in project.clj/package.json to full version merge --> rn
1. S: change commit is tagged with git tag rn --> c1
1. S: version numbers are adjusted in project.clj/package.json to next snapshot version c1 --> [*]
1. S: makes a bump commit with [skip-ci]. }
1. S: push to gitlab/gitea along with git tags state release {
1. state "B: starts the release build and specifies major, minor, patch" as trigger
1. S: CI starts - for a new tag state "S: does a git fetch & status and checks if there are no changes at origin" as fetch
1. S: CI runs tests state "S: starts tests" as test
1. S: runs the linting state "S: runs the linting" as lint
1. S: makes artifacts state "S: possibly does image building and image testing" as image
1. S: possibly performs image building and image testing state "S: version numbers are adjusted in project.clj/package.json to full version" as vno
1. S: publishes images and artifacts state "S: change commit is tagged with git tag" as c2
1. state "S: version numbers are adjusted in project.clj/package.json to next snapshot " as snap
1. S: CI starts - for push with the last commit state "S: makes a bump commit with [skip-ci]." as c3
1. S: CI runs tests state "S: push to gitlab/gitea along with git tags" as push
1. S: performs the linting
[*] --> trigger
trigger --> fetch
fetch --> lint
fetch --> test
fetch --> image
test --> vno
lint --> vno
image --> vno
vno --> c2
c2 --> snap
snap --> c3
c3 --> push
push --> [*]
}
state ci_tag {
state "S: CI starts - for a new tag" as ct1
state "S: runs the linting" as ct2
state "S: CI runs tests" as ct3
state "S: makes artifacts" as ct4
state "S: possibly performs image building and image testing" as ct5
state "S: publishes images and artifacts" as ct6
[*] --> ct1
ct1 --> ct2
ct2 --> ct3
ct3 --> ct4
ct4 --> ct5
ct5 --> ct6
ct6 --> [*]
}
state ci_version_bump {
state "S: CI starts - for push with the last commit" as cvb1
state "S: CI runs tests" as cvb2
state "S: performs the linting" as cvb3
[*] --> cvb1
cvb1 --> cvb2
cvb2 --> cvb3
cvb3 --> [*]
}
[*] --> prepare_release
prepare_release --> release
release --> ci_tag
release --> ci_version_bump
ci_tag --> [*]
ci_version_bump --> [*]
```
## Consequences ## Consequences