-
Notifications
You must be signed in to change notification settings - Fork 6
CI & bots
Every modification in the codebase is controlled with continuous integration (CI).
The followings are executed automatically at each commit to ensure code quality and avoid regressions
- Linter
- Unit tests
- Integration tests
A pull request needs a full green CI and at least one other developer to approve those changes before being merged

With each merge on master, a docker image is built, tagged with the SHA of the commit, and pushed to ghcr.io - the github docker registry
You can easily use it with docker pull ghcr.io/lechaterrant/api-template:SHA
When a release is published, a docker image is automatically created, tagged with the version number and the latest tag
Pull it using docker pull ghcr.io/lechaterrant/api-template:1.0.0 for example, or even docker pull ghcr.io/lechaterrant/api-template:latest

Releases can be published using the github action Create a new release
Changelog will be automatically generated from github PRs and issuers

All dependencies are maintained up-to-date automatically by dependabot, with the continuous integration ensuring no breaking update will be merged
It means
- Last features will always be available
- Security issues will be fixed as soon as possible, maintaining a cleaner
npm audit

So...
A bot find an out-to-date dependency and open a PR
An other bot checks if it doesn't break the codebase
If not, a third bot merge it
Would you believe it if a fourth bot congrats the others for their hard work once the PR is closed ...?
I hate updating Table of Contents (TOC) section of a README.md after editing it
That's why a bot is checking if any updates are needed and commit if necessary 🤖 ❤️