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