Thank you for your interest in improving rules_cc! This guide will walk you through the expectations and contribution process for this project.
To contribute to this project, you must sign the Contributor License Agreement. You (or your employer) retain the copyright to your contribution; this simply gives us permission to use and redistribute your contributions as part of the project. You generally only need to submit a CLA once, so if you‘ve already submitted one (even if it was for a different project), you probably don’t need to do it again.
Visit https://cla.developers.google.com/ to see your current agreements on file or to sign a new one.
We expect everyone who interacts with this project to follow Google's Open Source Community Guidelines.
Before proposing a change, ensure your solution includes relevant test coverage and documentation. Additionally, all code is expected to adhere to the following language-specific style guides:
To propose your changes, create a pull request from your fork.
When you do this, maintainers will automatically be notified of your proposed changes.
An initial set of checks are run by the GitHub actions in this project. If any failures are relevant to your changes, promptly address them to ensure a smoother code review experience.
A second set of checks are run after a Google developer begins the Google-specific import process (when the import/copybara check turns green). These checks are not visible to open source contributors, so please be patient and reach out if you need assistance identifying next steps.
All incoming changes require review, which is done through GitHub's pull request review UI
After you address any feedback from maintainers, re-request review.
After a change is reviewed and approved by a maintainer, it must be separately approved by two separate Google engineers through Google's code import process. During this process, additional tests are run and new breakages may be identified. If a change is approved but not merged, it is likely caught in this stage of the process.
There are two stages to this:
When all of Google‘s internal checks are satisfied, Copybara will merge the change into both repositories, closing the associated PR. This does not mean your change is rejected, it’s just the mechanism Copybara uses to communicate that the change has merged.