Rework project structure#201
Conversation
There was a problem hiding this comment.
Pull request overview
This PR reorganizes the repository to support a more “ruleset-style” Bazel project layout: standardized bazelrc presets, module/package metadata, updated CI/release automation, and an e2e smoke workspace for BCR-style verification.
Changes:
- Add generated Bazelrc presets and update local/CI Bazel configuration to consume them.
- Introduce BCR publishing/release automation (including docs artifact generation) plus an e2e/smoke test module.
- Add contributor tooling/config (pre-commit, typos, renovate, devcontainer) and module/package metadata wiring.
Reviewed changes
Copilot reviewed 33 out of 38 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/preset.bazelrc | Adds generated bazelrc preset flags to be imported by .bazelrc. |
| tools/BUILD.bazel | Adds target intended to generate/update the preset bazelrc. |
| tests/analysis/tests.bzl | Updates analysis test expectations for action count. |
| renovate.json | Adds Renovate configuration for dependency automation. |
| e2e/smoke/WORKSPACE.bzlmod | Adds bzlmod replacement stub for WORKSPACE mode. |
| e2e/smoke/WORKSPACE.bazel | Adds WORKSPACE-based install snippet used by releases and smoke testing. |
| e2e/smoke/README.md | Documents the purpose of the smoke test workspace. |
| e2e/smoke/MODULE.bazel.lock | Adds lockfile for the smoke test module. |
| e2e/smoke/MODULE.bazel | Adds a bzlmod-based smoke test module with local override to repo root. |
| e2e/smoke/BUILD | Adds a minimal build_test-based smoke check. |
| e2e/smoke/.bazelrc | Adds per-workspace Bazelrc file (currently empty). |
| REPO.bazel | Adds repo-wide metadata defaults (default package metadata). |
| README.md | Updates release download URL pattern, fixes typo, and adds contributing/releases sections. |
| MODULE.bazel.lock | Updates root module lockfile. |
| MODULE.bazel | Reworks module deps; adds package_metadata/platforms; documents leaving version unset; adds bazelrc-preset dep. |
| CONTRIBUTING.md | Adds contributor workflow documentation (pre-commit, overrides, releasing). |
| BUILD.bazel | Adds package metadata + license declarations at repo root. |
| .typos.toml | Adds typos tool configuration stub. |
| .pre-commit-config.yaml | Adds pre-commit hooks for formatting/linting/spellcheck. |
| .gitignore | Updates ignore patterns for Bazel outputs and user bazelrc. |
| .github/workflows/release_prep.sh | Updates release prep script; adds generated docs archive and prints install snippets. |
| .github/workflows/release.yml | Removes old release workflow file. |
| .github/workflows/release.yaml | Adds updated release workflow and wires in publish workflow. |
| .github/workflows/publish.yaml | Adds publish-to-BCR workflow wiring. |
| .github/workflows/main.yml | Removes legacy CI workflow. |
| .github/workflows/ci.yaml | Adds new CI workflow using bazel-contrib reusable workflow plus pre-commit. |
| .github/workflows/ci.bazelrc | Simplifies CI bazelrc to primarily enable the ci config and disk cache. |
| .github/workflows/buildifier.yaml | Adjusts shellcheck step and normalizes step naming/commands. |
| .github/dependabot.yml | Removes Dependabot configuration (superseded by Renovate). |
| .gitattributes | Configures git archive to exclude tests from release artifacts. |
| .devcontainer/devcontainer.json | Adds devcontainer configuration (extensions + pre-commit install). |
| .devcontainer/Dockerfile | Adds devcontainer image with bazelisk + pre-commit dependencies. |
| .bcr/source.template.json | Updates BCR source template (adds docs_url; modifies integrity placeholder). |
| .bcr/presubmit.yml | Switches to bcr_test_module presubmit using the e2e/smoke module. |
| .bcr/config.yml | Removes previous fixedReleaser config. |
| .bcr/README.md | Documents the purpose of .bcr/ configuration. |
| .bazelrc | Imports preset bazelrc and adds lockfile enforcement and user override import. |
| .bazelignore | Ignores e2e/ from the root workspace. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
| @@ -0,0 +1,6 @@ | |||
| load("@bazelrc-preset.bzl", "bazelrc_preset") | |||
There was a problem hiding this comment.
load() labels must include a file label (e.g. @repo//path:file.bzl). load("@bazelrc-preset.bzl", ...) is not a valid Bazel label and will fail to parse. Update this to load bazelrc_preset from the actual .bzl file within the bazelrc-preset.bzl repository (per that module’s docs).
| # On CI, announce all announces command options read from the bazelrc file(s) when starting up at the | ||
| # beginning of each Bazel invocation. This is very useful on CI to be able to inspect which flags |
There was a problem hiding this comment.
Grammar in this generated comment is off: it currently says “announce all announces command options…”, which is redundant/confusing. Consider updating the generator (or patching the generated file) so it reads “announce all command options…”
d3cc5d7 to
2f078b3
Compare
No description provided.