aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/beta.yml47
-rw-r--r--.github/workflows/build.yml39
-rw-r--r--.github/workflows/buildrelease.yml35
3 files changed, 82 insertions, 39 deletions
diff --git a/.github/workflows/beta.yml b/.github/workflows/beta.yml
new file mode 100644
index 00000000..2d24d401
--- /dev/null
+++ b/.github/workflows/beta.yml
@@ -0,0 +1,47 @@
+name: Build Beta
+
+on: [ push, 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 16
+ uses: actions/setup-java@v2
+ with:
+ distribution: 'adopt'
+ java-version: '16'
+
+ - 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/build.yml b/.github/workflows/build.yml
deleted file mode 100644
index 62417f76..00000000
--- a/.github/workflows/build.yml
+++ /dev/null
@@ -1,39 +0,0 @@
-# Automatically build the project and run any configured tests for every push
-# and submitted pull request. This can help catch issues that only occur on
-# certain platforms or Java versions, and provides a first line of defence
-# against bad commits.
-
-name: build
-on: [pull_request, push]
-
-jobs:
- build:
- strategy:
- matrix:
- # Use these Java versions
- java: [
- 16 # Minimum supported by Minecraft
- ]
- # and run on both Linux and Windows
- os: [ubuntu-20.04, windows-latest]
- runs-on: ${{ matrix.os }}
- steps:
- - name: checkout repository
- uses: actions/checkout@v2
- - name: validate gradle wrapper
- uses: gradle/wrapper-validation-action@v1
- - name: setup jdk ${{ matrix.java }}
- uses: actions/setup-java@v1
- with:
- java-version: ${{ matrix.java }}
- - name: make gradle wrapper executable
- if: ${{ runner.os != 'Windows' }}
- run: chmod +x ./gradlew
- - name: build
- run: ./gradlew build
- - name: capture build artifacts
- if: ${{ runner.os == 'Linux' && matrix.java == '16' }} # Only upload artifacts built from latest java on one OS
- uses: actions/upload-artifact@v2
- with:
- name: Artifacts
- 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..a74f6d9c
--- /dev/null
+++ b/.github/workflows/buildrelease.yml
@@ -0,0 +1,35 @@
+# 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 16
+ uses: actions/setup-java@v2
+ with:
+ distribution: 'adopt'
+ java-version: '16'
+
+ - 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/ \ No newline at end of file