Merge branch 'main' into ms6 #3285
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-and-media: | |
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 | |
- uses: luangong/setup-install4j@v1 | |
with: | |
version: 10.0.7 | |
license: ${{ secrets.INSTALL4J_LICENSE }} | |
- 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 media --info --full-stacktrace | |
- uses: actions/upload-artifact@v4 | |
if: ${{ always() }} | |
with: | |
name: jar-and-media-${{ matrix.os }} | |
path: | | |
media | |
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` | |
appimage: | |
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 --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/libs \ | |
--java-options "-Dfile.encoding=UTF-8" \ | |
--java-options "-Dlog4j2.formatMsgNoLookups=true" \ | |
--main-class org.springframework.boot.loader.launch.JarLauncher \ | |
--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: appimage | |
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` |