• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

valkyrjaio / valkyrja-starter-app-java / 30418537913
100%

Build:
DEFAULT BRANCH: 26.x
Ran 29 Jul 2026 03:05AM UTC
Jobs 2
Files 35
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

29 Jul 2026 03:04AM UTC coverage: 96.119%. Remained the same
30418537913

push

github

web-flow
[CI] Align the test trees and bring them under Spotless, ErrorProne, SpotBugs, and ArchUnit (#56)

# Description

Brings the starter app in line with the test-root rule codified in
valkyrjaio/architecture#79, and
closes the static-analysis gap that left its test tree unchecked by
every tool.

**The test trees had no test root.** Both the `junit` and `sindri-junit`
trees placed tests directly
at `app.unit.*` / `app.functional.*` / `app.fixtures.*`, as siblings of
the application's own
packages. They now sit under `app.tests.*`, matching PHP
`Valkyrja\Tests\`, TypeScript
`tests/Tests/`, and the sibling Java repos (valkyrjaio/valkyrja-java#63,
valkyrjaio/sindri-java#60).
TypeScript's starter app and sindri both carry the root, so it applies
to applications too, not just
frameworks. The one package-private-access test, `app.cli.AppTest`,
stays in the source package —
the single sanctioned exception.

**No tool saw the tests.** Error Prone, SpotBugs, and ArchUnit all
pointed only at
`app/src/main/java`, their own test source sets were empty, and Spotless
targeted `app/src/**/*.java`
alone. Every job's `files:` filter had the matching hole, so a test-only
change skipped all four.
Java has no type-checking gap — `javac` compiles the tests as a
precondition of running them — so
this is purely static analysis. The tests turned out to be clean: no
Error Prone or SpotBugs
findings, and all four new ArchUnit rules passed as written.

**The `sindri-junit` tests are deliberately left out of the analysis
builds.** They assert on classes
produced by a `JavaExec` codegen step, so compiling them under Error
Prone, SpotBugs, or ArchUnit
would mean replicating that generation pipeline in three more builds.
Their namespace is aligned
here; bringing them under analysis is a separate piece of work. Spotless
does format them, since
formatting needs no compilation.

**ArchUnit needed its own rules.** `TestArchitectureTest` is a separate
set from `ArchitectureTest` —
unit-test... (continued)

8 of 8 branches covered (100.0%)

Branch coverage included in aggregate %.

314 of 327 relevant lines covered (96.02%)

6.29 hits per line

Coverage Regressions

Lines Coverage ∆ File
4
20.0
-80.0% src/main/java/app/grpc/data/AppContainerData.java
2
33.33
-66.67% src/main/java/app/grpc/data/AppEventData.java
Jobs
ID Job ID Ran Files Coverage
1 30418537913.1 29 Jul 2026 03:05AM UTC 30
96.15
GitHub Action Run
2 30418537913.2 29 Jul 2026 03:05AM UTC 35
60.79
GitHub Action Run
Source Files on build 30418537913
  • Tree
  • List 35
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30418537913
  • d5854fb5 on github
  • Prev Build on 26.x (#30416841121)
  • Next Build on 26.x (#30418609947)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc