Fix a compile issue with workflows (#724) #14
This file contains 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
name: Publish Release | |
env: | |
NEXT_BUILD_NUMBER: ${{ vars.NEXT_BUILD_NUMBER }} | |
BUILD_INITIAL_VALUE: 1 | |
on: | |
push: | |
branches: | |
- main | |
workflow_dispatch: | |
inputs: | |
logLevel: | |
description: 'Log Level' | |
required: false | |
default: 'warning' | |
jobs: | |
publish: | |
runs-on: ubuntu-latest | |
if: "!contains(github.event.commits[0].message, '[ci-skip]')" | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
# https://github.com/granny/Pl3xMap/blob/1df593e5706444de28fc61855df5a7552afcd3c7/.github/workflows/build.yml#L26 | |
- uses: actions/github-script@v6 | |
name: Prepare build number if it doesn't exist | |
with: | |
debug: true | |
github-token: ${{ secrets.GH_TOKEN }} | |
script: | | |
const { owner, repo } = context.repo; | |
if (process.env.NEXT_BUILD_NUMBER === undefined || process.env.NEXT_BUILD_NUMBER === "") { | |
core.info(`Could not find a NEXT_BUILD_NUMBER env variable. Creating a new one with value ${process.env.BUILD_INITIAL_VALUE}.`); | |
const { status, data } = await github.request('POST /repos/{owner}/{repo}/actions/variables', { | |
owner: owner, | |
repo: repo, | |
name: "NEXT_BUILD_NUMBER", | |
value: process.env.BUILD_INITIAL_VALUE, | |
headers: { | |
'X-GitHub-Api-Version': '2022-11-28' | |
} | |
}).catch(err => err.response); | |
//const { status, data } = await github.rest.actions.createRepoVariable(owner, repo, "NEXT_BUILD_NUMBER", process.env.BUILD_INITIAL_VALUE); | |
core.debug(JSON.stringify(data, null, 2)); | |
if (data?.message != undefined) { | |
return core.setFailed(`Failed to update configuration variable NEXT_BUILD_NUMBER with new value of '${process.env.BUILD_INITIAL_VALUE}' for reason ${data.message}`); | |
} | |
return core.exportVariable("NEXT_BUILD_NUMBER", process.env.BUILD_INITIAL_VALUE); | |
} else if (process.env.NEXT_BUILD_NUMBER.split('.').length > 1 || Number.isNaN(Number.parseInt(process.env.NEXT_BUILD_NUMBER))) { | |
return core.setFailed(`NEXT_BUILD_NUMBER variable has invalid value "${process.env.NEXT_BUILD_NUMBER}", failing build.`); | |
} | |
return core.exportVariable("NEXT_BUILD_NUMBER", process.env.NEXT_BUILD_NUMBER); | |
- name: Validate Gradle Wrapper | |
uses: gradle/actions/wrapper-validation@v3 | |
- name: Set up JDK 21 | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: 21 | |
check-latest: true | |
- name: Gradle Properties Import. | |
id: properties | |
shell: bash | |
run: cat gradle.properties >> $GITHUB_ENV | |
- name: Make gradlew executable | |
run: chmod +x ./gradlew | |
- name: Assemble | |
run: | |
./gradlew assemble --stacktrace | |
- name: Publish | |
env: | |
HANGAR_KEY: ${{ secrets.HANGAR_KEY }} | |
MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }} | |
run: ./gradlew modrinth publishAllPublicationsToHangar --stacktrace | |
- name: Build Succeeded | |
uses: sarisia/actions-status-discord@v1 | |
if: success() | |
with: | |
webhook: ${{ secrets.DISCORD_WEBHOOK }} | |
noprefix: true | |
nodetail: true | |
title: A new version of CrazyCrates is ready. | |
color: 0xE91E63 | |
description: | | |
* <:hangar:1139326635313733652> https://hangar.papermc.io/CrazyCrew/CrazyCrates/versions/${{ env.version }}-${{ env.NEXT_BUILD_NUMBER }} | |
* <:modrinth:1115307870473420800> https://modrinth.com/plugin/crazycrates/version/${{ env.version }}-${{ env.NEXT_BUILD_NUMBER }} | |
- name: Build Failed | |
uses: sarisia/actions-status-discord@v1 | |
if: ${{ failure() }} | |
with: | |
webhook: ${{ secrets.DISCORD_WEBHOOK }} | |
noprefix: true | |
nodetail: true | |
title: The build didn't survive. | |
color: 0xff0000 | |
description: | | |
Version ${{ env.version }} build ${{ env.NEXT_BUILD_NUMBER }} has died. | |
Click [here](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) to view the run. | |
# https://github.com/granny/Pl3xMap/blob/1df593e5706444de28fc61855df5a7552afcd3c7/.github/workflows/build.yml#L95 | |
- uses: actions/github-script@v6 | |
name: Increment Build Number | |
if: success() | |
with: | |
debug: true | |
github-token: ${{ secrets.GH_TOKEN }} | |
script: | | |
const { owner, repo } = context.repo; | |
const value = '' + (${{ env.NEXT_BUILD_NUMBER }} + 1); | |
core.info(`attempting to update variable 'NEXT_BUILD_NUMBER' to '${value}'.`); | |
const { status, data } = await github.request('PATCH /repos/{owner}/{repo}/actions/variables/{name}', { | |
owner: owner, | |
repo: repo, | |
name: "NEXT_BUILD_NUMBER", | |
value: value, | |
headers: { | |
'X-GitHub-Api-Version': '2022-11-28' | |
} | |
}).catch(err => err.response); | |
//const { data } = await github.rest.actions.updateRepoVariable(owner, repo, "NEXT_BUILD_NUMBER", value) | |
core.debug(JSON.stringify(data, null, 2)); | |
if (data?.message != undefined) { | |
return core.setFailed(`Failed to update configuration variable NEXT_BUILD_NUMBER with new value of '${value}'`); | |
} |