|
17 | 17 | - name: Checkout |
18 | 18 | uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4 |
19 | 19 | with: |
20 | | - ref: modern |
| 20 | + ref: architectury |
21 | 21 | fetch-depth: 0 |
22 | 22 |
|
23 | 23 | - name: Read project version |
|
82 | 82 | - name: Build and test |
83 | 83 | run: ./gradlew build |
84 | 84 |
|
85 | | - - name: Build and test Fabric 26.2 |
86 | | - run: ./gradlew :fabric:build -PminecraftVersion=26.2 |
| 85 | + - name: Build and test Fabric and NeoForge 26.2 |
| 86 | + run: ./gradlew :mod-common:check :fabric:build :neoforge:build -PminecraftVersion=26.2 |
87 | 87 |
|
88 | 88 | - name: Test packaged Paper plugin on every supported version |
89 | 89 | timeout-minutes: 30 |
@@ -121,20 +121,32 @@ jobs: |
121 | 121 |
|
122 | 122 | - name: Test packaged Fabric 26.1.2 server |
123 | 123 | timeout-minutes: 10 |
124 | | - run: python3 .github/scripts/fabric-smoke.py 26.1.2 |
| 124 | + run: python3 .github/scripts/mod-smoke.py fabric 26.1.2 |
125 | 125 |
|
126 | 126 | - name: Test packaged Fabric 26.2 server |
127 | 127 | timeout-minutes: 10 |
128 | | - run: python3 .github/scripts/fabric-smoke.py 26.2 |
| 128 | + run: python3 .github/scripts/mod-smoke.py fabric 26.2 |
129 | 129 |
|
130 | | - - name: Upload Fabric server test logs |
| 130 | + - name: Test packaged NeoForge 26.1.2 server |
| 131 | + timeout-minutes: 10 |
| 132 | + run: python3 .github/scripts/mod-smoke.py neoforge 26.1.2 |
| 133 | + |
| 134 | + - name: Test packaged NeoForge 26.2 server |
| 135 | + timeout-minutes: 10 |
| 136 | + run: python3 .github/scripts/mod-smoke.py neoforge 26.2 |
| 137 | + |
| 138 | + - name: Upload server mod test logs and reports |
131 | 139 | if: always() |
132 | 140 | uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 |
133 | 141 | with: |
134 | | - name: Fabric-release-server-logs |
| 142 | + name: Mod-release-server-logs |
135 | 143 | path: | |
136 | 144 | .local/fabric-smoke/*/smoke-console.log |
| 145 | + .local/fabric-smoke/*/smoke-report.json |
137 | 146 | .local/fabric-smoke/*/logs/latest.log |
| 147 | + .local/neoforge-smoke/*/smoke-console.log |
| 148 | + .local/neoforge-smoke/*/smoke-report.json |
| 149 | + .local/neoforge-smoke/*/logs/latest.log |
138 | 150 | include-hidden-files: true |
139 | 151 | if-no-files-found: ignore |
140 | 152 |
|
@@ -167,6 +179,8 @@ jobs: |
167 | 179 | paper/build/libs/EClean-Modern-*-paper.jar |
168 | 180 | fabric/build/26.1.2/libs/EClean-Modern-*-fabric-mc26.1.2.jar |
169 | 181 | fabric/build/26.2/libs/EClean-Modern-*-fabric-mc26.2.jar |
| 182 | + neoforge/build/26.1.2/libs/EClean-Modern-*-neoforge-mc26.1.2.jar |
| 183 | + neoforge/build/26.2/libs/EClean-Modern-*-neoforge-mc26.2.jar |
170 | 184 | fail_on_unmatched_files: true |
171 | 185 |
|
172 | 186 | publish-modrinth: |
@@ -202,39 +216,60 @@ jobs: |
202 | 216 | game-versions: ${{ needs.release.outputs.game-versions }} |
203 | 217 | java: '25' |
204 | 218 |
|
205 | | - publish-modrinth-fabric: |
| 219 | + publish-modrinth-mods: |
206 | 220 | needs: release |
207 | 221 | runs-on: ubuntu-latest |
208 | 222 | permissions: |
209 | 223 | contents: read |
210 | 224 | strategy: |
211 | 225 | fail-fast: false |
212 | 226 | matrix: |
213 | | - minecraft: ['26.1.2', '26.2'] |
| 227 | + include: |
| 228 | + - loader: fabric |
| 229 | + label: Fabric |
| 230 | + minecraft: '26.1.2' |
| 231 | + dependencies: | |
| 232 | + fabric-api(required) |
| 233 | + architectury-api(required) |
| 234 | + - loader: fabric |
| 235 | + label: Fabric |
| 236 | + minecraft: '26.2' |
| 237 | + dependencies: | |
| 238 | + fabric-api(required) |
| 239 | + architectury-api(required) |
| 240 | + - loader: neoforge |
| 241 | + label: NeoForge |
| 242 | + minecraft: '26.1.2' |
| 243 | + dependencies: 'architectury-api(required)' |
| 244 | + - loader: neoforge |
| 245 | + label: NeoForge |
| 246 | + minecraft: '26.2' |
| 247 | + dependencies: 'architectury-api(required)' |
214 | 248 | steps: |
215 | | - - name: Download Fabric release artifact |
| 249 | + - name: Download server mod release artifact |
216 | 250 | env: |
217 | 251 | GH_TOKEN: ${{ github.token }} |
218 | 252 | RELEASE_VERSION: ${{ needs.release.outputs.version }} |
219 | 253 | MINECRAFT_VERSION: ${{ matrix.minecraft }} |
| 254 | + MOD_LOADER: ${{ matrix.loader }} |
220 | 255 | run: | |
221 | 256 | gh release download "v$RELEASE_VERSION" --repo "$GITHUB_REPOSITORY" \ |
222 | | - --pattern "EClean-Modern-*-fabric-mc$MINECRAFT_VERSION.jar" --dir release |
| 257 | + --pattern "EClean-Modern-*-$MOD_LOADER-mc$MINECRAFT_VERSION.jar" --dir release |
223 | 258 | gh release view "v$RELEASE_VERSION" --repo "$GITHUB_REPOSITORY" \ |
224 | 259 | --json body --jq .body > release_notes.md |
225 | 260 |
|
226 | | - - name: Publish Fabric to Modrinth |
| 261 | + - name: Publish server mod to Modrinth |
227 | 262 | uses: Kira-NT/mc-publish@52307b03863581dec6b652b83e597aec02ebb075 # v3.3 |
228 | 263 | with: |
229 | 264 | modrinth-id: VW7EmMIj # ecl-modern |
230 | 265 | modrinth-token: ${{ secrets.MODRINTH_TOKEN }} |
231 | | - files: release/EClean-Modern-*-fabric-mc${{ matrix.minecraft }}.jar |
232 | | - modrinth-name: ${{ needs.release.outputs.version }} (Fabric, MC ${{ matrix.minecraft }}) |
233 | | - modrinth-version: ${{ needs.release.outputs.version }}+fabric.${{ matrix.minecraft }} |
| 266 | + files: release/EClean-Modern-*-${{ matrix.loader }}-mc${{ matrix.minecraft }}.jar |
| 267 | + modrinth-name: ${{ needs.release.outputs.version }} (${{ matrix.label }}, MC ${{ matrix.minecraft }}) |
| 268 | + modrinth-version: ${{ needs.release.outputs.version }}+${{ matrix.loader }}.${{ matrix.minecraft }} |
234 | 269 | version-type: release |
235 | 270 | changelog-file: release_notes.md |
236 | | - loaders: fabric |
| 271 | + loaders: ${{ matrix.loader }} |
237 | 272 | environment: server |
238 | 273 | game-versions: ${{ matrix.minecraft }} |
239 | | - modrinth-dependencies: fabric-api(required) |
| 274 | + modrinth-dependencies: ${{ matrix.dependencies }} |
240 | 275 | java: '25' |
0 commit comments