Skip to content

Set up Bazel workspace structure, rules_lint formatters/linters, and CI - #1

Merged
menny merged 2 commits into
mainfrom
setup-bazel-rules-lint
Oct 15, 2026
Merged

menny merged 2 commits into
mainfrom
setup-bazel-rules-lint

Conversation

@menny

@menny menny commented Oct 15, 2026

Copy link
Copy Markdown
Member

Summary

This PR sets up the foundational Bazel workspace structure, external dependencies via Bzlmod, formatters and linters via aspect_rules_lint, and a GitHub Actions CI workflow.

Changes

  1. Bazel & Bzlmod Setup:

    • Configured .bazelversion with Bazel 9.3.0.
    • Configured .bazelrc with UI options, error test output, and linting aspects.
    • Configured MODULE.bazel with rules_jvm_external (7.2), rules_kotlin (2.4.20), and rules_java (9.9.0).
    • Added core JVM dependencies: sqlite-jdbc, kotlinx-serialization-json, kotlinx-coroutines-core, and junit.
    • Defined Bazel package boundaries for //core/linguistics, //tools/preprocessor, and //app.
  2. Formatters & Linters (aspect_rules_lint):

    • Integrated ktfmt configured with --kotlinlang-style.
    • Integrated ktlint aspect referencing .editorconfig and baseline file.
    • Integrated buildifier for Starlark formatting and linting.
    • Integrated shfmt for shell script formatting.
    • Exposed root aliases //:format and //:format.check.
  3. CI Workflow:

    • Added .github/workflows/ci.yml running on pull requests and pushes to main.
    • Steps include format checking (bazelisk run //:format.check), linting (bazelisk build --config=lint //...), building (bazelisk build //...), and testing (bazelisk test //...).

menny added 2 commits October 15, 2026 00:48
Configure Bazel bzlmod with rules_jvm_external and rules_kotlin, define package structures for app, core/linguistics, and tools/preprocessor, and add GitHub Actions CI workflow for build and test.
Configure formatters and linters using aspect_rules_lint. Integrate ktfmt with --kotlinlang-style, ktlint aspect with .editorconfig, and buildifier for Starlark formatting and linting. Add format check and lint steps to GitHub Actions CI workflow.
@menny
menny merged commit 02e77fe into main Oct 15, 2026
1 check failed
@menny
menny deleted the setup-bazel-rules-lint branch October 15, 2026 02:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant