CI: adopt ArmorSkin's build workflow + add automated deploy pipeline - #27
Merged
Merged
Conversation
- 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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 deprecatedubuntu-20.04runner image.deploy.yml(new): publishes to GitHub Releases + Modrinth via mc-publish.unstable→ alpha build.unstable→ beta build.main→ automatic release build, but only ifgradle.properties'mod_versionactually changed since the last release tag (won't fire on a no-version-bump merge, and won't fail on a duplicate tag).Needs the
MODRINTH_TOKENrepo secret, which is already set.Test plan
gradle.propertiesand tag history (correctly detects1.4.0== latest tagv1.4.0and would skip; correctly would not skip if bumped)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 sinceworkflow_dispatchworkflows must exist on the default branch before GitHub will let them be dispatched at all.🤖 Generated with Claude Code