@@ -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-*
0 commit comments