Skip to content

Commit fe37b83

Browse files
committed
Improve Actions build
1 parent 22f486a commit fe37b83

4 files changed

Lines changed: 49 additions & 15 deletions

File tree

.github/workflows/build-nms.yml

Lines changed: 32 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,17 @@ jobs:
2323
GROUPS_FILE: ${{ inputs.groups-file }}
2424
run: |
2525
import json, yaml, os
26-
version_map = {"java8": 8, "java16": 16, "java17": 17, "java21": 21}
26+
versions = {"java8": 8, "java16": 16, "java17": 17, "java21": 21}
2727
with open(os.environ["GROUPS_FILE"], encoding="utf-8") as fh:
2828
groups = yaml.safe_load(fh) or {}
2929
include = []
30-
for name, java in version_map.items():
30+
for name, java in versions.items():
3131
for version in groups.get(name) or []:
32-
safe = version.replace('.', '-')
3332
include.append({
3433
"group": name,
3534
"java": java,
3635
"version": version,
37-
"artifact": f"{name}-{safe}"
36+
"artifact": f"{name}-{version.replace('.', '-')}"
3837
})
3938
matrix_json = json.dumps({"include": include})
4039
has_work = "true" if include else "false"
@@ -54,13 +53,17 @@ jobs:
5453
steps:
5554
- uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955
5655

57-
- name: Restore Maven slice
56+
- name: Restore aggregated Maven cache (best effort)
57+
id: aggregate-cache
5858
uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830
5959
with:
6060
key: ${{ env.CACHE_KEY }}
6161
restore-keys: |
6262
nms-cache-
63-
path: ~/.m2/repository/org/spigotmc/spigot
63+
path: |
64+
~/.m2/repository/org/spigotmc/spigot
65+
~/.m2/repository/org/spigotmc/spigot-parent
66+
~/.m2/repository/net/md-5
6467
6568
- name: Set up JDK
6669
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00
@@ -69,21 +72,25 @@ jobs:
6972
java-version: ${{ matrix.java }}
7073

7174
- name: Build NMS
75+
if: ${{ inputs.force-rebuild || steps.aggregate-cache.outputs.cache-hit != 'true' || !hashFiles(format('~/.m2/repository/org/spigotmc/spigot/*{0}*/spigot-*.jar', matrix.version)) }}
7276
uses: SpraxDev/Action-SpigotMC@e63b635efcbaeb868bf21878c46f61b7d919a0ac
7377
with:
7478
versions: ${{ matrix.version }}
7579

7680
- name: Package Maven fragment
7781
run: |
7882
mkdir -p fragments
79-
tar -C ~/.m2/repository -czf fragments/spigot-${{ matrix.artifact }}.tgz org/spigotmc/spigot
83+
tar -C ~/.m2/repository -czf fragments/nms-${{ matrix.artifact }}.tgz \
84+
org/spigotmc/spigot \
85+
org/spigotmc/spigot-parent \
86+
net/md-5
8087
shell: bash
8188

8289
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
8390
with:
84-
name: spigot-${{ matrix.artifact }}
85-
path: fragments/spigot-${{ matrix.artifact }}.tgz
86-
retention-days: 7
91+
name: nms-${{ matrix.artifact }}
92+
path: fragments/nms-${{ matrix.artifact }}.tgz
93+
retention-days: 1
8794

8895
aggregate-cache:
8996
needs: [resolve-groups, compile]
@@ -94,15 +101,15 @@ jobs:
94101
steps:
95102
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
96103
with:
97-
pattern: spigot-*
104+
pattern: nms-*
98105
path: artifacts
99106
merge-multiple: true
100107

101108
- name: Merge Maven fragments
102109
run: |
103110
mkdir -p ~/.m2/repository
104111
shopt -s nullglob
105-
for tgz in artifacts/spigot-*.tgz; do
112+
for tgz in artifacts/nms-*.tgz; do
106113
tar -C ~/.m2/repository -xzf "$tgz"
107114
done
108115
shell: bash
@@ -111,4 +118,16 @@ jobs:
111118
uses: actions/cache/save@0057852bfaa89a56745cba8c7296529d2fc39830
112119
with:
113120
key: ${{ env.CACHE_KEY }}
114-
path: ~/.m2/repository/org/spigotmc/spigot
121+
path: |
122+
~/.m2/repository/org/spigotmc/spigot
123+
~/.m2/repository/org/spigotmc/spigot-parent
124+
~/.m2/repository/net/md-5
125+
126+
cleanup-artifacts:
127+
needs: aggregate-cache
128+
if: ${{ always() }}
129+
runs-on: ubuntu-latest
130+
steps:
131+
- uses: GeekyEggo/delete-artifact@65041433121f7239077fa20be14c0690f70569de # v4.1.0
132+
with:
133+
name: nms-*

.github/workflows/build.yml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,22 @@ jobs:
4646
nms-cache-
4747
path: |
4848
~/.m2/repository/org/spigotmc/spigot
49+
~/.m2/repository/org/spigotmc/spigot-parent
50+
~/.m2/repository/net/md-5
4951
5052
- name: Build and Test
5153
run: |
5254
mvn --batch-mode --show-version --no-transfer-progress \
5355
clean \
5456
test \
55-
verify
57+
verify \
58+
-Djava.net.preferIPv6Addresses=true
59+
60+
- name: Upload Artifacts
61+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
62+
with:
63+
name: BigDoors
64+
path: core/target/BigDoors.jar
65+
if-no-files-found: error
66+
compression-level: 0
5667

hooks/hook-medieval-factions/pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@
1717
<id>jitpack.io</id>
1818
<url>https://jitpack.io</url>
1919
</repository>
20+
<repository>
21+
<id>dansplugins</id>
22+
<url>https://repo.dansplugins.com/repository/maven-public/</url>
23+
</repository>
2024
</repositories>
2125

2226
<dependencies>

hooks/hook-plotsquared-7/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
</parent>
1313

1414
<properties>
15-
<dependency.plotsquared.version>7.0.0-SNAPSHOT</dependency.plotsquared.version>
15+
<dependency.plotsquared.version>7.0.0</dependency.plotsquared.version>
1616
</properties>
1717

1818
<repositories>

0 commit comments

Comments
 (0)