Skip to content

Commit e4fa472

Browse files
aksOpsclaude
andcommitted
ci: restore lean Java CI gate to pair with go-parity workflow
The earlier "remove Java build from pipeline" iteration deleted ci-java.yml outright, leaving go-parity.yml as the only thing exercising the Java side on every PR — which means a Java compile break would only surface inside the parity test rather than as its own failure signal. This restores ci-java.yml as a lean gate: - Triggers only on src/**, pom.xml, or this workflow path-filtered changes (Go-only PRs do not run the Java side). - `mvn -ntp -Dfrontend.skip=true verify` — compile + unit tests only, no jacoco coverage, no spotbugs, no OWASP. Those heavier checks stay under release-java.yml workflow_dispatch. - Uploads surefire-reports on always() so a regression artifact is recoverable. This is the partner gate the parity workflow assumed existed. Disappears in Phase 6 cutover with the rest of the Java tree. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent dd1bd9a commit e4fa472

1 file changed

Lines changed: 55 additions & 0 deletions

File tree

.github/workflows/ci-java.yml

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Java CI
2+
3+
# Lean Java CI — fast compile + unit-test gate on the Java reference side.
4+
# Pairs with go-parity.yml: this workflow proves the Java jar still builds
5+
# on every PR; go-parity.yml then uses the same build to diff against the
6+
# Go port.
7+
#
8+
# Heavier checks (jacoco coverage, SpotBugs, OWASP dependency-check) live
9+
# under workflow_dispatch via release-java.yml — they're not in the per-PR
10+
# loop because they slow the Go port's PRs without adding signal.
11+
#
12+
# Disappears in Phase 6 cutover along with the rest of the Java tree.
13+
14+
on:
15+
push:
16+
branches: [main]
17+
paths:
18+
- 'src/**'
19+
- 'pom.xml'
20+
- '.github/workflows/ci-java.yml'
21+
pull_request:
22+
branches: [main]
23+
paths:
24+
- 'src/**'
25+
- 'pom.xml'
26+
- '.github/workflows/ci-java.yml'
27+
28+
permissions: read-all
29+
30+
jobs:
31+
build:
32+
name: build
33+
runs-on: ubuntu-latest
34+
permissions:
35+
contents: read
36+
steps:
37+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v4.2.2
38+
with:
39+
fetch-depth: 0
40+
- uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v4.7.1
41+
with:
42+
distribution: 'temurin'
43+
java-version: '25'
44+
cache: 'maven'
45+
- name: Compile + unit tests (skip frontend)
46+
# -Dfrontend.skip=true so the npm step doesn't run — CI image
47+
# doesn't carry node 20 by default and the frontend is owned by
48+
# a separate workflow. -B (batch) + -ntp (no transfer progress)
49+
# for quiet logs.
50+
run: mvn -B -ntp -Dfrontend.skip=true verify
51+
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v4.6.2
52+
if: always()
53+
with:
54+
name: java-test-results
55+
path: target/surefire-reports/

0 commit comments

Comments
 (0)