Skip to main content

CI, Releases, and Docker Images

Workflows

Two GitHub Actions workflows run on every push and PR:

  • .github/workflows/backend-ci.yml — checkout, setup Java 25, resolve version, lint (mvn -B -Plint -DskipTests verify), unit tests (mvn -B test), integration tests (mvn -B verify), third-party license consistency check, build & push Docker image (only on main and tags).
  • .github/workflows/frontend-ci.yml — checkout, setup Node 24, install, lint, test, build, third-party license check, build & push Docker image (only on main and tags).

A third workflow, publish-test-images.yml, builds preview images for PRs from trusted contributors.

Releases

Releases are tag-driven:

  1. Update CHANGELOG.md: move items from ## [Unreleased] into a new ## [X.Y.Z] - YYYY-MM-DD section.
  2. Push a tag of the form vX.Y.Z to main.
  3. CI builds and publishes Docker images tagged X.Y.Z, X.Y, and X (with X suppressed for 0.x.y) plus latest on the default branch.
  4. A GitHub Release is created automatically.

Docker images

Images are published to GHCR:

  • ghcr.io/soptim/rdfarchitect-backend
  • ghcr.io/soptim/rdfarchitect-frontend

The compose file in docker/ builds them locally; you can substitute the published images by changing build: to image:.