aboutsummaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '.github')
-rw-r--r--.github/scripts/test-no-error-reports.sh27
-rwxr-xr-x.github/scripts/test_no_error_reports51
-rw-r--r--.github/workflows/build-and-test.yml14
-rw-r--r--.github/workflows/release-tags.yml16
4 files changed, 61 insertions, 47 deletions
diff --git a/.github/scripts/test-no-error-reports.sh b/.github/scripts/test-no-error-reports.sh
deleted file mode 100644
index e3876606d5..0000000000
--- a/.github/scripts/test-no-error-reports.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-if [[ -d "run/crash-reports" ]]; then
- echo "Crash reports detected:"
- cat $directory/*
- exit 1
-fi
-
-if grep --quiet "Fatal errors were detected" server.log; then
- echo "Fatal errors detected:"
- cat server.log
- exit 1
-fi
-
-if grep --quiet "The state engine was in incorrect state ERRORED and forced into state SERVER_STOPPED" server.log; then
- echo "Server force stopped:"
- cat server.log
- exit 1
-fi
-
-if grep --quiet 'Done .+ For help, type "help" or "?"' server.log; then
- echo "Server didn't finish startup:"
- cat server.log
- exit 1
-fi
-
-echo "No crash reports detected"
-exit 0
-
diff --git a/.github/scripts/test_no_error_reports b/.github/scripts/test_no_error_reports
new file mode 100755
index 0000000000..1fcc7396c6
--- /dev/null
+++ b/.github/scripts/test_no_error_reports
@@ -0,0 +1,51 @@
+#!/usr/bin/env bash
+
+# bashsupport disable=BP5006 # Global environment variables
+RUNDIR="run" \
+ CRASH="crash-reports" \
+ SERVERLOG="server.log"
+
+# enable nullglob to get 0 results when no match rather than the pattern
+shopt -s nullglob
+
+# store matches in array
+crash_reports=("$RUNDIR/$CRASH/crash"*.txt)
+
+# if array not empty there are crash_reports
+if [ "${#crash_reports[@]}" -gt 0 ]; then
+ # get the latest crash_report from array
+ latest_crash_report="${crash_reports[-1]}"
+ {
+ printf 'Latest crash report detected %s:\n' "${latest_crash_report##*/}"
+ cat "$latest_crash_report"
+ } >&2
+ exit 1
+fi
+
+if grep --quiet --fixed-strings 'Fatal errors were detected' "$SERVERLOG"; then
+ {
+ printf 'Fatal errors detected:\n'
+ cat server.log
+ } >&2
+ exit 1
+fi
+
+if grep --quiet --fixed-strings 'The state engine was in incorrect state ERRORED and forced into state SERVER_STOPPED' \
+ "$SERVERLOG"; then
+ {
+ printf 'Server force stopped:'
+ cat server.log
+ } >&2
+ exit 1
+fi
+
+if ! grep --quiet --perl-regexp --only-matching '.+Done \(.+\)\! For help, type "help" or "\?"' "$SERVERLOG"; then
+ {
+ printf 'Server did not finish startup:'
+ cat server.log
+ } >&2
+ exit 1
+fi
+
+printf 'No crash reports detected'
+exit 0
diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml
index 08df9fe89f..56a1ad52cc 100644
--- a/.github/workflows/build-and-test.yml
+++ b/.github/workflows/build-and-test.yml
@@ -14,16 +14,16 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- with:
+ 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
@@ -36,10 +36,10 @@ jobs:
- name: Run server for 1.5 minutes
run: |
mkdir run
- echo "eula=true" > run/eula.txt
- timeout 90 ./gradlew runServer | tee --append server.log || true
+ echo "eula=true" > run/eula.txt
+ timeout 90 ./gradlew runServer 2>&1 | tee -a server.log || true
- name: Test no errors reported during server run
run: |
- chmod +x .github/scripts/test-no-error-reports.sh
- .github/scripts/test-no-error-reports.sh
+ chmod +x .github/scripts/test_no_error_reports
+ .github/scripts/test_no_error_reports
diff --git a/.github/workflows/release-tags.yml b/.github/workflows/release-tags.yml
index 96d37f7d9a..c86d8889b7 100644
--- a/.github/workflows/release-tags.yml
+++ b/.github/workflows/release-tags.yml
@@ -44,18 +44,8 @@ jobs:
title: "${{ env.RELEASE_VERSION }}"
files: build/libs/*.jar
- - name: Set repository owner and name
- run: |
- echo "REPOSITORY_OWNER=${GITHUB_REPOSITORY%/*}" >> $GITHUB_ENV
- echo "REPOSITORY_NAME=${GITHUB_REPOSITORY#*/}" >> $GITHUB_ENV
-
- - name: Publish package
+ - name: Publish to Maven
run: ./gradlew publish
env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- ARTIFACT_GROUP_ID: com.github.${{ env.REPOSITORY_OWNER }}
- ARTIFACT_ID: "${{ env.REPOSITORY_NAME }}"
- ARTIFACT_VERSION: "${{ env.RELEASE_VERSION }}"
- REPOSITORY_NAME: "${{ env.REPOSITORY_NAME }}"
- REPOSITORY_OWNER: "${{ env.REPOSITORY_OWNER }}"
-
+ MAVEN_USER: ${{ secrets.MAVEN_USER }}
+ MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}