aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrương Hoàng Long <longtruong2411@gmail.com>2022-10-01 02:45:20 +0200
committerTrương Hoàng Long <longtruong2411@gmail.com>2022-10-01 02:45:20 +0200
commit6d7a55964b8876dee4b41a161f4eaa31a96844b0 (patch)
tree8132694197705c9ec5f92772a67932a4457da20c
parentdab1418a3b0d77f8ddd3e296ca2d3845de1de01b (diff)
downloadSkyblocker-6d7a55964b8876dee4b41a161f4eaa31a96844b0.tar.gz
Skyblocker-6d7a55964b8876dee4b41a161f4eaa31a96844b0.tar.bz2
Skyblocker-6d7a55964b8876dee4b41a161f4eaa31a96844b0.zip
Restore workflow
-rw-r--r--.github/workflows/beta.yml52
-rw-r--r--.github/workflows/buildrelease.yml92
2 files changed, 144 insertions, 0 deletions
diff --git a/.github/workflows/beta.yml b/.github/workflows/beta.yml
new file mode 100644
index 00000000..d7447766
--- /dev/null
+++ b/.github/workflows/beta.yml
@@ -0,0 +1,52 @@
+name: Build Beta
+
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+
+
+jobs:
+ # This workflow contains a single job called "build"
+ build:
+ # The type of runner that the job will run on
+ runs-on: ubuntu-latest
+ # Steps represent a sequence of tasks that will be executed as part of the job
+ steps:
+ # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
+ - uses: actions/checkout@v2
+
+ - uses: actions/github-script@v2
+ with:
+ result-encoding: string
+ script: |
+ const fs = require("fs");
+ let file = fs.readFileSync("./gradle.properties");
+ file = file.toString().split("\n").map(e => e.trim().startsWith("mod_version") ? `${e}-beta-${process.env.GITHUB_SHA.substring(0, 7)}` : e).join("\n");
+ fs.writeFileSync("./gradle.properties", file);
+
+ - name: Set up JDK 17
+ uses: actions/setup-java@v2
+ with:
+ distribution: 'adopt'
+ java-version: '17'
+
+ - name: Grant execute permission for gradlew
+ run: chmod +x gradlew
+
+ - name: Build with Gradle
+ run: ./gradlew build
+
+ - uses: actions/github-script@v2
+ id: fname
+ with:
+ result-encoding: string
+ script: |
+ const fs = require("fs")
+ return fs.readdirSync("build/libs/").filter(e => !e.endsWith("dev.jar") && !e.endsWith("sources.jar") && e.endsWith(".jar"))[0].replace(".jar", "");
+
+ - uses: actions/upload-artifact@v2
+ with:
+ name: ${{ steps.fname.outputs.result }}
+ path: build/libs/ \ No newline at end of file
diff --git a/.github/workflows/buildrelease.yml b/.github/workflows/buildrelease.yml
new file mode 100644
index 00000000..ff02ee66
--- /dev/null
+++ b/.github/workflows/buildrelease.yml
@@ -0,0 +1,92 @@
+# This is a basic workflow to help you get started with Actions
+
+name: Build Release
+
+# Controls when the action will run. Triggers the workflow on push or pull request
+# events but only for the master branch
+on:
+ release:
+ types: [created]
+
+jobs:
+ # This workflow contains a single job called "build"
+ build:
+ # The type of runner that the job will run on
+ runs-on: ubuntu-latest
+ # Steps represent a sequence of tasks that will be executed as part of the job
+ steps:
+ # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
+ - uses: actions/checkout@v2
+ - name: Set up JDK 17
+ uses: actions/setup-java@v2
+ with:
+ distribution: 'adopt'
+ java-version: '17'
+
+ - name: Grant execute permission for gradlew
+ run: chmod +x gradlew
+
+ - name: Build with Gradle
+ run: ./gradlew build
+
+ - uses: actions/upload-artifact@v2
+ with:
+ name: Artifacts
+ path: build/libs/
+
+ - name: Read Changelog
+ id: read_changelog
+ shell: bash
+ run: |
+ CHANGELOG=$(sed '/___/Q' CHANGELOG.md | grep -v '# ')
+ echo "Changelog:\n$CHANGELOG"
+ CHANGELOG="${CHANGELOG//'%'/'%25'}"
+ CHANGELOG="${CHANGELOG//$'\n'/'%0A'}"
+ CHANGELOG="${CHANGELOG//$'\r'/'%0D'}"
+ echo "::set-output name=changelog::$CHANGELOG"
+
+ - uses: actions/github-script@v2
+ id: fname
+ with:
+ result-encoding: string
+ script: |
+ const fs = require("fs")
+ return fs.readdirSync("build/libs/").filter(e => !e.endsWith("dev.jar") && !e.endsWith("sources.jar") && e.endsWith(".jar"))[0]
+ - name: Release
+ id: uploadrelease
+ uses: softprops/action-gh-release@v1
+ with:
+ body: ${{ steps.read_changelog.outputs.changelog }}
+ files: build/libs/${{ steps.fname.outputs.result }}
+
+ - name: Publish to Modrinth
+ id: modrinth
+ env:
+ MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }}
+ CHANGELOG: ${{ steps.read_changelog.outputs.changelog }}
+ run: ./gradlew modrinth
+
+ - name: Get version tag
+ id: version_tag
+ run: |
+ [[ ! "$GITHUB_REF" =~ refs/tags ]] && exit
+ echo "::set-output name=value::${GITHUB_REF#refs/tags/}"
+
+ - name: Discord notification
+ env:
+ DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
+ uses: Ilshidur/action-discord@master
+ with:
+ args: |
+ "@here"
+ "Skyblocker ${{ steps.version_tag.outputs.value }}"
+ ""
+ "Changelog"
+ "```md"
+ "${{ steps.read_changelog.outputs.changelog }}"
+ "```"
+ ":inbox_tray: Download latest version on Modrinth or Github:"
+ "<:modrinth:900697862206287882> <${{ steps.modrinth.outputs.url }}>"
+ "<:github:900697885706952725> <${{ steps.uploadrelease.outputs.url }}>"
+ ""
+ "<https://hysky.de/>"