mirror of
https://github.com/WiIIiam278/HuskSync.git
synced 2025-12-19 14:59:21 +00:00
build: Use multi-version and preprocessor to build all target versions from one branch (#463)
* feat: convert Fabric to use essential-multi-version * fix: populate compatibility.yml with mc version * feat: start WIP work on doing the same for bukkit * refactor: use preprocessor plugin to multi-version bukkit * docs: update README to mention multi-version stuff * build: also include javadocs for Bukkit * build: update CI workflows also slightly simplifies buildscript
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
name: CI Tests
|
||||
name: CI Tests & Publish
|
||||
|
||||
on:
|
||||
push:
|
||||
@@ -14,23 +14,19 @@ permissions:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: 'Build - 1.21.4'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: 'Setup JDK 21 📦'
|
||||
- name: 'Checkout for CI 🛎️'
|
||||
uses: actions/checkout@v4
|
||||
- name: 'Set up JDK 21 📦'
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '21'
|
||||
distribution: 'temurin'
|
||||
- name: 'Setup Gradle 8.12 🏗️'
|
||||
uses: gradle/actions/setup-gradle@v4
|
||||
- name: 'Build with Gradle 🏗️'
|
||||
uses: gradle/gradle-build-action@v3
|
||||
with:
|
||||
gradle-version: '8.12'
|
||||
- name: 'Checkout for CI 🛎️'
|
||||
uses: actions/checkout@v4
|
||||
- name: '[Current - 1.21.4] Build 🛎️'
|
||||
run: |
|
||||
./gradlew clean build publish
|
||||
arguments: build test publish
|
||||
env:
|
||||
SNAPSHOTS_MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
|
||||
SNAPSHOTS_MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
|
||||
@@ -39,11 +35,11 @@ jobs:
|
||||
if: success() || failure() # Continue on failure
|
||||
with:
|
||||
report_paths: '**/build/test-results/test/TEST-*.xml'
|
||||
- name: 'Fetch Version String 📝'
|
||||
- name: 'Fetch Version Name 📝'
|
||||
run: |
|
||||
echo "::set-output name=VERSION_NAME::$(./gradlew properties --no-daemon --console=plain -q | grep "^version:" | awk '{printf $2}')"
|
||||
echo "::set-output name=VERSION_NAME::$(${{github.workspace}}/gradlew properties --no-daemon --console=plain -q | grep "^version:" | awk '{printf $2}')"
|
||||
id: fetch-version
|
||||
- name: 'Set Version Variable 📝'
|
||||
- name: Get Version
|
||||
run: |
|
||||
echo "version_name=${{steps.fetch-version.outputs.VERSION_NAME}}" >> $GITHUB_ENV
|
||||
- name: 'Publish to William278.net 🚀'
|
||||
@@ -55,14 +51,30 @@ jobs:
|
||||
version: ${{ env.version_name }}
|
||||
changelog: ${{ github.event.head_commit.message }}
|
||||
distro-names: |
|
||||
paper-1.20.1
|
||||
paper-1.21.1
|
||||
paper-1.21.4
|
||||
fabric-1.20.1
|
||||
fabric-1.21.1
|
||||
fabric-1.21.4
|
||||
distro-groups: |
|
||||
paper
|
||||
paper
|
||||
paper
|
||||
fabric
|
||||
fabric
|
||||
fabric
|
||||
distro-descriptions: |
|
||||
Paper 1.20.1
|
||||
Paper 1.21.1
|
||||
Paper 1.21.4
|
||||
Fabric 1.20.1
|
||||
Fabric 1.21.1
|
||||
Fabric 1.21.4
|
||||
files: |
|
||||
target/HuskSync-Paper-${{ env.version_name }}+mc.1.21.4.jar
|
||||
target/HuskSync-Bukkit-${{ env.version_name }}+mc.1.20.1.jar
|
||||
target/HuskSync-Bukkit-${{ env.version_name }}+mc.1.21.1.jar
|
||||
target/HuskSync-Bukkit-${{ env.version_name }}+mc.1.21.4.jar
|
||||
target/HuskSync-Fabric-${{ env.version_name }}+mc.1.20.1.jar
|
||||
target/HuskSync-Fabric-${{ env.version_name }}+mc.1.21.1.jar
|
||||
target/HuskSync-Fabric-${{ env.version_name }}+mc.1.21.4.jar
|
||||
70
.github/workflows/ci_1.20.1.yml
vendored
70
.github/workflows/ci_1.20.1.yml
vendored
@@ -1,70 +0,0 @@
|
||||
name: CI Tests
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ 'minecraft/1.20.1' ]
|
||||
paths-ignore:
|
||||
- 'docs/**'
|
||||
- 'workflows/**'
|
||||
- 'README.md'
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
checks: write
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: 'Build - 1.20.1'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: 'Setup JDK 21 📦'
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '21'
|
||||
distribution: 'temurin'
|
||||
- name: 'Setup Gradle 8.8 🏗️'
|
||||
uses: gradle/actions/setup-gradle@v4
|
||||
with:
|
||||
gradle-version: '8.8'
|
||||
- name: 'Checkout for CI 🛎️'
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: 'minecraft/1.20.1'
|
||||
- name: '[Current - 1.20.1] Build 🛎️'
|
||||
run: |
|
||||
./gradlew clean build publish
|
||||
env:
|
||||
SNAPSHOTS_MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
|
||||
SNAPSHOTS_MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
|
||||
- name: 'Publish Test Report 📊'
|
||||
uses: mikepenz/action-junit-report@v5
|
||||
if: success() || failure() # Continue on failure
|
||||
with:
|
||||
report_paths: '**/build/test-results/test/TEST-*.xml'
|
||||
- name: 'Fetch Version String 📝'
|
||||
run: |
|
||||
echo "::set-output name=VERSION_NAME::$(./gradlew properties --no-daemon --console=plain -q | grep "^version:" | awk '{printf $2}')"
|
||||
id: fetch-version
|
||||
- name: 'Set Version Variable 📝'
|
||||
run: |
|
||||
echo "version_name=${{steps.fetch-version.outputs.VERSION_NAME}}" >> $GITHUB_ENV
|
||||
- name: 'Publish to William278.net 🚀'
|
||||
uses: WiIIiam278/bones-publish-action@v1
|
||||
with:
|
||||
api-key: ${{ secrets.BONES_API_KEY }}
|
||||
project: 'husksync'
|
||||
channel: 'alpha'
|
||||
version: ${{ env.version_name }}
|
||||
changelog: ${{ github.event.head_commit.message }}
|
||||
distro-names: |
|
||||
paper-1.20.1
|
||||
fabric-1.20.1
|
||||
distro-groups: |
|
||||
paper
|
||||
fabric
|
||||
distro-descriptions: |
|
||||
Paper 1.20.1
|
||||
Fabric 1.20.1
|
||||
files: |
|
||||
target/HuskSync-Paper-${{ env.version_name }}+mc.1.20.1.jar
|
||||
target/HuskSync-Fabric-${{ env.version_name }}+mc.1.20.1.jar
|
||||
70
.github/workflows/ci_1.21.1.yml
vendored
70
.github/workflows/ci_1.21.1.yml
vendored
@@ -1,70 +0,0 @@
|
||||
name: CI Tests
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ 'minecraft/1.21.1' ]
|
||||
paths-ignore:
|
||||
- 'docs/**'
|
||||
- 'workflows/**'
|
||||
- 'README.md'
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
checks: write
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: 'Build - 1.21.1'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: 'Setup JDK 21 📦'
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '21'
|
||||
distribution: 'temurin'
|
||||
- name: 'Setup Gradle 8.8 🏗️'
|
||||
uses: gradle/actions/setup-gradle@v4
|
||||
with:
|
||||
gradle-version: '8.8'
|
||||
- name: 'Checkout for CI 🛎️'
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: 'minecraft/1.21.1'
|
||||
- name: '[Current - 1.21.1] Build 🛎️'
|
||||
run: |
|
||||
./gradlew clean build publish
|
||||
env:
|
||||
SNAPSHOTS_MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
|
||||
SNAPSHOTS_MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
|
||||
- name: 'Publish Test Report 📊'
|
||||
uses: mikepenz/action-junit-report@v5
|
||||
if: success() || failure() # Continue on failure
|
||||
with:
|
||||
report_paths: '**/build/test-results/test/TEST-*.xml'
|
||||
- name: 'Fetch Version String 📝'
|
||||
run: |
|
||||
echo "::set-output name=VERSION_NAME::$(./gradlew properties --no-daemon --console=plain -q | grep "^version:" | awk '{printf $2}')"
|
||||
id: fetch-version
|
||||
- name: 'Set Version Variable 📝'
|
||||
run: |
|
||||
echo "version_name=${{steps.fetch-version.outputs.VERSION_NAME}}" >> $GITHUB_ENV
|
||||
- name: 'Publish to William278.net 🚀'
|
||||
uses: WiIIiam278/bones-publish-action@v1
|
||||
with:
|
||||
api-key: ${{ secrets.BONES_API_KEY }}
|
||||
project: 'husksync'
|
||||
channel: 'alpha'
|
||||
version: ${{ env.version_name }}
|
||||
changelog: ${{ github.event.head_commit.message }}
|
||||
distro-names: |
|
||||
paper-1.21.1
|
||||
fabric-1.21.1
|
||||
distro-groups: |
|
||||
paper
|
||||
fabric
|
||||
distro-descriptions: |
|
||||
Paper 1.21.1
|
||||
Fabric 1.21.1
|
||||
files: |
|
||||
target/HuskSync-Paper-${{ env.version_name }}+mc.1.21.1.jar
|
||||
target/HuskSync-Fabric-${{ env.version_name }}+mc.1.21.1.jar
|
||||
83
.github/workflows/release.yml
vendored
83
.github/workflows/release.yml
vendored
@@ -1,4 +1,4 @@
|
||||
name: Release Tests
|
||||
name: Release Tests & Publish
|
||||
|
||||
on:
|
||||
release:
|
||||
@@ -8,60 +8,21 @@ permissions:
|
||||
contents: read
|
||||
checks: write
|
||||
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: 'Publish Release'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: 'Setup JDK 21 📦'
|
||||
- name: 'Checkout for CI 🛎️'
|
||||
uses: actions/checkout@v4
|
||||
- name: 'Set up JDK 21 📦'
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: '21'
|
||||
distribution: 'temurin'
|
||||
- name: 'Setup Gradle 8.12 🏗️'
|
||||
uses: gradle/actions/setup-gradle@v4
|
||||
- name: 'Build with Gradle 🏗️'
|
||||
uses: gradle/gradle-build-action@v3
|
||||
with:
|
||||
gradle-version: '8.12'
|
||||
- name: '[Current - 1.21.4] Checkout for CI 🛎️'
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
path: '1_21_4'
|
||||
- name: '[Non-LTS - 1.21.1] Checkout for CI 🛎️'
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: 'minecraft/1.21.1'
|
||||
path: '1_21_1'
|
||||
- name: '[LTS - 1.20.1] Checkout for CI 🛎️'
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: 'minecraft/1.20.1'
|
||||
path: '1_20_1'
|
||||
- name: '[Current - 1.21.4] Build 🛎️'
|
||||
run: |
|
||||
mkdir target
|
||||
cd 1_21_4
|
||||
./gradlew clean build publish -Dforce-hide-version-meta=1
|
||||
cp -rf target/* ../target/
|
||||
cd ..
|
||||
env:
|
||||
RELEASES_MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
|
||||
RELEASES_MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
|
||||
- name: '[Non-LTS - 1.21.1] Build 🛎️'
|
||||
run: |
|
||||
cd 1_21_1
|
||||
./gradlew clean build publish -Dforce-hide-version-meta=1
|
||||
cp -rf target/* ../target/
|
||||
cd ..
|
||||
env:
|
||||
RELEASES_MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
|
||||
RELEASES_MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
|
||||
- name: '[LTS - 1.20.1] Build 🛎️'
|
||||
run: |
|
||||
cd 1_20_1
|
||||
./gradlew clean build publish -Dforce-hide-version-meta=1
|
||||
cp -rf target/* ../target/
|
||||
cd ..
|
||||
arguments: build test publish
|
||||
env:
|
||||
RELEASES_MAVEN_USERNAME: ${{ secrets.MAVEN_USERNAME }}
|
||||
RELEASES_MAVEN_PASSWORD: ${{ secrets.MAVEN_PASSWORD }}
|
||||
@@ -79,30 +40,30 @@ jobs:
|
||||
version: ${{ github.event.release.tag_name }}
|
||||
changelog: ${{ github.event.release.body }}
|
||||
distro-names: |
|
||||
paper-1.21.4
|
||||
fabric-1.21.4
|
||||
paper-1.21.1
|
||||
fabric-1.21.1
|
||||
paper-1.20.1
|
||||
paper-1.21.1
|
||||
paper-1.21.4
|
||||
fabric-1.20.1
|
||||
fabric-1.21.1
|
||||
fabric-1.21.4
|
||||
distro-groups: |
|
||||
paper
|
||||
fabric
|
||||
paper
|
||||
paper
|
||||
fabric
|
||||
paper
|
||||
fabric
|
||||
fabric
|
||||
distro-descriptions: |
|
||||
Paper 1.21.4
|
||||
Fabric 1.21.4
|
||||
Paper 1.21.1
|
||||
Fabric 1.21.1
|
||||
Paper 1.20.1
|
||||
Paper 1.21.1
|
||||
Paper 1.21.4
|
||||
Fabric 1.20.1
|
||||
Fabric 1.21.1
|
||||
Fabric 1.21.4
|
||||
files: |
|
||||
target/HuskSync-Paper-${{ github.event.release.tag_name }}+mc.1.21.4.jar
|
||||
target/HuskSync-Fabric-${{ github.event.release.tag_name }}+mc.1.21.4.jar
|
||||
target/HuskSync-Paper-${{ github.event.release.tag_name }}+mc.1.21.1.jar
|
||||
target/HuskSync-Bukkit-${{ github.event.release.tag_name }}+mc.1.20.1.jar
|
||||
target/HuskSync-Bukkit-${{ github.event.release.tag_name }}+mc.1.21.1.jar
|
||||
target/HuskSync-Bukkit-${{ github.event.release.tag_name }}+mc.1.21.4.jar
|
||||
target/HuskSync-Fabric-${{ github.event.release.tag_name }}+mc.1.20.1.jar
|
||||
target/HuskSync-Fabric-${{ github.event.release.tag_name }}+mc.1.21.1.jar
|
||||
target/HuskSync-Paper-${{ github.event.release.tag_name }}+mc.1.20.1.jar
|
||||
target/HuskSync-Fabric-${{ github.event.release.tag_name }}+mc.1.20.1.jar
|
||||
target/HuskSync-Fabric-${{ github.event.release.tag_name }}+mc.1.21.4.jar
|
||||
Reference in New Issue
Block a user