Update workflow files

Signed-off-by: Max <maxh2709@gmail.com>
This commit is contained in:
Max
2021-12-26 23:11:11 +01:00
parent eea1b5182c
commit 82d1b6947f
4 changed files with 184 additions and 338 deletions

74
.github/workflows/1.18_pr.yml vendored Normal file
View File

@@ -0,0 +1,74 @@
name: Build PR snapshot (1.18)
on:
pull_request:
paths:
- '**.gradle'
- '**.properties'
- '**/src/**'
branches:
- "1.18"
types: [ opened, synchronize, reopened ]
jobs:
validate-gradle:
name: "Validate Gradle wrapper"
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: gradle/wrapper-validation-action@v1
license:
name: "Verify License integrity"
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Set up JDK 17
uses: actions/setup-java@v2
with:
java-version: 17
distribution: 'temurin'
- name: Setup Gradle and verify license using Licenser
uses: gradle/gradle-build-action@v2
with:
arguments: licenseCheck
build:
name: "Build"
runs-on: ubuntu-20.04
if: |
!contains(github.event.pull_request.title, '[ci skip]')
steps:
- uses: actions/checkout@v2
- name: Set up JDK 17
uses: actions/setup-java@v2
with:
java-version: 17
distribution: 'temurin'
- name: Setup and Build with Gradle
uses: gradle/gradle-build-action@v2
with:
arguments: build --stacktrace --no-daemon
- name: Setting mod version
run: |
cat $GITHUB_WORKSPACE/gradle.properties | grep ^archives_base_name= >> $GITHUB_ENV
cat $GITHUB_WORKSPACE/gradle.properties | grep ^minecraft_version= >> $GITHUB_ENV
cat $GITHUB_WORKSPACE/gradle.properties | grep ^base_version= >> $GITHUB_ENV
- name: Create package name
run: echo "package_name=[$minecraft_version] $archives_base_name-$base_version-SNAPSHOT.PR${{ github.event.number }}" >> $GITHUB_ENV
- uses: actions/upload-artifact@v2
with:
name: ${{ env.package_name }}
path: |
**/build/libs/
!build/libs/
!**/*-dev.jar
!**/*-shadow.jar
!**/*-transformProduction*.jar
!**/testmod*/

110
.github/workflows/1.18_push.yml vendored Normal file
View File

@@ -0,0 +1,110 @@
name: Build and Release (1.18)
on:
push:
paths:
- '**.gradle'
- '**.properties'
- '**/src/**'
branches:
- "1.18"
workflow_dispatch:
inputs:
norelease:
description: 'Do not publish'
required: true
default: 'false'
jobs:
validate-gradle:
name: "Validate Gradle wrapper"
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: gradle/wrapper-validation-action@v1
license:
name: "Verify License integrity"
runs-on: ubuntu-20.04
if: |
!contains(github.event.head_commit.message, '[ci skip]')
steps:
- uses: actions/checkout@v2
- name: Set up JDK 17
uses: actions/setup-java@v2
with:
java-version: 17
distribution: 'temurin'
- name: Setup Gradle and verify license using Licenser
uses: gradle/gradle-build-action@v2
with:
arguments: licenseCheck
build:
name: "Build"
runs-on: ubuntu-20.04
if: |
!contains(github.event.head_commit.message, '[ci skip]')
steps:
- uses: actions/checkout@v2
- name: Set up JDK 17
uses: actions/setup-java@v2
with:
java-version: 17
distribution: 'temurin'
- name: Setup and Build with Gradle
uses: gradle/gradle-build-action@v2
with:
arguments: build --stacktrace --no-daemon
- name: Setting mod version
run: |
cat $GITHUB_WORKSPACE/gradle.properties | grep ^archives_base_name= >> $GITHUB_ENV
cat $GITHUB_WORKSPACE/gradle.properties | grep ^minecraft_version= >> $GITHUB_ENV
cat $GITHUB_WORKSPACE/gradle.properties | grep ^base_version= >> $GITHUB_ENV
- name: Create package name
run: echo "package_name=[$minecraft_version] $archives_base_name-$base_version.${{ github.run_number }}" >> $GITHUB_ENV
- uses: actions/upload-artifact@v2
with:
name: ${{ env.package_name }}
path: |
**/build/libs/
!build/libs/
!**/*-dev.jar
!**/*-shadow.jar
!**/*-transformProduction*.jar
!**/testmod*/
publish:
needs:
- validate-gradle
- license
- build
runs-on: ubuntu-20.04
if: |
!contains(github.event.head_commit.message, '[norelease]') && github.event.inputs.norelease != 'true'
steps:
- uses: actions/checkout@v2
- name: Set up JDK 17
uses: actions/setup-java@v2
with:
java-version: 17
distribution: 'temurin'
- name: Setup Gradle and release to Maven and CurseForge
env:
# currently unused, may want to use these for changelogs though!
# GIT_COMMIT: ${{ github.event.after }}
# GIT_PREVIOUS_COMMIT: ${{ github.event.before }}
MAVEN_PASS: ${{ secrets.MAVEN_PASS }}
CURSE_API_KEY: ${{ secrets.CURSE_API_KEY }}
uses: gradle/gradle-build-action@v2
with:
arguments: publish curseforge --stacktrace --no-daemon

