From 4408ed89d5ed2d7e3c519dd2033b40c0372414c1 Mon Sep 17 00:00:00 2001 From: bombcar Date: Wed, 2 Mar 2022 16:58:05 -0600 Subject: build to maven --- .github/scripts/test-no-error-reports.sh | 27 ----------------- .github/scripts/test_no_error_reports | 51 ++++++++++++++++++++++++++++++++ .github/workflows/build-and-test.yml | 14 ++++----- .github/workflows/release-tags.yml | 16 ++-------- 4 files changed, 61 insertions(+), 47 deletions(-) delete mode 100644 .github/scripts/test-no-error-reports.sh create mode 100755 .github/scripts/test_no_error_reports (limited to '.github') 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 }} -- cgit