mirror of
https://github.com/GeyserMC/Geyser.git
synced 2024-12-22 22:45:04 +01:00
Properly Cache Build Dependencies, Optimize Build Action, and Save Build Action Artifacts (#3593)
* Attempt cache gradle properly * Save artifacts on standard build * Dont build on bad path and standardize pr action * Don't do caching for PR builds * Correct exclusion paths * Allow manual trigger of build action
This commit is contained in:
parent
81f0cbe5ed
commit
a5a4f5c3ea
2 changed files with 90 additions and 11 deletions
70
.github/workflows/build.yml
vendored
70
.github/workflows/build.yml
vendored
|
@ -1,6 +1,18 @@
|
||||||
name: Build
|
name: Build
|
||||||
|
|
||||||
on: [push]
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
push:
|
||||||
|
paths-ignore:
|
||||||
|
- '.github/ISSUE_TEMPLATE/*.yml'
|
||||||
|
- '.github/actions/pullrequest.yml'
|
||||||
|
- '.idea/copyright/*.xml'
|
||||||
|
- '.gitignore'
|
||||||
|
- 'CONTRIBUTING.md'
|
||||||
|
- 'LICENSE'
|
||||||
|
- 'Jenkinsfile '
|
||||||
|
- 'README.md'
|
||||||
|
- 'licenseheader.txt'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
@ -15,12 +27,64 @@ jobs:
|
||||||
with:
|
with:
|
||||||
java-version: 17
|
java-version: 17
|
||||||
distribution: temurin
|
distribution: temurin
|
||||||
cache: gradle
|
|
||||||
|
- name: Cache Gradle Packages
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.m2
|
||||||
|
~/.gradle/caches
|
||||||
|
~/.gradle/wrapper
|
||||||
|
key: ${{ github.ref_name }}-gradle-${{ hashFiles('*.gradle.kts', 'gradle.properties', 'gradlew', 'gradle/*', 'gradle/**/*', 'build-logic/*', 'build-logic/**/**/**/*', '**/*.gradle.kts', '**/**/*.gradle.kts') }}
|
||||||
|
restore-keys: ${{ github.ref_name }}-gradle-
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
uses: gradle/gradle-build-action@v2
|
uses: gradle/gradle-build-action@v2
|
||||||
with:
|
with:
|
||||||
arguments: build
|
arguments: build --no-daemon
|
||||||
|
|
||||||
|
- name: Archive artifacts (Geyser Fabric)
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
if: success()
|
||||||
|
with:
|
||||||
|
name: Geyser Fabric
|
||||||
|
path: bootstrap/fabric/build/libs/Geyser-Fabric.jar
|
||||||
|
if-no-files-found: error
|
||||||
|
- name: Archive artifacts (Geyser Standalone)
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
if: success()
|
||||||
|
with:
|
||||||
|
name: Geyser Standalone
|
||||||
|
path: bootstrap/standalone/build/libs/Geyser-Standalone.jar
|
||||||
|
if-no-files-found: error
|
||||||
|
- name: Archive artifacts (Geyser Spigot)
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
if: success()
|
||||||
|
with:
|
||||||
|
name: Geyser Spigot
|
||||||
|
path: bootstrap/spigot/build/libs/Geyser-Spigot.jar
|
||||||
|
if-no-files-found: error
|
||||||
|
- name: Archive artifacts (Geyser BungeeCord)
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
if: success()
|
||||||
|
with:
|
||||||
|
name: Geyser BungeeCord
|
||||||
|
path: bootstrap/bungeecord/build/libs/Geyser-BungeeCord.jar
|
||||||
|
if-no-files-found: error
|
||||||
|
- name: Archive artifacts (Geyser Sponge)
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
if: success()
|
||||||
|
with:
|
||||||
|
name: Geyser Sponge
|
||||||
|
path: bootstrap/sponge/build/libs/Geyser-Sponge.jar
|
||||||
|
if-no-files-found: error
|
||||||
|
- name: Archive artifacts (Geyser Velocity)
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
if: success()
|
||||||
|
with:
|
||||||
|
name: Geyser Velocity
|
||||||
|
path: bootstrap/velocity/build/libs/Geyser-Velocity.jar
|
||||||
|
if-no-files-found: error
|
||||||
|
|
||||||
- name: Publish to Maven Repository
|
- name: Publish to Maven Repository
|
||||||
if: ${{ job.status == 'success' && github.repository == 'GeyserMC/Geyser' && github.ref_name == 'master' }}
|
if: ${{ job.status == 'success' && github.repository == 'GeyserMC/Geyser' && github.ref_name == 'master' }}
|
||||||
|
|
31
.github/workflows/pullrequest.yml
vendored
31
.github/workflows/pullrequest.yml
vendored
|
@ -1,6 +1,16 @@
|
||||||
name: Build Pull Request
|
name: Build Pull Request
|
||||||
|
|
||||||
on: [pull_request]
|
on:
|
||||||
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- '.github/ISSUE_TEMPLATE/*.yml'
|
||||||
|
- '.idea/copyright/*.xml'
|
||||||
|
- '.gitignore'
|
||||||
|
- 'CONTRIBUTING.md'
|
||||||
|
- 'LICENSE'
|
||||||
|
- 'Jenkinsfile '
|
||||||
|
- 'README.md'
|
||||||
|
- 'licenseheader.txt'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
@ -11,7 +21,6 @@ jobs:
|
||||||
with:
|
with:
|
||||||
java-version: 17
|
java-version: 17
|
||||||
distribution: temurin
|
distribution: temurin
|
||||||
cache: gradle
|
|
||||||
|
|
||||||
- name: Check if the author has forked the API repo
|
- name: Check if the author has forked the API repo
|
||||||
uses: Kas-tle/ForkFinder@v1.0.1
|
uses: Kas-tle/ForkFinder@v1.0.1
|
||||||
|
@ -44,38 +53,44 @@ jobs:
|
||||||
build-root-directory: geyser
|
build-root-directory: geyser
|
||||||
|
|
||||||
- name: Archive artifacts (Geyser Fabric)
|
- name: Archive artifacts (Geyser Fabric)
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
if: success()
|
if: success()
|
||||||
with:
|
with:
|
||||||
name: Geyser Fabric
|
name: Geyser Fabric
|
||||||
path: geyser/bootstrap/fabric/build/libs/Geyser-Fabric.jar
|
path: geyser/bootstrap/fabric/build/libs/Geyser-Fabric.jar
|
||||||
|
if-no-files-found: error
|
||||||
- name: Archive artifacts (Geyser Standalone)
|
- name: Archive artifacts (Geyser Standalone)
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
if: success()
|
if: success()
|
||||||
with:
|
with:
|
||||||
name: Geyser Standalone
|
name: Geyser Standalone
|
||||||
path: geyser/bootstrap/standalone/build/libs/Geyser-Standalone.jar
|
path: geyser/bootstrap/standalone/build/libs/Geyser-Standalone.jar
|
||||||
|
if-no-files-found: error
|
||||||
- name: Archive artifacts (Geyser Spigot)
|
- name: Archive artifacts (Geyser Spigot)
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
if: success()
|
if: success()
|
||||||
with:
|
with:
|
||||||
name: Geyser Spigot
|
name: Geyser Spigot
|
||||||
path: geyser/bootstrap/spigot/build/libs/Geyser-Spigot.jar
|
path: geyser/bootstrap/spigot/build/libs/Geyser-Spigot.jar
|
||||||
|
if-no-files-found: error
|
||||||
- name: Archive artifacts (Geyser BungeeCord)
|
- name: Archive artifacts (Geyser BungeeCord)
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
if: success()
|
if: success()
|
||||||
with:
|
with:
|
||||||
name: Geyser BungeeCord
|
name: Geyser BungeeCord
|
||||||
path: geyser/bootstrap/bungeecord/build/libs/Geyser-BungeeCord.jar
|
path: geyser/bootstrap/bungeecord/build/libs/Geyser-BungeeCord.jar
|
||||||
|
if-no-files-found: error
|
||||||
- name: Archive artifacts (Geyser Sponge)
|
- name: Archive artifacts (Geyser Sponge)
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
if: success()
|
if: success()
|
||||||
with:
|
with:
|
||||||
name: Geyser Sponge
|
name: Geyser Sponge
|
||||||
path: geyser/bootstrap/sponge/build/libs/Geyser-Sponge.jar
|
path: geyser/bootstrap/sponge/build/libs/Geyser-Sponge.jar
|
||||||
|
if-no-files-found: error
|
||||||
- name: Archive artifacts (Geyser Velocity)
|
- name: Archive artifacts (Geyser Velocity)
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
if: success()
|
if: success()
|
||||||
with:
|
with:
|
||||||
name: Geyser Velocity
|
name: Geyser Velocity
|
||||||
path: geyser/bootstrap/velocity/build/libs/Geyser-Velocity.jar
|
path: geyser/bootstrap/velocity/build/libs/Geyser-Velocity.jar
|
||||||
|
if-no-files-found: error
|
||||||
|
|
Loading…
Reference in a new issue