Skip to content

CI: adopt ArmorSkin's build workflow + add automated deploy pipeline - #27

Merged
IzzyDotExe merged 1 commit into
mainfrom
ci-deployment
Jul 17, 2026
Merged

IzzyDotExe merged 1 commit into
mainfrom
ci-deployment

Conversation

@IzzyDotExe

Copy link
Copy Markdown
Owner

Summary

  • build.yml: adopts the same build workflow used on ArmorSkin — modern actions, Gradle dependency caching, and a retry wrapper around the build step for the known-flaky shedaniel/terraformersmc maven downloads ("premature end of chunk" errors). Also moves off the deprecated ubuntu-20.04 runner image.
  • deploy.yml (new): publishes to GitHub Releases + Modrinth via mc-publish.
    • Manual dispatch (Actions tab → Run workflow) on any branch other than unstablealpha build.
    • Manual dispatch on unstablebeta build.
    • Every push to main → automatic release build, but only if gradle.properties' mod_version actually changed since the last release tag (won't fire on a no-version-bump merge, and won't fail on a duplicate tag).
    • Tag/name/version conventions match the existing GitHub Releases and Modrinth history for this project (researched via the GitHub and Modrinth APIs before writing this).

Needs the MODRINTH_TOKEN repo secret, which is already set.

Test plan

  • Validated both workflow files parse as YAML
  • Validated the mod_version/mc_version extraction and release-skip-gate shell logic locally against the real gradle.properties and tag history (correctly detects 1.4.0 == latest tag v1.4.0 and would skip; correctly would not skip if bumped)
  • Once merged, trigger a real alpha run (gh workflow run deploy.yml --ref <branch>) to confirm a GitHub prerelease + Modrinth alpha version both get created correctly end-to-end — this can't be tested pre-merge since workflow_dispatch workflows must exist on the default branch before GitHub will let them be dispatched at all.

🤖 Generated with Claude Code

- build.yml: adopt the same build workflow used on ArmorSkin (modern
  actions, Gradle caching, retry around the build step for the
  known-flaky shedaniel/terraformersmc maven downloads, ubuntu-latest
  instead of the deprecated ubuntu-20.04 image).
- deploy.yml (new): publishes to GitHub Releases + Modrinth via
  mc-publish. Manual dispatch on any branch publishes an alpha build;
  manual dispatch on unstable publishes a beta build; every push to
  main automatically publishes a release build, gated on
  gradle.properties' mod_version having actually changed since the
  last release tag.
@IzzyDotExe
IzzyDotExe merged commit e7f1f81 into main Jul 17, 2026
4 checks passed
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