Skip to content

RELEASE: 5.1.15

RELEASE: 5.1.15 #3261

Workflow file for this run

name: Test
on:
push:
pull_request:
workflow_dispatch:
jobs:
jar:
strategy:
matrix:
# and run on both Linux and Windows
os: [ ubuntu-latest, windows-latest, macos-latest ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/[email protected]
- name: Get branch name
id: branch-name
uses: tj-actions/[email protected]
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '21'
check-latest: true
cache: 'gradle'
- name: Grant execute permission for gradlew
if: ${{ runner.os != 'Windows' }}
run: chmod +x gradlew
- uses: gradle/actions/setup-gradle@v3
with:
gradle-version: wrapper
- name: Build with Gradle
run: |
./gradlew -Pversion=${{ steps.branch-name.outputs.current_branch }} generateLicenseReport --info --full-stacktrace
./gradlew -Pversion=${{ steps.branch-name.outputs.current_branch }} build --info --full-stacktrace
- uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: build-artifacts-${{ matrix.os }}
path: |
build
buildSrc/build
serverpackcreator-api/build
serverpackcreator-app/build
serverpackcreator-cli/build
serverpackcreator-web/build
serverpackcreator-updater/build
serverpackcreator-web-frontend/dist
serverpackcreator-plugin-example/build
if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn`
mac-01:
runs-on: macos-latest
steps:
# GET THE LATEST CODE
- name: Checkout latest code
uses: actions/[email protected]
with:
fetch-depth: 0
# BUILD PROJECT AND PUBLISH
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '21'
check-latest: true
cache: 'gradle'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- uses: gradle/actions/setup-gradle@v3
with:
gradle-version: wrapper
- name: Build installer
env:
GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
./gradlew -Pversion=${{ steps.branch-name.outputs.current_branch }} generateLicenseReport --info --full-stacktrace
./gradlew :serverpackcreator-app:jpackage --info --full-stacktrace
- name: Rename
run: mv serverpackcreator-app/build/dist/* serverpackcreator-app/build/dist/ServerPackCreator-Installer-MacOS-dev.pkg
# UPLOAD OS-SPECIFICS
- name: Upload
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: mac-01-artifacts
path: |
serverpackcreator-app/build
if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn`
windows-01:
runs-on: windows-latest
steps:
# GET THE LATEST CODE
- name: Checkout latest code
uses: actions/[email protected]
with:
fetch-depth: 0
# BUILD PROJECT AND PUBLISH
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '21'
check-latest: true
cache: 'gradle'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- uses: gradle/actions/setup-gradle@v3
with:
gradle-version: wrapper
- name: Prepare wix-toolset
if: matrix.os == 'windows-latest'
run: echo "${env:path};${env:wix}bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8
- name: Build installer
env:
GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
./gradlew -Pversion=${{ steps.branch-name.outputs.current_branch }} generateLicenseReport --info --full-stacktrace
./gradlew :serverpackcreator-app:jpackage --info --full-stacktrace
- name: Rename
run: mv serverpackcreator-app/build/dist/* serverpackcreator-app/build/dist/ServerPackCreator-Installer-Windows-dev.msi
# UPLOAD OS-SPECIFICS
- name: Upload
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: windows-01-artifacts
path: |
serverpackcreator-app/build
if-no-files-found: warn # 'warn' or 'ig
windows-02:
runs-on: windows-latest
steps:
# GET THE LATEST CODE
- name: Checkout latest code
uses: actions/[email protected]
with:
fetch-depth: 0
# BUILD PROJECT AND PUBLISH
- name: Set up JDK 21
id: java
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '21'
check-latest: true
cache: 'gradle'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- uses: gradle/actions/setup-gradle@v3
with:
gradle-version: wrapper
- name: Prepare wix-toolset
if: matrix.os == 'windows-latest'
run: echo "${env:path};${env:wix}bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8
- name: Prepare
env:
GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
./gradlew -Pversion=${{ steps.branch-name.outputs.current_branch }} generateLicenseReport --info --full-stacktrace
./gradlew build :serverpackcreator-app:copyDependencies :serverpackcreator-app:copyJar --info --full-stacktrace
- name: Build Image
run: |
jpackage `
--app-version "6.6.6" `
--copyright "Copyright (C) 2024 Griefed" `
--description "Create server packs from Minecraft Forge, NeoForge, Fabric, Quilt or LegacyFabric modpacks." `
--dest "serverpackcreator-app\build\dist" `
--icon "serverpackcreator-app\jpackagerResources\app.ico" `
--input "serverpackcreator-app\build\jars" `
--java-options "-Dfile.encoding=UTF-8" `
--java-options "-Dlog4j2.formatMsgNoLookups=true" `
--main-class de.griefed.serverpackcreator.app.ServerPackCreatorKt `
--main-jar serverpackcreator-app-dev.jar `
--name ServerPackCreator `
--resource-dir "serverpackcreator-app\jpackagerResources" `
--runtime-image "${{ steps.java.outputs.path }}" `
--temp "serverpackcreator-app\build\tmp\jpackager" `
--type "app-image" `
--vendor "griefed.de" `
--verbose
- name: List
if: ${{ always() }}
run: dir serverpackcreator-app\build\dist
- name: Archive
uses: thedoctor0/[email protected]
with:
type: 'zip'
directory: serverpackcreator-app/build/dist
path: 'ServerPackCreator'
filename: 'ServerPackCreator-Portable-Windows.zip'
- name: List
run: dir serverpackcreator-app\build\dist
# UPLOAD OS-SPECIFICS
- name: Upload
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: windows-02-artifacts
path: |
serverpackcreator-app/build/dist/ServerPackCreator-Portable-Windows.zip
if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn`
ubuntu-01:
runs-on: ubuntu-latest
steps:
# GET THE LATEST CODE
- name: Checkout latest code
uses: actions/[email protected]
with:
fetch-depth: 0
# BUILD PROJECT AND PUBLISH
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '21'
check-latest: true
cache: 'gradle'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- uses: gradle/actions/setup-gradle@v3
with:
gradle-version: wrapper
- name: Build installer
env:
GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
./gradlew -Pversion=${{ steps.branch-name.outputs.current_branch }} generateLicenseReport --info --full-stacktrace
./gradlew :serverpackcreator-app:jpackage --info --full-stacktrace
- name: Rename
run: mv serverpackcreator-app/build/dist/* serverpackcreator-app/build/dist/ServerPackCreator-Installer-Ubuntu-dev-amd64.deb
# UPLOAD OS-SPECIFICS
- name: Upload
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: ubuntu-01-artifacts
path: |
serverpackcreator-app/build
if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn`
ubuntu-02:
runs-on: ubuntu-latest
steps:
# GET THE LATEST CODE
- name: Checkout latest code
uses: actions/[email protected]
with:
fetch-depth: 0
# BUILD PROJECT AND PUBLISH
- name: Set up JDK 21
id: java
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '21'
check-latest: true
cache: 'gradle'
- name: Grant execute permission for gradlew
run: chmod +x gradlew
- uses: gradle/actions/setup-gradle@v3
with:
gradle-version: wrapper
- name: Prepare
env:
GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
./gradlew -Pversion=${{ steps.branch-name.outputs.current_branch }} generateLicenseReport --info --full-stacktrace
./gradlew build :serverpackcreator-app:copyDependencies :serverpackcreator-app:copyJar --info --full-stacktrace
- name: Build Image
run: |
jpackage \
--app-version "6.6.6" \
--copyright "Copyright (C) 2024 Griefed" \
--description "Create server packs from Minecraft Forge, NeoForge, Fabric, Quilt or LegacyFabric modpacks." \
--dest serverpackcreator-app/build/dist \
--icon serverpackcreator-app/jpackagerResources/app.png \
--input serverpackcreator-app/build/jars \
--java-options "-Dfile.encoding=UTF-8" \
--java-options "-Dlog4j2.formatMsgNoLookups=true" \
--main-class de.griefed.serverpackcreator.app.ServerPackCreatorKt \
--main-jar serverpackcreator-app-dev.jar \
--name ServerPackCreator \
--resource-dir serverpackcreator-app/jpackagerResources \
--runtime-image $JAVA_HOME \
--temp serverpackcreator-app/build/tmp/jpackager \
--type "app-image" \
--vendor "griefed.de" \
--verbose
- name: List
if: ${{ always() }}
run: ls -ahl serverpackcreator-app/build/dist
- name: Create AppImage
run: |
mkdir -p serverpackcreator-app/build/dist/ServerPackCreator.AppDir/usr/share/applications && \
mkdir -p serverpackcreator-app/build/dist/ServerPackCreator.AppDir/usr/icons/hicolor/512x512 && \
mkdir -p serverpackcreator-app/build/dist/ServerPackCreator.AppDir/usr/icons/hicolor/scalable && \
cp -rf serverpackcreator-app/build/dist/ServerPackCreator/* \
serverpackcreator-app/build/dist/ServerPackCreator.AppDir && \
cp serverpackcreator-app/jpackagerResources/appimage.desktop \
serverpackcreator-app/build/dist/ServerPackCreator.AppDir/usr/share/applications/ServerPackCreator.desktop && \
cp serverpackcreator-app/jpackagerResources/appimage.png \
serverpackcreator-app/build/dist/ServerPackCreator.AppDir/usr/icons/hicolor/512x512/ServerPackCreator.png && \
cp serverpackcreator-app/jpackagerResources/appimage.svg \
serverpackcreator-app/build/dist/ServerPackCreator.AppDir/usr/icons/hicolor/scalable/ServerPackCreator.svg && \
cd serverpackcreator-app/build/dist/ServerPackCreator.AppDir && \
ln -s bin/ServerPackCreator \
AppRun && \
ln -s usr/share/applications/ServerPackCreator.desktop \
ServerPackCreator.desktop && \
ln -s usr/icons/hicolor/512x512/ServerPackCreator.png \
ServerPackCreator.png && \
ln -s usr/icons/hicolor/scalable/ServerPackCreator.svg \
ServerPackCreator.svg && \
cd .. && \
curl \
-L https://github.com/AppImage/AppImageKit/releases/download/13/appimagetool-x86_64.AppImage \
-o appimagetool.AppImage && \
chmod +x appimagetool.AppImage && \
./appimagetool.AppImage --appimage-extract && \
export PATH=./squashfs-root/usr/bin:${PATH} && \
appimagetool \
ServerPackCreator.AppDir \
ServerPackCreator-Portable-Linux-x86_64.AppImage
# UPLOAD OS-SPECIFICS
- name: Upload
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
name: ubuntu-02-artifacts
path: |
serverpackcreator-app/build/dist/ServerPackCreator-Portable-Linux-x86_64.AppImage
if-no-files-found: warn # 'warn' or 'ignore' are also available, defaults to `warn`