58 lines
1.9 KiB
YAML
58 lines
1.9 KiB
YAML
name: Release
|
|
|
|
on:
|
|
release:
|
|
types:
|
|
- published
|
|
|
|
jobs:
|
|
publish:
|
|
# In Gitea, this must match a label advertised by one of your online runners.
|
|
# Set it in repository variables, for example: GITEA_RUNNER_LABEL=windows or linux_amd64.
|
|
runs-on: ${{ vars.GITEA_RUNNER_LABEL }}
|
|
env:
|
|
GITEA_SERVER_URL: ${{ gitea.server_url }}
|
|
BAGTABS_GITEA_TOKEN: ${{ secrets.BAGTABS_GITEA_TOKEN }}
|
|
MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }}
|
|
CURSEFORGE_TOKEN: ${{ secrets.CURSEFORGE_TOKEN }}
|
|
MODRINTH_PROJECT_ID: ${{ vars.MODRINTH_PROJECT_ID }}
|
|
CURSEFORGE_PROJECT_ID: ${{ vars.CURSEFORGE_PROJECT_ID }}
|
|
MINECRAFT_VERSIONS: ${{ vars.MINECRAFT_VERSIONS }}
|
|
MOD_LOADERS: ${{ vars.MOD_LOADERS }}
|
|
CURSEFORGE_GAME_VERSION_NAMES: ${{ vars.CURSEFORGE_GAME_VERSION_NAMES }}
|
|
CURSEFORGE_GAME_VERSION_IDS: ${{ vars.CURSEFORGE_GAME_VERSION_IDS }}
|
|
RELEASE_ARTIFACT_GLOB: ${{ vars.RELEASE_ARTIFACT_GLOB }}
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup JDK 21
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: temurin
|
|
java-version: "21"
|
|
|
|
- name: Setup Gradle
|
|
uses: gradle/actions/setup-gradle@v4
|
|
|
|
- name: Build release jar
|
|
shell: pwsh
|
|
run: |
|
|
if (Test-Path ./gradlew.bat) {
|
|
./gradlew.bat --no-daemon clean build
|
|
} else {
|
|
chmod +x ./gradlew
|
|
./gradlew --no-daemon clean build
|
|
}
|
|
|
|
- name: Publish release artifacts
|
|
shell: pwsh
|
|
run: |
|
|
if (Get-Command python -ErrorAction SilentlyContinue) {
|
|
python ./scripts/publish_release.py
|
|
} elseif (Get-Command python3 -ErrorAction SilentlyContinue) {
|
|
python3 ./scripts/publish_release.py
|
|
} else {
|
|
throw "Python is not available on PATH."
|
|
}
|