|
1 | 1 | # LHRe 2025-2026 Monorepo |
| 2 | + |
| 3 | +[](https://github.com/LonghornRacingElectric/lhre-2026/actions/workflows/postsubmit.yml) |
| 4 | + |
| 5 | +This repository is a monorepo for the LHRe 2025-2026 codebase. It contains all of the code for the season, |
| 6 | +including firmware, telemetry server code, documentation, tests, and build configurations. |
| 7 | + |
| 8 | +The preferred build tool is Bazel. However, other build tools are supported depending on the project. |
| 9 | +Firmware projects still support using `make` for compatibility and each `Makefile` is located in the root |
| 10 | +of each firmware project directory. |
| 11 | + |
| 12 | +Because Bazel automatically manages dependencies and toolchains, it is our preferred tool for |
| 13 | +allowing quick code updates without needing to worry about other machines having the same build environment. |
| 14 | + |
| 15 | +By default, Bazel will attempt to build all targets for the `arm_none_eabi` architecture. |
| 16 | +This can be changed by specifying a different target platform or config in the build command. For example, |
| 17 | +`--config=firmware` will force the `arm_none_eabi` toolchain to be used. Check the `.bazelrc` file to |
| 18 | +see the other available configurations. |
| 19 | + |
| 20 | +To build all targets: `bazel build //...` (will only build firmware by default) |
| 21 | + |
| 22 | +To test all targets: `bazel test //...` (will only test firmware by default) |
| 23 | + |
| 24 | +## Contributing |
| 25 | + |
| 26 | +Note: Code cannot be pushed directly to the main branch. |
| 27 | + |
| 28 | +We now require that the code being written be tested and approved by a reviewer before it can be merged. |
| 29 | +This will allow us to make sure builds are not breaking due to untested code, and will enforce style |
| 30 | +and code-quality checks. Create a new branch for each feature you work on, and then open a pull request |
| 31 | +(PR) for your changes. Reviewers will not be assigned automatically, so make sure to request a review from |
| 32 | +someone on the team. |
| 33 | + |
| 34 | +Each PR will go through a review and presubmit, if the presubmit fails, you will not be able to merge the code. |
| 35 | +If you need to make changes to your code after opening a PR, you can push new commits to the same branch and the PR will be updated automatically. |
0 commit comments