Files
AnarchyMod/.github/workflows/release.yml
T

159 lines
7.8 KiB
YAML

name: Publish Release
on:
workflow_dispatch:
inputs:
version:
description: 'Version to release'
required: true
after-version:
description: 'Snapshot version after release'
required: true
jobs:
set-release-version:
uses: ./.github/workflows/set-version.yml
with:
version: ${{ inputs.version }}
build:
needs: set-release-version
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v7
with:
ref: ${{ github.ref }}
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v6
- name: Set up JDK 25
uses: actions/setup-java@v5
with:
java-version: '25'
distribution: 'temurin'
- name: Build with Gradle
run: ./gradlew chiseledBuild
- name: Build Changelog
id: changelog
uses: mikepenz/release-changelog-builder-action@v6
with:
mode: COMMIT
toTag: ${{ github.ref }}
configurationJson: |
{
"template": "#{{CHANGELOG}}",
"commit_template": "- [`#{{SHORT_MERGE_SHA}}`](https://github.com/#{{OWNER}}/#{{REPO}}/commit/#{{MERGE_SHA}}) #{{TITLE}}",
"categories": [
{ "title": "## Features", "labels": ["feat", "feature"] },
{ "title": "## Fixes", "labels": ["fix", "bug"] },
{ "title": "## Performance", "labels": ["perf"] },
{ "title": "## Refactor", "labels": ["refactor"] },
{ "title": "## Documentation", "labels": ["docs"] },
{ "title": "## Build", "labels": ["build", "chore", "ci"] },
{ "title": "## Other", "labels": [] }
],
"empty_template": "no changes",
"label_extractor": [
{
"pattern": "^(build|chore|ci|docs|feat|fix|perf|refactor|revert|style|test){1}(\\([\\w\\-\\.]+\\))?(!)?: ([\\w ])+([\\s\\S]*)",
"on_property": "title",
"target": "$1"
}
],
"custom_placeholders": [
{
"name": "SHORT_MERGE_SHA",
"source": "MERGE_SHA",
"transformer": {
"pattern": "^([0-9a-f]{7})[0-9a-f]*$",
"target": "$1"
}
}
]
}
env:
GITHUB_TOKEN: ${{ github.token }}
- name: Create GitHub Release
env:
GH_TOKEN: ${{ github.token }}
CHANGELOG: ${{ steps.changelog.outputs.changelog }}
run: |
VERSION="${{ inputs.version }}"
REPO="${{ github.repository }}"
DOWNLOAD_URL="https://github.com/${REPO}/releases/download/${VERSION}"
NOTES=$(cat <<EOF
## Downloads
| Minecraft Version | Download |
|---|---|
| 1.19.4 | [\`anarchymod-mc-1.19.4-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.19.4-${VERSION}.jar) |
| 1.20 | [\`anarchymod-mc-1.20-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.20-${VERSION}.jar) |
| 1.20.1 | [\`anarchymod-mc-1.20.1-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.20.1-${VERSION}.jar) |
| 1.20.2 | [\`anarchymod-mc-1.20.2-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.20.2-${VERSION}.jar) |
| 1.20.3 | [\`anarchymod-mc-1.20.3-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.20.3-${VERSION}.jar) |
| 1.20.4 | [\`anarchymod-mc-1.20.4-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.20.4-${VERSION}.jar) |
| 1.20.5 | [\`anarchymod-mc-1.20.5-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.20.5-${VERSION}.jar) |
| 1.20.6 | [\`anarchymod-mc-1.20.6-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.20.6-${VERSION}.jar) |
| 1.21 | [\`anarchymod-mc-1.21-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.21-${VERSION}.jar) |
| 1.21.1 | [\`anarchymod-mc-1.21.1-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.21.1-${VERSION}.jar) |
| 1.21.2 | [\`anarchymod-mc-1.21.2-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.21.2-${VERSION}.jar) |
| 1.21.3 | [\`anarchymod-mc-1.21.3-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.21.3-${VERSION}.jar) |
| 1.21.4 | [\`anarchymod-mc-1.21.4-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.21.4-${VERSION}.jar) |
| 1.21.5 | [\`anarchymod-mc-1.21.5-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.21.5-${VERSION}.jar) |
| 1.21.6 | [\`anarchymod-mc-1.21.6-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.21.6-${VERSION}.jar) |
| 1.21.7 | [\`anarchymod-mc-1.21.7-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.21.7-${VERSION}.jar) |
| 1.21.8 | [\`anarchymod-mc-1.21.8-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.21.8-${VERSION}.jar) |
| 1.21.9 | [\`anarchymod-mc-1.21.9-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.21.9-${VERSION}.jar) |
| 1.21.10 | [\`anarchymod-mc-1.21.10-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.21.10-${VERSION}.jar) |
| 1.21.11 | [\`anarchymod-mc-1.21.11-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.21.11-${VERSION}.jar) |
| 26.1 | [\`anarchymod-mc-26.1-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-26.1-${VERSION}.jar) |
| 26.1.1 | [\`anarchymod-mc-26.1.1-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-26.1.1-${VERSION}.jar) |
| 26.1.2 | [\`anarchymod-mc-26.1.2-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-26.1.2-${VERSION}.jar) |
| 26.2 | [\`anarchymod-mc-26.2-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-26.2-${VERSION}.jar) |
${CHANGELOG}
EOF
)
gh release create "${VERSION}" \
--title "AnarchyMod ${VERSION}" \
--notes "${NOTES}" \
versions/1.19.4/build/libs/anarchymod-mc-1.19.4-${VERSION}.jar \
versions/1.20/build/libs/anarchymod-mc-1.20-${VERSION}.jar \
versions/1.20.1/build/libs/anarchymod-mc-1.20.1-${VERSION}.jar \
versions/1.20.2/build/libs/anarchymod-mc-1.20.2-${VERSION}.jar \
versions/1.20.3/build/libs/anarchymod-mc-1.20.3-${VERSION}.jar \
versions/1.20.4/build/libs/anarchymod-mc-1.20.4-${VERSION}.jar \
versions/1.20.5/build/libs/anarchymod-mc-1.20.5-${VERSION}.jar \
versions/1.20.6/build/libs/anarchymod-mc-1.20.6-${VERSION}.jar \
versions/1.21/build/libs/anarchymod-mc-1.21-${VERSION}.jar \
versions/1.21.1/build/libs/anarchymod-mc-1.21.1-${VERSION}.jar \
versions/1.21.2/build/libs/anarchymod-mc-1.21.2-${VERSION}.jar \
versions/1.21.3/build/libs/anarchymod-mc-1.21.3-${VERSION}.jar \
versions/1.21.4/build/libs/anarchymod-mc-1.21.4-${VERSION}.jar \
versions/1.21.5/build/libs/anarchymod-mc-1.21.5-${VERSION}.jar \
versions/1.21.6/build/libs/anarchymod-mc-1.21.6-${VERSION}.jar \
versions/1.21.7/build/libs/anarchymod-mc-1.21.7-${VERSION}.jar \
versions/1.21.8/build/libs/anarchymod-mc-1.21.8-${VERSION}.jar \
versions/1.21.9/build/libs/anarchymod-mc-1.21.9-${VERSION}.jar \
versions/1.21.10/build/libs/anarchymod-mc-1.21.10-${VERSION}.jar \
versions/1.21.11/build/libs/anarchymod-mc-1.21.11-${VERSION}.jar \
versions/26.1/build/libs/anarchymod-mc-26.1-${VERSION}.jar \
versions/26.1.1/build/libs/anarchymod-mc-26.1.1-${VERSION}.jar \
versions/26.1.2/build/libs/anarchymod-mc-26.1.2-${VERSION}.jar \
versions/26.2/build/libs/anarchymod-mc-26.2-${VERSION}.jar
set-after-version:
needs: build
uses: ./.github/workflows/set-version.yml
with:
version: ${{ inputs.after-version }}