Anyone is welcome to help with the Glean SDK project. Feel free to get in touch with other community members on
or through issues on GitHub or Bugzilla.
Participation in this project is governed by the Mozilla Community Participation Guidelines.
To report issues or request changes, file a bug in Bugzilla in Data Platform & Tools :: Glean: SDK.
If you don't have a Bugzilla account, we also accept issues on GitHub.
You can check that everything compiles by running the following from the root of your checkout:
If you plan to work on the Android component bindings, you should also review the instructions for setting up an Android build environment
To run all Kotlin tests:
or run tests in Android Studio.
To run all Swift tests:
or run tests in Xcode.
Patches should be submitted as pull requests (PRs).
Before submitting a PR:
- Your code must run and pass all the automated tests before you submit your PR for review.
- "Work in progress" pull requests are allowed to be submitted, but should be clearly labeled as such and should not be merged until all tests pass and the code has been reviewed.
- For changes to Rust code
make test-rustproduces no test failures
make clippyruns without emitting any warnings or errors.
make rustfmtdoes not produce any changes to the code.
- For changes to Kotlin code
make test-kotlinruns without emitting any warnings or errors.
make ktlintruns without emitting any warnings.
- For changes to Swift code
make test-swift(or running tests in Xcode) runs without emitting any warnings or errors.
make swiftlintruns without emitting any warnings or errors.
make swiftfmtruns without emitting any warnings or producing changes.
- Your patch should include new tests that cover your changes. It is your and your reviewer's responsibility to ensure your patch includes adequate tests.
When submitting a PR:
- You agree to license your code under the project's open source license (MPL 2.0).
- Base your branch off the current
master(see below for an example workflow).
- Add both your code and new tests if relevant.
- Please do not include merge commits in pull requests; include only commits with the new relevant code.
This project is production Mozilla code and subject to our engineering practices and quality standards. Every patch must be peer reviewed by a member of the Glean core team.
Reviewers are defined in the CODEOWNERS file and are automatically added for every pull request. Every pull request needs to be approved by at least one of these people before landing.
The submitter needs to decide on their own discretion whether the changes require a look from more than a single reviewer or any outside developer. Reviewers can also ask for additional approval from other reviewers.
See the Release process on how to release a new version of the Glean SDK.