-
Notifications
You must be signed in to change notification settings - Fork 2
Repository architecture overview
This project use Github Actions to automate your workflow. The concepts of CI/CD are applied, so all change make in the main branch is automatically release and generate a game.exe.
Throughout this session we show each step of the configuration of this repository, see the diagram below for an overview of how this automate it works.
(this diagram is also available on Miro for bigger text)
The fist thing you should know to work on this project is how to configure your branch correctly. Every branches must be liked to an issue, be it a feature or bug. Choose the issue you will work on and create a branch following the pattern {issue type}/#{issue number}-{description}
. Sample: feature/#12-add-hello-world
.
- issue type: feature or bugfix
We use auto semantic versioning so the commits should following the patter bellow to closed issue:
Commit message | Release type |
---|---|
fix(pencil): stop graphite breaking when too much pressure applied |
Patch Release |
feat(pencil): add 'graphiteWidth' option |
|
perf(pencil): remove graphiteWidth option BREAKING CHANGE: The graphiteWidth option has been removed. The default graphite width of 10mm is always used for performance reasons.
|
|
(go to semantic release for more information)
(this diagram is also available on Miro for bigger text)
PS: Remember to always update your preferred branch using rebase method
When you've finished your modifications a Pull Request should be opened, 'cause this repository don't allow commit directly from main
branch. The Pr can only be accept if all status checks have been completed.
- Semantic pull request:✔️ checks if the PR has semantic patterner.
- Unit test:🧪 will run all unit tests and if any fail will prevent the PR from being completed.
- Quality Gate:☁️ this step verify the code quality as reliability, security, duplications and maintainability.
Important:❗ It's necessary to put a semantic title and description before closing the PR, because this information is used as release description.
At the end of a pull request is started CI/CD pipeline, which generates the Github release with game.exe.