Skip to Content
Overview

OpenMRS GitHub Actions Workflows

openmrs-contrib-gha-workflows  holds the reusable GitHub Actions workflows OpenMRS uses to build, test and release its frontend (O3) and backend (Maven) modules. Repositories call them instead of maintaining their own copies, so fixes and improvements reach every module at once.

The workflows are a community resource too: implementers outside the OpenMRS GitHub organization can use them to build and publish their own modules to their own npm scopes and Maven repositories.

Workflows

WorkflowPurpose
Build frontend moduleBuild, lint, type-check and test an O3 module
Release frontend modulePublish pre-releases and releases to npm
Frontend PR title checkEnforce the O3 pull request title format
Frontend PR description checkEnforce the O3 pull request template
Build Maven projectBuild and test any Maven project, deploying SNAPSHOTs
Build backend moduleBuild an OpenMRS backend module across Java versions
Release backend moduleRelease a Maven module with maven-release-plugin
Upload coverageSend JaCoCo coverage to Codecov, including from forks
OWASP Dependency-CheckScan dependencies for known vulnerabilities (OpenMRS only)
Pull translations / Push translationsSync translations with Transifex (OpenMRS only)
Claude PR reviewAutomated pull request review

Versions

As with any reusable GitHub Actions workflows , when calling you must specify a {ref} for OpenMRS repos, we always use @main to get the most up-to-date version. For stability, however, it may be better to either use a version tag, e.g., @v1 or, like this repo does for the reusable components it uses, pin to a specific commit hash. You can easily setup Dependabot to keep either of these latter two up-to-date, which may be preferable as @main may occassionally break.

Last updated on