aboutsummaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorJohann Bernhardt <johann.bernhardt@tum.de>2021-12-02 19:59:50 +0100
committerGitHub <noreply@github.com>2021-12-02 19:59:50 +0100
commitaf3a51c0a8cd24a86175df8d999a79f01eb09105 (patch)
treed074e2d3901a751cca3d8153bb48aa2145b23984 /.github
parent3b5f58e4da7b186fd628b3dbcb88b5393e8ceac0 (diff)
downloadGT5-Unofficial-af3a51c0a8cd24a86175df8d999a79f01eb09105.tar.gz
GT5-Unofficial-af3a51c0a8cd24a86175df8d999a79f01eb09105.tar.bz2
GT5-Unofficial-af3a51c0a8cd24a86175df8d999a79f01eb09105.zip
Migrate to unified build script (#59)
Former-commit-id: 9b48b72af5e2885baffbe3f89984364d99bc58d4
Diffstat (limited to '.github')
-rw-r--r--.github/FUNDING.yml12
-rw-r--r--.github/scripts/test-no-crash-reports.sh9
-rw-r--r--.github/workflows/build-and-test.yml45
-rw-r--r--.github/workflows/gradle.yml26
-rw-r--r--.github/workflows/release-tags.yml45
5 files changed, 99 insertions, 38 deletions
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
deleted file mode 100644
index 8b1d0623a8..0000000000
--- a/.github/FUNDING.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-# These are supported funding model platforms
-
-github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
-patreon: bartimaeusnek
-open_collective: # Replace with a single Open Collective username
-ko_fi: # Replace with a single Ko-fi username
-tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
-community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
-liberapay: # Replace with a single Liberapay username
-issuehunt: # Replace with a single IssueHunt username
-otechie: # Replace with a single Otechie username
-custom: # Replace with a single custom sponsorship URL
diff --git a/.github/scripts/test-no-crash-reports.sh b/.github/scripts/test-no-crash-reports.sh
new file mode 100644
index 0000000000..c67e342c06
--- /dev/null
+++ b/.github/scripts/test-no-crash-reports.sh
@@ -0,0 +1,9 @@
+directory="run/crash-reports"
+if [ -d $directory ]; then
+ echo "Crash reports detected:"
+ cat $directory/*
+ exit 1
+else
+ echo "No crash reports detected"
+ exit 0
+fi
diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml
new file mode 100644
index 0000000000..a60a2b6468
--- /dev/null
+++ b/.github/workflows/build-and-test.yml
@@ -0,0 +1,45 @@
+# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time
+# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
+
+name: Build and test
+
+on:
+ pull_request:
+ branches: [ master, main ]
+ push:
+ branches: [ master, main ]
+
+jobs:
+ build-and-test:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+
+ - name: Set up JDK 8
+ uses: actions/setup-java@v2
+ with:
+ java-version: '8'
+ distribution: 'adopt'
+ cache: gradle
+
+ - name: Grant execute permission for gradlew
+ run: chmod +x gradlew
+
+ - name: Setup the workspace
+ run: ./gradlew setupCIWorkspace
+
+ - name: Build the mod
+ run: ./gradlew build
+
+ - name: Run server for 1 minute
+ run: |
+ mkdir run
+ echo "eula=true" > run/eula.txt
+ timeout 60 ./gradlew runServer || true
+
+ - name: Test no crashes happend
+ run: |
+ chmod +x .github/scripts/test-no-crash-reports.sh
+ .github/scripts/test-no-crash-reports.sh
diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml
deleted file mode 100644
index 3af6a933ed..0000000000
--- a/.github/workflows/gradle.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-# This workflow will build a Java project with Gradle
-# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
-
-name: Java CI with Gradle
-
-on:
- push:
- branches: [ master ]
- pull_request:
- branches: [ master ]
-
-jobs:
- build:
-
- runs-on: ubuntu-latest
-
- steps:
- - uses: actions/checkout@v2
- - name: Set up JDK 1.8
- uses: actions/setup-java@v1
- with:
- java-version: 1.8
- - name: Grant execute permission for gradlew
- run: chmod +x gradlew
- - name: Build with Gradle
- run: ./gradlew build -Dorg.gradle.internal.http.socketTimeout=60000 -Dorg.gradle.internal.http.connectionTimeout=60000
diff --git a/.github/workflows/release-tags.yml b/.github/workflows/release-tags.yml
new file mode 100644
index 0000000000..25c354b227
--- /dev/null
+++ b/.github/workflows/release-tags.yml
@@ -0,0 +1,45 @@
+# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time
+# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
+
+name: Release tagged build
+
+on:
+ push:
+ tags:
+ - '*'
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+
+ - name: Set release version
+ run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
+
+ - name: Set up JDK 8
+ uses: actions/setup-java@v2
+ with:
+ java-version: '8'
+ distribution: 'adopt'
+ cache: gradle
+
+ - name: Grant execute permission for gradlew
+ run: chmod +x gradlew
+
+ - name: Setup the workspace
+ run: ./gradlew setupCIWorkspace
+
+ - name: Build the mod
+ run: ./gradlew build
+
+ - name: Release under current tag
+ uses: "marvinpinto/action-automatic-releases@latest"
+ with:
+ repo_token: "${{ secrets.GITHUB_TOKEN }}"
+ automatic_release_tag: "${{ env.RELEASE_VERSION }}"
+ prerelease: false
+ title: "${{ env.RELEASE_VERSION }}"
+ files: build/libs/*.jar