View File

@@ -1,137 +0,0 @@
name: Build PR snapshot (1.17)
on:
pull_request:
paths:
- '**.gradle'
- '**.properties'
- '**/src/**'
branches:
- "1.18"
types: [ opened, synchronize, reopened ]
jobs:
validate-gradle:
name: "Validate Gradle wrapper"
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: gradle/wrapper-validation-action@v1
license:
name: "Verify License integrity"
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Set up JDK 17
uses: actions/setup-java@v2
with:
java-version: 17
distribution: 'temurin'
- name: Cache Gradle wrapper
uses: actions/cache@v2
with:
path: ~/.gradle/wrapper
key: gradle-wrapper-${{ runner.os }}-${{ hashFiles('gradle/wrapper/**/*') }}
restore-keys: gradle-wrapper-${{ runner.os }}-
- name: Cache packages
id: cache-packages
uses: actions/cache@v2
with:
path: ~/.gradle/caches
key: gradle-packages-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: gradle-packages-${{ runner.os }}-
- name: Make gradlew executable
run: chmod +x ./gradlew
- name: Verify license using Licenser
run: |
./gradlew licenseCheck
# Remove some potentially problematic files from the Gradle cache,
# so that GitHub Actions doesn't cache them.
- name: Cleanup Gradle Cache
if: steps.cache-packages.outputs.cache-hit != 'true'
run: |
rm -f $HOME/.gradle/caches/*/*.lock
rm -rf $HOME/.gradle/caches/*/plugin-resolution/
rm -rf $HOME/.gradle/caches/*/scripts/
rm -rf $HOME/.gradle/caches/*/scripts-remapped/
rm -rf $HOME/.gradle/caches/*/fileHashes/
rm -f $HOME/.gradle/caches/journal-1/file-access.bin
build:
name: "Build"
strategy:
matrix:
java: [ 17 ] # Build on Java 17 (version shipped with MC 1.18)
runs-on: ubuntu-20.04
if: |
!contains(github.event.pull_request.title, '[ci skip]')
steps:
- uses: actions/checkout@v2
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java }}
distribution: 'temurin'
- name: Cache Gradle wrapper
uses: actions/cache@v2
with:
path: ~/.gradle/wrapper
key: gradle-wrapper-${{ runner.os }}-${{ hashFiles('gradle/wrapper/**/*') }}
restore-keys: gradle-wrapper-${{ runner.os }}-
- name: Cache packages
id: cache-packages
uses: actions/cache@v2
with:
path: ~/.gradle/caches
key: gradle-packages-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: gradle-packages-${{ runner.os }}-
- name: Make gradlew executable
run: chmod +x ./gradlew
- name: Build with Gradle
run: |
./gradlew build --stacktrace --no-daemon
# Remove some potentially problematic files from the Gradle cache,
# so that GitHub Actions doesn't cache them.
- name: Cleanup Gradle Cache
if: steps.cache-packages.outputs.cache-hit != 'true'
run: |
rm -f $HOME/.gradle/caches/*/*.lock
rm -rf $HOME/.gradle/caches/*/plugin-resolution/
rm -rf $HOME/.gradle/caches/*/scripts/
rm -rf $HOME/.gradle/caches/*/scripts-remapped/
rm -rf $HOME/.gradle/caches/*/fileHashes/
rm -f $HOME/.gradle/caches/journal-1/file-access.bin
- name: Setting mod version
if: ${{ matrix.java == '17' }} # Only upload Java 17 artifacts for MC 1.18
run: |
cat $GITHUB_WORKSPACE/gradle.properties | grep ^archives_base_name= >> $GITHUB_ENV
cat $GITHUB_WORKSPACE/gradle.properties | grep ^minecraft_version= >> $GITHUB_ENV
cat $GITHUB_WORKSPACE/gradle.properties | grep ^base_version= >> $GITHUB_ENV
- name: Create package name
if: ${{ matrix.java == '17' }} # Only upload Java 17 artifacts for MC 1.18
run: echo "package_name=[$minecraft_version] $archives_base_name-$base_version-SNAPSHOT.PR${{ github.event.number }}" >> $GITHUB_ENV
- uses: actions/upload-artifact@v2
if: ${{ matrix.java == '17' }} # Only upload Java 17 artifacts for MC 1.18
with:
name: ${{ env.package_name }}
path: |
**/build/libs/
!build/libs/
!**/*-dev.jar
!**/*-shadow.jar
!**/*-transformProduction*.jar
!**/testmod*/

