Files
ObsidianHome/07 - GameDevSpace/Processes/Git CICD.md

44 lines
1.3 KiB
Markdown

---
tags:
- note/permanent
- devops/cicd
relates-to:
creation-date: 2024-04-09 09:46
modification-date: Tuesday 9th April 2024 09:49:48
---
# Git CI/CD
## Compass
> [!multi-column]
>
>> [!info]+ Comes from
>> Somewhere
>
>> [!success]+ Similar to
>> Something
>
>> [!danger]+ Competes with
>> Something
>
>> [!seealso]+ Leads to
>> Somewhere
## Core
In a trunk based game development environment, here's a list of the basic actions taken to make the game go through the whole CI/CD process.
### CI
- MANUAL: create a branch from `main` to code something
- MANUAL: commit and push to this branch
- AUTO: build the game, run the game (null hypothesis test)
- AUTO: run basic tests (unit/functional), any test that can be done quickly in a matter of minutes max.
- AUTO: on success, create a PR.
- AUTO: labelling with `feat`, `fix`, `chore`, optionally `code-review`. If labelled as `code-review`, let it sit.
- AUTO: otherwise, merge to `main` and delete current branch
### CD
- AUTO: on PR merge, if the PR is `feat`, bump the minor version tag. if the PR is `fix` or `chore`, bump the patch version.
- AUTO: build, cook, stage, package and archive the game
- AUTO: run tests on build (acceptance, stress)
- AUTO: on success upload the result to a running build release
---
# References