Skip to content

ci(bots): onboard engineer-bot + reviewer-bot (databricks-bot-engine)#1560

Open
eric-wang-1990 wants to merge 3 commits into
mainfrom
ci/onboard-bot-engine
Open

ci(bots): onboard engineer-bot + reviewer-bot (databricks-bot-engine)#1560
eric-wang-1990 wants to merge 3 commits into
mainfrom
ci/onboard-bot-engine

Conversation

@eric-wang-1990

Copy link
Copy Markdown
Collaborator

Draft — INERT until an operator completes .bot/SETUP.md. Onboards dbt-databricks to the generic databricks-bot-engine (issue→bug-fix + PR review, with follow-up on review threads).

What's added

  • 4 inlined bot workflows (reviewer-bot, reviewer-bot-followup, engineer-bot, engineer-bot-followup). Public repo, so they can't consume the engine's internal composites/reusable workflows — everything is inlined. On the databricks-protected-runner-group with ./.github/actions/setup-jfrog (the protected runner is egress-blocked from public PyPI/npm) + id-token: write. Engine installed pinned by SHA via BOT_ENGINE_PAT; claude-agent-sdk/CLI pinned. Fork PRs excluded; maintainer-only label gates (engineer-bot, review-bot).
  • .bot/ for the engineer — Python/pytest (flow: bug-fix, self-verify via hatch run test:unit; functional/warehouse tests are out of scope for self-verify). Reviewer needs no .bot/ prompts (engine-owned).
  • repo_rules_files: [AGENTS.md] — dbt-databricks documents conventions in AGENTS.md, not CLAUDE.md. Uses the new engine knob.
  • .bot/SETUP.md — operator prerequisites.

⚠️ Before this can be activated

  1. Operator setup (.bot/SETUP.md): create the two GitHub Apps + store their secrets, BOT_ENGINE_PAT, DATABRICKS_HOST/DATABRICKS_TOKEN, and create the engineer-bot/review-bot labels.
  2. Org infra (this public repo on the protected runner): grant databricks/dbt-databricks access to the databricks-protected-runner-group and add it to the JFrog OIDC trust. (If unavailable, fall back to a self-hosted runner + direct PyPI and drop setup-jfrog.)
  3. ENGINE_REF must include bot-engine PR Support Delta constraints #71 (configurable repo_rules_files). Currently pinned to 8abd625 as a placeholder — re-pin to a SHA that includes Support Delta constraints #71 before activation, else repo_rules_files is ignored and (no CLAUDE.md here) no conventions inject.

Gates and details in the files; rationale in .bot/SETUP.md.

This pull request and its description were written by Isaac.

…ine)

Adds the four bot workflows + a .bot/ for the engineer, wiring dbt-databricks to
the generic databricks-bot-engine. INERT until an operator completes .bot/SETUP.md
(two GitHub Apps + secrets + the engineer-bot/review-bot labels).

- .github/workflows/{reviewer-bot,reviewer-bot-followup,engineer-bot,engineer-bot-followup}.yml
  — inlined (public repo can't consume the internal engine's composites);
  runs-on databricks-protected-runner-group + ./.github/actions/setup-jfrog
  (egress-blocked runner → JFrog mirror) + id-token: write; engine installed
  pinned-by-SHA via BOT_ENGINE_PAT; claude-agent-sdk/CLI pinned. Fork PRs
  excluded; maintainer-only label gates.
- .bot/config.yaml — Python/pytest (flow: bug-fix; self-verify via
  `hatch run test:unit`); repo_rules_files: [AGENTS.md] (dbt uses AGENTS.md,
  not CLAUDE.md — needs an ENGINE_REF including bot-engine PR #71).
- .bot/prompts/{author_system,author_user,followup_system}.md — dbt-adapter
  Python testing discipline.
- .bot/SETUP.md — operator prerequisites incl. the protected-runner-group grant
  + JFrog OIDC trust this public repo needs.

Co-authored-by: Isaac
@github-actions

Copy link
Copy Markdown

Coverage report

This PR does not seem to contain any modification to coverable code.

…fig.yaml

Matches databricks-bot-engine PR #71 (env-var interface). Drop the
repo_rules_files key from .bot/config.yaml; set REPO_RULES_FILES: AGENTS.md in
each bot workflow run-step env instead. Still needs an ENGINE_REF that includes
#71.
#71 (REPO_RULES_FILES env var) is merged; pin all four workflows to a SHA that
includes it so the REPO_RULES_FILES: AGENTS.md env they set is honored. Was the
pre-#71 placeholder 8abd625.
@eric-wang-1990 eric-wang-1990 marked this pull request as ready for review June 26, 2026 10:01
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