Files
bag-tabs/.gitea/workflows/release.yml

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."
}