You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
JSBML currently has no automated CI pipeline. This issue proposes adding a GitHub Actions workflow to build and test the project on every push and pull request, generate test coverage reports via JaCoCo (see #316), and publish them to GitHub Pages.
Matrix across Java 8, 11, 17, and 21 LTS — the source/target are set to 1.7 so it compiles under all of them; this catches regressions across LTS versions.
clean verify covers the full Maven lifecycle including integration tests.
cache: maven caches ~/.m2 to keep run times short.
coverage job
Runs only on pushes to master (not on every PR) to avoid unnecessary Page deployments.
Uses JaCoCo's report-aggregate goal to produce a unified HTML report across all submodules (core, extensions, modules). This requires the JaCoCo changes proposed in Enable test coverage reporting via JaCoCo #316.
Publishes the report to GitHub Pages using the native actions/upload-pages-artifact + actions/deploy-pages approach (no third-party action needed).
The live coverage report URL is surfaced as the job's environment URL in the Actions UI.
One-time repository setup
Enable GitHub Pages in Settings → Pages → Source: GitHub Actions before the first workflow run.
Next steps
A PR adding this file can be submitted once maintainers agree on the approach. The JaCoCo pom.xml changes (issue #316) should land first or in the same PR so the coverage job has something to report.
Summary
JSBML currently has no automated CI pipeline. This issue proposes adding a GitHub Actions workflow to build and test the project on every push and pull request, generate test coverage reports via JaCoCo (see #316), and publish them to GitHub Pages.
Proposed workflow
Create
.github/workflows/ci.yml:Rationale
buildjobclean verifycovers the full Maven lifecycle including integration tests.cache: mavencaches~/.m2to keep run times short.coveragejobmaster(not on every PR) to avoid unnecessary Page deployments.report-aggregategoal to produce a unified HTML report across all submodules (core,extensions,modules). This requires the JaCoCo changes proposed in Enable test coverage reporting via JaCoCo #316.actions/upload-pages-artifact+actions/deploy-pagesapproach (no third-party action needed).One-time repository setup
Enable GitHub Pages in Settings → Pages → Source: GitHub Actions before the first workflow run.
Next steps
A PR adding this file can be submitted once maintainers agree on the approach. The JaCoCo pom.xml changes (issue #316) should land first or in the same PR so the
coveragejob has something to report.