Skip to content

chore(ci): adopt shared workflows and central Renovate preset - #204

Open
TheMeinerLP wants to merge 3 commits into
mainfrom
chore/standardize-pipelines-and-renovate
Open

chore(ci): adopt shared workflows and central Renovate preset#204
TheMeinerLP wants to merge 3 commits into
mainfrom
chore/standardize-pipelines-and-renovate

Conversation

@TheMeinerLP

@TheMeinerLP TheMeinerLP commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

What

Brings this repository onto the OneLiteFeather standard CI, release and dependency setup.

CI, security and dependencies

  • security.yml (Trivy + CycloneDX SBOM)

Release automation and PR hygiene

  • pr-lint.yml + commitlint config
  • SBOM attached to every release
  • publish was already correctly chained - left as is

Version anchoring and Renovate presets

  • version moved out of gradle.properties into build.gradle.kts
  • removed the now-unused version from gradle.properties
  • extra-files now points at build.gradle.kts
  • bootstrap-sha set from tag v1.14.0 (was "HEAD")

Why

One shared setup per concern instead of a hand-maintained copy per repository:

  • Reusable workflows (OneLiteFeatherNET/workflows) are pinned to a full SemVer tag, so a fix
    in the shared catalogue reaches this repository through a Renovate PR.
  • Central Renovate preset brings the shared schedule, automerge and labelling rules and assigns
    the maintainer team as reviewer, instead of a per-repository config that drifts.
  • Security gate: Trivy scans for vulnerabilities and secrets and reports into GitHub code
    scanning, plus a CycloneDX SBOM on every run. Report-only, so adopting it does not turn CI red on
    day one.
  • Release Please in simple mode turns Conventional Commits into a release PR; merging it tags
    the version and cuts the release. Simple mode deliberately does not rewrite language version
    files, which keeps this change limited to release plumbing.
  • A CycloneDX SBOM is attached to every GitHub release, so each shipped version carries its own
    dependency inventory.
  • The Renovate platform preset (:minestom / :paper) is what teaches Renovate the
    date-based Minestom scheme and Paper's X.Y.Z-<mc-version> scheme; without it those two get
    parsed as plain SemVer and updated wrongly.
  • The version lives in build.gradle.kts behind // x-release-please-version, so a release
    changes exactly one line in one file instead of a properties file the build has to parse.
  • PR linting enforces Conventional Commits on the PR title and on every commit - without it
    release-please silently fails to bump the version or drops the commit from the changelog.

Everything a release needs is chained into the release-please workflow run on purpose: release-please
tags with GITHUB_TOKEN, and a tag pushed that way does not start a separate
on: push: tags workflow.

- security.yml (Trivy + CycloneDX SBOM)
@TheMeinerLP
TheMeinerLP requested a review from a team as a code owner August 21, 2026 17:19
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

@github-actions

github-actions Bot commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Test results

 63 files   63 suites   34s ⏱️
 55 tests  53 ✅ 2 💤 0 ❌
168 runs  162 ✅ 6 💤 0 ❌

Results for commit 46c81a6.

♻️ This comment has been updated with latest results.

- pr-lint.yml
- commitlint.config.mjs
- SBOM job appended to release-please.yaml
…build.gradle.kts

- version moved out of gradle.properties into build.gradle.kts; removed the now-unused version from gradle.properties; extra-files now points at build.gradle.kts
- bootstrap-sha set from tag v1.14.0 (was "HEAD")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants