Skip to content

Commit 401f07f

Browse files
authored
Merge pull request #75 from Ale32bit/26.2
26.2 Support
2 parents 77775f3 + d98265f commit 401f07f

63 files changed

Lines changed: 794 additions & 350 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build.yml

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -3,43 +3,45 @@
33
# certain platforms or Java versions, and provides a first line of defence
44
# against bad commits.
55

6-
name: build
7-
on: [pull_request, push]
6+
name: Build
7+
on:
8+
push:
9+
branches:
10+
- main
11+
pull_request:
812

913
jobs:
1014
build:
11-
strategy:
12-
matrix:
13-
# Use these Java versions
14-
java: [
15-
21, # Current Java LTS
16-
]
17-
runs-on: ubuntu-22.04
15+
runs-on: ubuntu-latest
1816
steps:
19-
- name: checkout repository
20-
uses: actions/checkout@v4
21-
- name: validate gradle wrapper
22-
uses: gradle/wrapper-validation-action@v2
23-
- name: setup jdk ${{ matrix.java }}
24-
uses: actions/setup-java@v4
17+
- name: Checkout
18+
uses: actions/checkout@v6
19+
20+
- name: Validate Gradle wrapper
21+
uses: gradle/actions/wrapper-validation@v6
22+
23+
- name: Setup JDK 25
24+
uses: actions/setup-java@v5
2525
with:
26-
java-version: ${{ matrix.java }}
27-
distribution: 'microsoft'
28-
- name: make gradle wrapper executable
29-
run: chmod +x ./gradlew
30-
- uses: actions/cache@v4
26+
java-version: 25
27+
distribution: 'temurin'
28+
29+
- name: Setup cache
30+
uses: actions/cache@v6
3131
with:
3232
path: |
3333
~/.gradle/caches
3434
~/.gradle/wrapper
35+
.gradle
3536
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
3637
restore-keys: |
3738
${{ runner.os }}-gradle-
38-
- name: build
39+
40+
- name: Build
3941
run: ./gradlew build
40-
- name: capture build artifacts
41-
if: ${{ matrix.java == '21' }} # Only upload artifacts built from latest java
42-
uses: actions/upload-artifact@v4
42+
43+
- name: Capture build artifacts
44+
uses: actions/upload-artifact@v7
4345
with:
4446
name: Artifacts
4547
path: versions/**/build/libs/

.github/workflows/publish.yml

Lines changed: 80 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
1-
name: Publish on GitHub, CurseForge & Modrinth
1+
name: Publish (Modrinth, Curseforge, GH, Maven)
22

33
on: [ workflow_dispatch ]
44

55
env:
6-
MINECRAFT_VERSION: 1.21.1
7-
JAVA_VERSION: 21
8-
VERSION: 1.9.2+1.21.1
9-
RELEASE_NAME: Solstice 1.9.2 for Minecraft 1.21.1
106
MODRINTH_TOKEN: ${{ secrets.MODRINTH_TOKEN }}
117
CURSEFORGE_TOKEN: ${{ secrets.CURSEFORGE_TOKEN }}
128
MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
@@ -19,47 +15,97 @@ jobs:
1915
build:
2016
runs-on: ubuntu-latest
2117
steps:
22-
- name: Check Environment Variables
23-
run: env
24-
25-
- name: Checkout Repository
26-
uses: actions/checkout@v3
27-
with:
28-
submodules: true
18+
- name: Checkout repository
19+
uses: actions/checkout@v6
2920

3021
- name: Setup Java
31-
uses: actions/setup-java@v2
22+
uses: actions/setup-java@v5
3223
with:
3324
distribution: "temurin"
34-
java-version: 21
25+
java-version: 25
3526

36-
- name: Make Gradle Wrapper Executable
37-
if: ${{ runner.os != 'Windows' }}
38-
run: chmod +x ./gradlew
27+
- name: Setup Gradle
28+
uses: gradle/actions/setup-gradle@v6
29+
with:
30+
validate-wrappers: 'true'
3931

4032
- name: Build
4133
run: ./gradlew clean build
4234

43-
- name: Publish to Maven
44-
run: ./gradlew publish
35+
- name: Upload built jars
36+
uses: actions/upload-artifact@v7
37+
with:
38+
name: mod-jars
39+
path: |
40+
**/build/libs/*.jar
41+
!**/build/libs/*-sources.jar
42+
!**/build/libs/*-javadoc.jar
43+
!**/build/libs/*-plain.jar
44+
retention-days: 1
45+
46+
publish:
47+
needs: build
48+
runs-on: ubuntu-latest
49+
strategy:
50+
fail-fast: false
51+
matrix:
52+
target: [ maven, modrinth, curseforge ]
53+
steps:
54+
- uses: actions/checkout@v6
55+
56+
- name: Download built jars
57+
uses: actions/download-artifact@v8
58+
with:
59+
name: mod-jars
60+
path: .
61+
62+
- name: Setup Java
63+
uses: actions/setup-java@v5
64+
with:
65+
distribution: "temurin"
66+
java-version: 25
4567

46-
- name: Publish
47-
uses: Kir-Antipov/mc-publish@v3.3
68+
- name: Setup Gradle
69+
uses: gradle/actions/setup-gradle@v6
4870
with:
49-
curseforge-id: 1149875
50-
curseforge-token: ${{ secrets.CURSEFORGE_TOKEN }}
71+
cache-read-only: true
5172

52-
modrinth-id: uIvrDZas
53-
modrinth-token: ${{ secrets.MODRINTH_TOKEN }}
73+
- name: Publish to ${{ matrix.target }}
74+
run: ./gradlew ${{ matrix.target }} -PprebuiltJar
5475

55-
github-tag: "v${{env.VERSION}}"
56-
github-token: ${{ secrets.GITHUB_TOKEN }}
76+
github:
77+
needs: build
78+
runs-on: ubuntu-latest
79+
steps:
80+
- name: Checkout repository
81+
uses: actions/checkout@v6
82+
83+
- name: Download built jars
84+
uses: actions/download-artifact@v8
85+
with:
86+
name: mod-jars
87+
path: .
5788

58-
name: "${{env.RELEASE_NAME}}"
59-
version: "${{env.VERSION}}"
60-
version-type: release
61-
changelog-file: CHANGELOG.md
89+
- name: Get Version
90+
id: get-version
91+
run: |
92+
VERSION=$(awk -F'[ ="]+' '$1 == "mod.version" {print $2}' stonecutter.properties.toml)
93+
echo "version=$VERSION" >> $GITHUB_OUTPUT
94+
if [[ "$VERSION" =~ -(alpha|SNAPSHOT) ]]; then
95+
echo "prerelease=true" >> $GITHUB_OUTPUT
96+
else
97+
echo "prerelease=false" >> $GITHUB_OUTPUT
98+
fi
6299
63-
loaders: fabric
64-
game-versions: "${{env.MINECRAFT_VERSION}}"
65-
java: "${{env.JAVA_VERSION}}"
100+
- name: Create GitHub Release
101+
uses: softprops/action-gh-release@v2
102+
with:
103+
tag_name: Solstice ${{ steps.get-version.outputs.version }}
104+
prerelease: ${{ steps.get-version.outputs.prerelease == 'true' }}
105+
draft: ${{ steps.get-version.outputs.prerelease == 'true' }}
106+
generate_release_notes: true
107+
files: |
108+
**/build/libs/*.jar
109+
!**/build/libs/*-sources.jar
110+
!**/build/libs/*-javadoc.jar
111+
!**/build/libs/*-plain.jar

0 commit comments

Comments
 (0)