)]}'
{
  "commit": "058840a4ab7362cdbe38b6d7fa4b03b60bc8955d",
  "tree": "0c4173d12d647482b44d586ff1e9cb343b023183",
  "parents": [
    "5292e05c924a2b4125f2db66898e236dc969912b"
  ],
  "author": {
    "name": "Andy Grove",
    "email": "agrove@apache.org",
    "time": "Tue May 12 21:35:18 2026 -0600"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue May 12 21:35:18 2026 -0600"
  },
  "message": "ci: add build workflow that runs make test (#15)\n\n## Summary\n\n- Adds `.github/workflows/build.yml` running on pushes to `main` and on\nPRs targeting `main`.\n- Sets up Temurin JDK 17 and a stable Rust toolchain, caches Maven\n(`~/.m2`) and cargo (`native/target`) artifacts, then runs `make test`.\n\n## Rationale\n\nThe project currently has no CI: `format.yml` was removed in #7 to clear\na deadlock when GitHub Actions wasn\u0027t yet enabled, and #11 nulled out\nthe stale branch protection rules left behind. With Actions now in\nplace, we need at least one workflow that exercises the build on every\nPR so regressions surface before merge.\n\n`make test` is the canonical full build entry point documented in\n`README.md` and `CONTRIBUTING.md` — it depends on the `native` target\n(so it builds the Rust crate first) and then runs the JVM JUnit suite,\nwhich is exactly what CI needs to cover.\n\n## What\u0027s in this PR\n\n- `.github/workflows/build.yml`: single `build` job on `ubuntu-latest`,\nJDK 17 (Temurin) with Maven cache via `actions/setup-java`, Rust stable\nvia `dtolnay/rust-toolchain`, cargo cache via `Swatinem/rust-cache`\nscoped to the `native` workspace, then `make test`.\n\n## Not in this PR\n\n- Spotless / Apache RAT / clippy / `cargo fmt` checks. These run at\nMaven\u0027s `verify` phase or via separate cargo commands and aren\u0027t wired\ninto the Makefile yet; they can be added in a follow-up once we decide\nwhether to extend the Makefile or invoke them directly from CI.\n- Matrix builds across OS or JDK versions — start minimal, expand if\nneeded.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cf1630ff39672419e24229587c01de461153c56c",
      "old_mode": 33188,
      "old_path": ".asf.yaml",
      "new_id": "175f349f0e125fa616fe47323228359fc091689f",
      "new_mode": 33188,
      "new_path": ".asf.yaml"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2db4afc194155cabceecde8bf5f98343b265770e",
      "new_mode": 33188,
      "new_path": ".github/workflows/build.yml"
    }
  ]
}
