Merge branch 'develop' into 'beta' #3218
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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` |