Commit 6c029af
authored
Add GitHub Actions CI and Dependabot (#1)
## Summary
- Add `.github/workflows/ci.yml` — CI workflow with JDK matrix [21, 25],
`ktlintCheck` + `test`, test artifact upload, Dependabot auto-merge
- Add `.github/dependabot.yml` — weekly dependency updates for Gradle
(grouped: production vs testing) and GitHub Actions, with auto-merge via
shared SML workflow
Implements
[KOJAK-34](https://softwaremill.atlassian.net/browse/KOJAK-34).
## Details
**CI workflow:**
- Triggers on push to `main` and PRs
- Matrix: JDK 21 (minimum, `jvmToolchain(21)`) + JDK 25 (latest LTS)
- `fail-fast: false` for full signal on both JDK versions
- `permissions: contents: write` + `pull-requests: write` (required for
auto-merge)
- Third-party actions SHA-pinned (`gradle/actions`), GitHub-owned use
version tags
**Dependabot auto-merge:**
- `auto-merge-dependabot` job calls shared
`softwaremill/github-actions-workflows` auto-merge workflow
- Uses `SOFTWAREMILL_CI_PR_TOKEN` PAT to trigger downstream CI on merge
to main
- Dependabot PRs labeled `automerge` via `dependabot.yml` config
- Follows sttp-ai/tapir pattern
**Dependabot:**
- `gradle` ecosystem with two groups: `production` (exposed, spring,
jackson, drivers) and `testing` (kotest, testcontainers, wiremock) —
separate risk levels, auto-classified via `dependency-type`
- `github-actions` ecosystem for keeping workflow actions current
**Out of scope (deferred to KOJAK-35):**
- Release-drafter, release notes, Maven Central publishing
## Test plan
- [ ] CI workflow triggers on this PR with two matrix jobs (JDK 21, JDK
25)
- [ ] `ktlintCheck` passes on both JDK versions
- [ ] All tests pass on both JDK versions (including
Testcontainers-based integration tests)
- [ ] Create `automerge` label in GitHub repo settings (or verify
Dependabot auto-creates it on first PR)1 parent 4f104db commit 6c029af
2 files changed
Lines changed: 75 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
0 commit comments