50 lines
2.7 KiB
YAML
50 lines
2.7 KiB
YAML
name: Build TurnBasedMC and create Release
|
|
on:
|
|
push:
|
|
tags:
|
|
- '*'
|
|
|
|
jobs:
|
|
check-release-exists:
|
|
runs-on: any_archLinux
|
|
outputs:
|
|
status: ${{ steps.release_exists_check.outputs.http_code }}
|
|
steps:
|
|
- name: Check if release already exists
|
|
id: release_exists_check
|
|
run: |
|
|
curl -X GET "https://git.seodisparate.com/api/v1/repos/stephenseo/TurnBasedMinecraftMod/releases/tags/${GITHUB_REF_NAME}" \
|
|
-H 'accept: application/json' -o release_check_resp.json 2>/dev/null \
|
|
-w '%{http_code}\n' | sed 's/^\([0-9]\+\)/http_code=\1/' >> "$GITHUB_OUTPUT"
|
|
build-and-create-release:
|
|
needs: check-release-exists
|
|
if: ${{ needs.check-release-exists.outputs.status == '404' }}
|
|
runs-on: highmem_self
|
|
steps:
|
|
- run: git clone --depth=1 --no-single-branch https://git.seodisparate.com/stephenseo/TurnBasedMinecraftMod.git TurnBasedMinecraftMod
|
|
- run: cd TurnBasedMinecraftMod && git checkout ${GITHUB_REF_NAME}
|
|
- run: cd TurnBasedMinecraftMod && sed -i '/org.gradle.jvmargs/s/Xmx[0-9]\+[mMgG]/Xmx1024m/' gradle.properties
|
|
- run: cd TurnBasedMinecraftMod && ./gradlew --console=plain build
|
|
- run: cd TurnBasedMinecraftMod/build/libs && find . -regex '.*all.jar$' -exec sha256sum '{}' ';' -exec bash -c 'sha256sum {} >> sha256sums.txt' ';' && java --version >> javaVersion.txt && javac --version >> javaVersion.txt
|
|
- name: Create release and attach jar
|
|
run: |
|
|
curl --fail-with-body -X 'POST' \
|
|
"https://git.seodisparate.com/api/v1/repos/stephenseo/TurnBasedMinecraftMod/releases" \
|
|
-H 'accept: application/json' \
|
|
-H "Authorization: token ${GITHUB_TOKEN}" \
|
|
-H 'Content-Type: application/json' \
|
|
-d "{
|
|
\"name\": \"TurnBasedMinecraftMod version ${GITHUB_REF_NAME}\",
|
|
\"body\": \"See the [Changelog](https://git.seodisparate.com/stephenseo/TurnBasedMinecraftMod/src/branch/forge/Changelog.md)
|
|
|
|
$(java --version | sed -n '1p;2,$s/^/ /p')
|
|
$(javac --version)
|
|
$(find TurnBasedMinecraftMod/build/libs -regex '.*all.jar$' -exec sha256sum '{}' ';')\",
|
|
\"tag_name\": \"${GITHUB_REF_NAME}\"
|
|
}" > response.json \
|
|
&& curl --fail-with-body -X 'POST' \
|
|
"https://git.seodisparate.com/api/v1/repos/stephenseo/TurnBasedMinecraftMod/releases/$(jq .id < response.json)/assets" \
|
|
-H 'accept: application/json' \
|
|
-H "Authorization: token ${GITHUB_TOKEN}" \
|
|
-H 'Content-Type: multipart/form-data' \
|
|
-F "attachment=@$(find TurnBasedMinecraftMod/build/libs -regex '.*all.jar$');type=application/java-archive" > response2.json
|