Setup Java GitHub Workflows
| This documentation was generated with the assistance of AI. Please report any inaccuracies. |
Scaffold or update the develop.yml, main.yml, and sync.yml GitHub Actions workflows (plus the companion
.github/scripts/sync_versions.py script) that make up a Java/Maven library’s CI/CD release pipeline.
Purpose
iru-setup-java-github-workflows wires up the full house pipeline for a Java/Maven repository: build and test,
Checkstyle/PMD/SpotBugs static analysis, JaCoCo coverage and a Maven site report, a SonarQube/SonarCloud
scan, an Antora documentation build, publishing both the Antora docs and the Maven site report to GitHub
Pages, and publishing the release artifact to Maven Central. develop.yml runs this pipeline on every push to
the integration branch; main.yml runs the same pipeline when a GitHub Release is published; sync.yml
triggers on that same release-published event to open a pull request merging the released branch back into
the integration branch and bumping the development snapshot version across pom.xml, README.md, and the
Antora docs, via sync_versions.py. The skill ships generic, genericized example templates (derived from a
real repository’s workflows) embedded in the skill file itself, and resolves every placeholder in them from a
survey of the target repository rather than guessing. If any of the three workflow files already exist, it
asks the user whether to stop or attempt an update using the templates as reference, preserving any step this
skill doesn’t own (e.g. a Slack notification).
Inputs
| Argument | Required | Description | Default |
|---|---|---|---|
|
No |
Pre-resolved values for the six pipeline parameters — |
None — if |
Outputs
-
.github/workflows/develop.yml,.github/workflows/main.yml, and.github/workflows/sync.yml— created fresh, or updated in place if any already existed and the user chose to continue. -
.github/scripts/sync_versions.py, always written together withsync.yml— never one without the other. -
Supporting files created if missing:
sonar-project.properties(if Sonar values are supplied), and the Maven settings file used for deploy (defaultmvnsettings.xml), plus.gitignoreentries for/docs/build/and/target/if absent. -
A report of required repository secrets (
SONAR_TOKEN,OSSRH_USERNAME/OSSRH_PASSWORD,SIGNING_KEY/SIGNING_KEY_ID/SIGNING_PASSWORD, and conditionallySONATYPE_STAGING_PROFILE_ID) and the repository setting that must be enabled forsync.ymlto be able to open pull requests, plus any open gaps (missing Central plugin, missing signing profile, missing Antora setup, README/Antora wording that didn’t match `sync_versions.py’s default regexes).
Execution flow
Dependencies
Invokes
None — iru-setup-java-github-workflows is a leaf skill; it does not call any other skill in this catalog.
Invoked by
-
Setup Java Library Repository — Step 6 runs
iru-setup-java-github-workflows(via theiru-isolated-skill-executoragent), passing the six pipeline parameters (integration branch, Java version, publishing server id, extras/sign profile ids, settings file) from its own Step 2, plusgroupId/artifactIdfrom its own Step 1, throughargsaskey: valuelines so it isn’t asked — or made to re-readpom.xml— for facts the orchestrator already has.
Source
SKILL.md on GitHub — the file this page was generated from.