From 1af3245b22a7f98c7873859db354b16f9736a861 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 7 Jun 2026 09:53:59 +0000 Subject: [PATCH 1/2] CI: add early code-style gate (spotless:check) + jdeps package-graph print MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Root cause of the prior publish-snapshot failure: spotless:check is bound to the verify phase, which ONLY the publish 'deploy' goal reaches — every compile/test/ package job stops before verify, so unformatted code passed all of them and only failed at the final publish step. Fix: a new 'code-style' job (needs: startgate) runs 'mvn spotless:check' early (fail-fast) and is now a dependency of publish-snapshot / publish-release, so publish cannot run on unformatted code. The same job also prints the internal package dependency graph via jdeps (informational, continue-on-error) — the bytecode-level layering itself is already enforced by the ArchUnit layeredArchitecture()/noPackageCycles rules in 'mvn test'. https://claude.ai/code/session_018JD9GHTJ3GNaT57iqfK3nP --- .github/workflows/publish.yml | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 5750ad0..9482139 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -26,6 +26,25 @@ jobs: steps: - run: echo "Start gate elapsed — proceeding with pipeline." + code-style: + name: Code style (spotless) + package graph + needs: startgate + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + - uses: actions/setup-java@v5 + with: + java-version: '21' + distribution: temurin + - name: Spotless check (fail fast on format violations) + run: mvn -B --no-transfer-progress spotless:check + - name: Print internal package dependency graph (jdeps, informational) + continue-on-error: true + run: | + mvn -B --no-transfer-progress -DskipTests -Denforcer.skip=true compile + echo "=== internal package dependency graph (jdeps, bytecode) ===" + jdeps -verbose:package target/classes | grep 'net.ladenthin.streambuffer' || true + build: name: Build needs: startgate @@ -160,7 +179,7 @@ jobs: publish-snapshot: name: Publish Snapshot to Central - needs: [check-snapshot] + needs: [check-snapshot, code-style] if: needs.check-snapshot.result == 'success' runs-on: ubuntu-latest environment: maven-central @@ -220,7 +239,7 @@ jobs: publish-release: name: Publish Release to Central - needs: [check-tag] + needs: [check-tag, code-style] if: needs.check-tag.result == 'success' runs-on: ubuntu-latest environment: maven-central From 71671d0bd2ddcb90e6052d1f2f3bc91644a6ea87 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 7 Jun 2026 16:37:12 +0000 Subject: [PATCH 2/2] chore(deps): bump codecov/codecov-action from 6 to 7 Matches Dependabot's java-llama.cpp #215 (and the equivalent per-repo bump); applied on the shared feature branch so it rides the existing PR for this repo instead of a separate Dependabot merge to main. --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 9482139..b28138e 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -124,7 +124,7 @@ jobs: format: jacoco continue-on-error: true - name: Codecov - uses: codecov/codecov-action@v6 + uses: codecov/codecov-action@v7 with: token: ${{ secrets.CODECOV_TOKEN }} files: target/site/jacoco/jacoco.xml