We are following the "GitHub Flow", using feature branches for development. Please read through the following short guide before you get started: Understanding the GitHub Flow.
In summary, this means each feature will be implemented on it's own branch, which will then merged back onto the master
branch. If you participate in the development, either by fixing a bug or implementing a new feature, follow these steps:
master
!) for each issue/feature you are working on. Use a descriptive branch name.master
branch for each).ng test
to see if all unit tests are passed.
If possible/necessary add more unit tests related to your new code. All tests must be passed before your contribution can be accepted.ng lint
to see if your code passes our project's code formatting standards.
All problems must be resolved before your contribution can be accepted.master
branch also are available as a docker image (pr-<pr_number>
, e.g. pr-101; <version>-master.<built>
, e.g. 3.52.0-master.1) that can be deployed for testing or as a hotfix, if necessarymaster
branch after review.#15
to reference issue #15)[WIP]
to the beginning of the PR title if this is still "work in progress" and should not be merged yet.Official "releases" of the project are done by a core team member regularly (the GitHub Action to create a release is triggered manually on GitHub). The CI then runs "semantic-release", which automatically creates a new version of the project and generates a changelog for release notes. Releases are published on GitHub and as docker images to the GitHub Container Registry.
We manage translations using the POEditor platform.
The latest translation keys to be translated are automatically sent to POEditor by the CI whenever the master
branch is updated.
After translations are done, we have to manually trigger another GitHub Action (here)
to create a Pull Request updating the translation files in the repository.
Translations are part of the codebase and built into the final release image (not loaded at runtime).