Skip to content

Commit 936d666

Browse files
Add CLAUDE.md and remove release freeze (#1211)
## Summary - Adds a `CLAUDE.md` file documenting build/test commands, project structure, and coding conventions - Captures common PR check pitfalls: DCO sign-off, NEXT_CHANGELOG / `NO_CHANGELOG=true`, release freeze override, and GitHub account selection (non-EMU) - Removes release freeze after 3.2.1 release (`development/.release-freeze.json` set to `freeze: false`) NO_CHANGELOG=true ## Test plan - [ ] Verify CLAUDE.md renders correctly on GitHub - [ ] Confirm CI checks pass (DCO, changelog) - [ ] Verify release freeze is disabled after merge 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Signed-off-by: Vikrant Puppala <vikrant.puppala@databricks.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 1638998 commit 936d666

2 files changed

Lines changed: 47 additions & 2 deletions

File tree

CLAUDE.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# CLAUDE.md — Databricks JDBC Driver
2+
3+
## Build & Test
4+
5+
- **Build**: `mvn clean install -DskipTests`
6+
- **Run tests**: `mvn test`
7+
- **Run a single test**: `mvn test -pl . -Dtest=ClassName#methodName`
8+
- **Format code**: `mvn spotless:apply` (also runs automatically during build/test)
9+
- **JDK**: Java 11+
10+
11+
## Project Structure
12+
13+
- `src/main/java/com/databricks/jdbc/` — main driver source
14+
- `src/test/java/com/databricks/jdbc/` — unit and integration tests
15+
- `development/.release-freeze.json` — controls release freeze state
16+
17+
## PR Checks — Common Pitfalls
18+
19+
### 1. DCO Sign-off (required)
20+
21+
Every commit must include a `Signed-off-by` line. Always use the `-s` flag:
22+
23+
```bash
24+
git commit -s -m "Your commit message"
25+
```
26+
27+
### 2. NEXT_CHANGELOG.md (required unless opted out)
28+
29+
The `check-next-changelog` CI check verifies that either:
30+
31+
- `NEXT_CHANGELOG.md` is modified in the PR, **or**
32+
- The PR description body contains `NO_CHANGELOG=true`
33+
34+
For internal refactors, test-only changes, or fixes that don't need a changelog entry, add `NO_CHANGELOG=true` to the PR description.
35+
36+
### 3. Release Freeze
37+
38+
When a release freeze is active (`development/.release-freeze.json` has `"freeze": true`), PRs are blocked from merging. To override, add `OVERRIDE_FREEZE=true` to the PR description. Use this only when the merge is necessary during the freeze window.
39+
40+
### 4. GitHub Account (non-EMU)
41+
42+
Users may have multiple GitHub accounts (e.g., an EMU/enterprise account and a personal account). Pushing and creating PRs on this repo requires the **non-EMU** account. Check the active account with `gh auth status` and switch if needed with `gh auth switch --user <username>`.
43+
44+
## Coding Conventions
45+
46+
- Follow the [Google Java Style Guide](https://google.github.io/styleguide/javaguide.html)

development/.release-freeze.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
{
2-
"freeze": true,
3-
"reason": "Release version 3.2.1"
2+
"freeze": false
43
}

0 commit comments

Comments
 (0)