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

grobidOrg / grobid / 31736153029
44%

Build:
DEFAULT BRANCH: master
Ran 13 Aug 2026 07:40PM UTC
Jobs 1
Files 338
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

13 Aug 2026 07:30PM UTC coverage: 43.506% (+0.005%) from 43.501%
31736153029

push

github

web-flow
Sort the full-image runtime stage stable-first (#1545)

The runtime stage copied the built Java distribution in as its first step, above
the DeLFT install, the JEP build and the glove embeddings preload. That copy
changes with every grobid commit, so all three expensive-and-stable layers were
rebuilt on every build.

Move the grobid COPY to the bottom of the stage. The /data symlink moves up with
the preload, since resources-registry.json writes the lmdb to a path that
resolves through it. The JEP build bind-mounted the JDK from `builder`, tying it
to a stage that is rebuilt per commit; it now mounts from a one-line `jdk` stage
on the same pinned base image -- same content, no extra pull. The preload still
takes two files from the builder, but BuildKit keys COPY --from on their content,
so it rebuilds when the registry changes rather than per commit.

Also move the /data permission fixing into the RUN that fills it. A recursive
chmod in a later layer copies up every file it touches, which put a second copy
of the multi-GB embeddings database in the image.

The TensorFlow install already sat above the COPY and is left where it is.

The GitHub Actions cache is capped at 10GB per repository with LRU eviction, and
mode=max on this image exports well past that -- the torch/CUDA wheels are ~5GB
and the embeddings lmdb ~2GB. Entries were evicted between runs, so layers the
Dockerfile ordering makes cacheable were rebuilt anyway.

Push the cache to lfoppiano/grobid:buildcache, over the Docker Hub login the job
already does. ignore-error keeps a failed export from failing the build.

The build matrix ran `assemble test jacocoTestReport` on all four runners, but
only ubuntu-latest publishes coverage. Two kinds of waste followed.

jacocoTestReport writes per-subproject reports that nothing downstream reads --
coveralls is fed by the aggregate codeCoverageReport task, which depends on the
test tasks and derives from their execution data. Drop it from every leg.

... (continued)

10126 of 25690 branches covered (39.42%)

Branch coverage included in aggregate %.

21222 of 46365 relevant lines covered (45.77%)

1.86 hits per line

Coverage Regressions

Lines Coverage ∆ File
4
70.95
-0.56% org/grobid/core/lexicon/Lexicon.java
1
43.45
-0.36% org/grobid/core/utilities/GrobidProperties.java
Jobs
ID Job ID Ran Files Coverage
1 31736153029.1 13 Aug 2026 07:40PM UTC 338
43.51
GitHub Action Run
Source Files on build 31736153029
  • Tree
  • List 338
  • Changed 6
  • Source Changed 0
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #31736153029
  • 0148dea6 on github
  • Prev Build on master (#31702698235)
  • Next Build on master (#32623233328)
  • Delete
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