View File

@@ -1,201 +0,0 @@
name: Build and Release (1.17)
on:
push:
paths:
- '**.gradle'
- '**.properties'
- '**/src/**'
branches:
- "1.18"
workflow_dispatch:
inputs:
norelease:
description: 'Do not publish'
required: true
default: 'false'
jobs:
validate-gradle:
name: "Validate Gradle wrapper"
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: gradle/wrapper-validation-action@v1
license:
name: "Verify License integrity"
runs-on: ubuntu-20.04
if: |
!contains(github.event.head_commit.message, '[ci skip]')
steps:
- uses: actions/checkout@v2
- name: Set up JDK 17
uses: actions/setup-java@v2
with:
java-version: 17
distribution: 'temurin'
- name: Cache Gradle wrapper
uses: actions/cache@v2
with:
path: ~/.gradle/wrapper
key: gradle-wrapper-${{ runner.os }}-${{ hashFiles('gradle/wrapper/**/*') }}
restore-keys: gradle-wrapper-${{ runner.os }}-
- name: Cache packages
id: cache-packages
uses: actions/cache@v2
with:
path: ~/.gradle/caches
key: gradle-packages-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: gradle-packages-${{ runner.os }}-
- name: Make gradlew executable
run: chmod +x ./gradlew
- name: Verify license using Licenser
run: |
./gradlew licenseCheck
# Remove some potentially problematic files from the Gradle cache,
# so that GitHub Actions doesn't cache them.
- name: Cleanup Gradle Cache
if: steps.cache-packages.outputs.cache-hit != 'true'
run: |
rm -f $HOME/.gradle/caches/*/*.lock
rm -rf $HOME/.gradle/caches/*/plugin-resolution/
rm -rf $HOME/.gradle/caches/*/scripts/
rm -rf $HOME/.gradle/caches/*/scripts-remapped/
rm -rf $HOME/.gradle/caches/*/fileHashes/
rm -f $HOME/.gradle/caches/journal-1/file-access.bin
build:
name: "Build"
strategy:
matrix:
java: [ 17 ] # Build on Java 17 (version shipped with MC 1.18)
runs-on: ubuntu-20.04
if: |
!contains(github.event.head_commit.message, '[ci skip]')
steps:
- uses: actions/checkout@v2
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v2
with:
java-version: ${{ matrix.java }}
distribution: 'temurin'
- name: Cache Gradle wrapper
uses: actions/cache@v2
with:
path: ~/.gradle/wrapper
key: gradle-wrapper-${{ runner.os }}-${{ hashFiles('gradle/wrapper/**/*') }}
restore-keys: gradle-wrapper-${{ runner.os }}-
- name: Cache packages
id: cache-packages
uses: actions/cache@v2
with:
path: ~/.gradle/caches
key: gradle-packages-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: gradle-packages-${{ runner.os }}-
- name: Make gradlew executable
run: chmod +x ./gradlew
- name: Build with Gradle
run: |
./gradlew build --stacktrace --no-daemon
# Remove some potentially problematic files from the Gradle cache,
# so that GitHub Actions doesn't cache them.
- name: Cleanup Gradle Cache
if: steps.cache-packages.outputs.cache-hit != 'true'
run: |
rm -f $HOME/.gradle/caches/*/*.lock
rm -rf $HOME/.gradle/caches/*/plugin-resolution/
rm -rf $HOME/.gradle/caches/*/scripts/
rm -rf $HOME/.gradle/caches/*/scripts-remapped/
rm -rf $HOME/.gradle/caches/*/fileHashes/
rm -f $HOME/.gradle/caches/journal-1/file-access.bin
- name: Setting mod version
if: ${{ matrix.java == '17' }} # Only upload Java 17 artifacts for MC 1.18
run: |
cat $GITHUB_WORKSPACE/gradle.properties | grep ^archives_base_name= >> $GITHUB_ENV
cat $GITHUB_WORKSPACE/gradle.properties | grep ^minecraft_version= >> $GITHUB_ENV
cat $GITHUB_WORKSPACE/gradle.properties | grep ^base_version= >> $GITHUB_ENV
- name: Create package name
if: ${{ matrix.java == '17' }} # Only upload Java 17 artifacts for MC 1.18
run: echo "package_name=[$minecraft_version] $archives_base_name-$base_version.${{ github.run_number }}" >> $GITHUB_ENV
- uses: actions/upload-artifact@v2
if: ${{ matrix.java == '17' }} # Only upload Java 17 artifacts for MC 1.18
with:
name: ${{ env.package_name }}
path: |
**/build/libs/
!build/libs/
!**/*-dev.jar
!**/*-shadow.jar
!**/*-transformProduction*.jar
!**/testmod*/
publish:
needs:
- validate-gradle
- license
- build
runs-on: ubuntu-20.04
if: |
!contains(github.event.head_commit.message, '[norelease]') && github.event.inputs.norelease != 'true'
steps:
- uses: actions/checkout@v2
- name: Set up JDK 17
uses: actions/setup-java@v2
with:
java-version: 17
distribution: 'temurin'
- name: Cache Gradle wrapper
uses: actions/cache@v2
with:
path: ~/.gradle/wrapper
key: gradle-wrapper-${{ runner.os }}-${{ hashFiles('gradle/wrapper/**/*') }}
restore-keys: gradle-wrapper-${{ runner.os }}-
- name: Cache packages
id: cache-packages
uses: actions/cache@v2
with:
path: ~/.gradle/caches
key: gradle-packages-${{ runner.os }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: gradle-packages-${{ runner.os }}-
- name: Release to Maven and CurseForge
env:
# currently unused, may want to use these for changelogs though!
# GIT_COMMIT: ${{ github.event.after }}
# GIT_PREVIOUS_COMMIT: ${{ github.event.before }}
MAVEN_PASS: ${{ secrets.MAVEN_PASS }}
CURSE_API_KEY: ${{ secrets.CURSE_API_KEY }}
# TODO: make this use the artifacts from the previous build step
run: |
./gradlew build publish curseforgePublish --stacktrace --no-daemon
# Remove some potentially problematic files from the Gradle cache,
# so that GitHub Actions doesn't cache them.
- name: Cleanup Gradle Cache
if: steps.cache-packages.outputs.cache-hit != 'true'
run: |
rm -f $HOME/.gradle/caches/*/*.lock
rm -rf $HOME/.gradle/caches/*/plugin-resolution/
rm -rf $HOME/.gradle/caches/*/scripts/
rm -rf $HOME/.gradle/caches/*/scripts-remapped/
rm -rf $HOME/.gradle/caches/*/fileHashes/
rm -f $HOME/.gradle/caches/journal-1/file-access.bin