Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve contributing workflow: transition to simplified git flow with automatic release of beta versions #121
Improve contributing workflow: transition to simplified git flow with automatic release of beta versions #121
Changes from all commits
fa7691f
2a58b7f
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
Contributing to Log4brains
👍🎉 First of all, thanks for taking the time to contribute! 🎉👍
All your contributions are very welcome, whether it's:
All your contributions are very welcome, whether it’s a bug fix, new feature, or enhancement. Please follow the guidelines below to ensure a smooth contribution process.
Thank you so much! 👏
Development
When you are done, run
yarn unlink-cli && npm install -g log4brains
to use the official version again.Checks to run before pushing
Please do not forget to add tests to your contribution if this is applicable!
Coding standards
Ensure that your code follows our style guidelines and is fully tested. We use ESLint for code linting, and Prettier for code formatting. See the section below for more details about the commands to run.
Versioning and Commit Messages
We use Lerna with Semantic Versioning. Version bumps are determined automatically by commit messages using the Conventional Commits format:
fix:
for patchesfeat:
for new featuresBREAKING CHANGE:
in the footer of the message for major changesExample commit message:
Git workflow
Log4brains follows a simplified Git Flow model. Here’s how the process works:
Fork the Repository: First, fork the repository and clone it locally.
Create a Feature Branch: Create a new branch for your feature or bug fix based on the
develop
branch:Develop and Test: Make your changes (do not forget the tests!), and ensure the following commands pass before submitting your PR:
If applicable, a pull request without tests will be rejected.
Rebasing: Before creating your Pull Request, ensure it is rebased onto the latest develop to ensure that your changes can be merged without conflicts.
Submit a Pull Request: When your changes are ready, push your branch to your fork and open a Pull Request (PR) to the
develop
branch of the main repository.The PR will automatically trigger tests using GitHub Actions. If all tests pass, you can wait for a maintainer to review your PR.
Review Process: A maintainer will review your PR and provide feedback. If approved, your changes will be merged into
develop
(using "Squash and Merge" to maintain a clean history).It will then trigger automatically a beta release to npm, allowing users to install and test the latest changes:
This helps us get feedback from early adopters before merging changes into
stable
, and thus triggering a stable release.Releasing to Stable: Once the
develop
branch is stable and tested, the maintainers will merge it intostable
, and run manuallyscripts/release.sh
to publish a new stable release to npm (TODO: should be automated in the future).Urgent hotfix specific case
In the rare case that an urgent hotfix is needed on the current stable version while not wanting to release the
develop
branch yet, you can follow this process:stable
(instead ofdevelop
)stable
(instead ofdevelop
)stable
intodevelop
to ensure the hotfix is ported to the beta versionLicense
By contributing to Log4brains, you agree that your contributions will be licensed under its Apache 2.0 License.
Would like to become a co-maintainer?
As discussed in discussion #108, I (@thomvaill), as the project's sole maintainer, struggle to dedicate enough time to ensure its stability and growth, which is critical for its continued development. To ensure the project's long-term success, it is essential to have multiple maintainers. Therefore, I am actively seeking reliable and committed co-maintainers to share the responsibilities and contribute to the project's future.
To make it easier I introduce two co-maintainer roles:
develop
(and thus trigger a beta release)develop
intostable
(and thus trigger a stable release)If you're interested in becoming a co-maintainer, you can start your "Mentorship Phase" by participating in code reviews and helping triage issues. This will help us assess your familiarity with the project and the workflow.
Steps to becoming a co-maintainer:
Once we identify a trusted contributor, we will elevate them to the Canary Maintainer status, with permissions to merge PRs and perform other tasks. Later, a Canary Maintainer can become a Core Maintainer if they demonstrate a strong understanding of the project and its direction and if they are motived to take on the additional responsibilities.
Issues triage
Work in Progress