fixed a few more issues in staffchat #30
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 | |
with: | |
fetch-depth: '0' | |
- 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 | |
- 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: Import gradle properties | |
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 --stacktrace | |
- 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}'`); | |
} | |
- name: Notify Discord | |
if: success() | |
env: | |
CHATMANAGER_WEBHOOK: ${{ secrets.CHATMANAGER_WEBHOOK }} | |
run: ./gradlew webhook |