diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index b073049b..8b3ba09d 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -81,11 +81,11 @@ jobs: fail-fast: false matrix: os: + - debian-all + - linux-assets - linux-x64 - - linux-all - macOS-x64 - macOS-arm64 - - debian-all - windows-x64 - windows-x86 @@ -133,11 +133,15 @@ jobs: path: release - uses: actions/download-artifact@v3 with: - name: linux-x64 + name: debian-all path: release - uses: actions/download-artifact@v3 with: - name: linux-all + name: linux-assets + path: release + - uses: actions/download-artifact@v3 + with: + name: linux-x64 path: release - uses: actions/download-artifact@v3 with: @@ -147,10 +151,6 @@ jobs: with: name: macOS-arm64 path: release - - uses: actions/download-artifact@v3 - with: - name: debian-all - path: release - uses: actions/download-artifact@v3 with: name: windows-x64 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a14bd558..1b221ebe 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -16,7 +16,7 @@ jobs: - name: Validate Gradle Wrapper uses: gradle/wrapper-validation-action@v1 - + build: name: Build Jar needs: check_wrapper @@ -81,15 +81,15 @@ jobs: strategy: fail-fast: false matrix: - os: [ - linux-x64, - linux-all, - macOS-x64, - macOS-arm64, - debian-all, - windows-x64, - windows-x86, - ] + os: + - debian-all + - linux-assets + - linux-x64 + - macOS-x64 + - macOS-arm64 + - windows-x64 + - windows-x86 + name: Make ${{ matrix.os }} release needs: build runs-on: ubuntu-latest @@ -135,11 +135,15 @@ jobs: path: release - uses: actions/download-artifact@v3 with: - name: linux-x64 + name: debian-all path: release - uses: actions/download-artifact@v3 with: - name: linux-all + name: linux-assets + path: release + - uses: actions/download-artifact@v3 + with: + name: linux-x64 path: release - uses: actions/download-artifact@v3 with: @@ -149,10 +153,6 @@ jobs: with: name: macOS-arm64 path: release - - uses: actions/download-artifact@v3 - with: - name: debian-all - path: release - uses: actions/download-artifact@v3 with: name: windows-x64 diff --git a/scripts/bundler.sh b/scripts/bundler.sh index be357e76..08961840 100755 --- a/scripts/bundler.sh +++ b/scripts/bundler.sh @@ -42,9 +42,8 @@ main() { make_deb_package move_release_to_output_dir ;; - linux-all) + linux-assets) RELEASE="$RELEASE_NAME.tar.gz" - cp "$JAR" "$RELEASE_NAME/tachidesk-server.jar" copy_linux_package_assets_to "$RELEASE_NAME/" tar -I "gzip -9" -cvf "$RELEASE" "$RELEASE_NAME/" move_release_to_output_dir @@ -151,11 +150,11 @@ copy_linux_package_assets_to() { local output_dir output_dir="$(readlink -e "$1" || exit 1)" - cp "scripts/resources/tachidesk-server-browser-launcher.sh" "$output_dir/" - cp "scripts/resources/tachidesk-server-debug-launcher.sh" "$output_dir/" - cp "scripts/resources/tachidesk-server-electron-launcher.sh" "$output_dir/" - cp "scripts/resources/tachidesk-server.desktop" "$output_dir/" - cp "scripts/resources/systemd"/* "$output_dir/" + cp "scripts/resources/pkg/tachidesk-server-browser-launcher.sh" "$output_dir/" + cp "scripts/resources/pkg/tachidesk-server-debug-launcher.sh" "$output_dir/" + cp "scripts/resources/pkg/tachidesk-server-electron-launcher.sh" "$output_dir/" + cp "scripts/resources/pkg/tachidesk-server.desktop" "$output_dir/" + cp "scripts/resources/pkg/systemd"/* "$output_dir/" cp "server/src/main/resources/icon/faviconlogo.png" \ "$output_dir/tachidesk-server.png" } @@ -274,7 +273,7 @@ make_windows_package() { # set -e is not recommended and unpredictable. # see https://stackoverflow.com/questions/64786/error-handling-in-bash # and http://mywiki.wooledge.org/BashFAO/105 -set -euo pipefail +set -uo pipefail error() { local parent_lineno="$1" local message="$2" diff --git a/scripts/resources/systemd/tachidesk-server.conf b/scripts/resources/pkg/systemd/tachidesk-server.conf similarity index 100% rename from scripts/resources/systemd/tachidesk-server.conf rename to scripts/resources/pkg/systemd/tachidesk-server.conf diff --git a/scripts/resources/systemd/tachidesk-server.service b/scripts/resources/pkg/systemd/tachidesk-server.service similarity index 100% rename from scripts/resources/systemd/tachidesk-server.service rename to scripts/resources/pkg/systemd/tachidesk-server.service diff --git a/scripts/resources/systemd/tachidesk-server.sysusers b/scripts/resources/pkg/systemd/tachidesk-server.sysusers similarity index 100% rename from scripts/resources/systemd/tachidesk-server.sysusers rename to scripts/resources/pkg/systemd/tachidesk-server.sysusers diff --git a/scripts/resources/systemd/tachidesk-server.tmpfiles b/scripts/resources/pkg/systemd/tachidesk-server.tmpfiles similarity index 100% rename from scripts/resources/systemd/tachidesk-server.tmpfiles rename to scripts/resources/pkg/systemd/tachidesk-server.tmpfiles diff --git a/scripts/resources/pkg/tachidesk-server-browser-launcher.sh b/scripts/resources/pkg/tachidesk-server-browser-launcher.sh new file mode 100644 index 00000000..066edce4 --- /dev/null +++ b/scripts/resources/pkg/tachidesk-server-browser-launcher.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +exec /usr/bin/java -jar /usr/share/java/tachidesk-server/tachidesk-server.jar diff --git a/scripts/resources/pkg/tachidesk-server-debug-launcher.sh b/scripts/resources/pkg/tachidesk-server-debug-launcher.sh new file mode 100644 index 00000000..94c23eb9 --- /dev/null +++ b/scripts/resources/pkg/tachidesk-server-debug-launcher.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +exec /usr/bin/java \ + -Dsuwayomi.tachidesk.config.server.debugLogsEnabled=true \ + -jar /usr/share/java/tachidesk-server/tachidesk-server.jar diff --git a/scripts/resources/pkg/tachidesk-server-electron-launcher.sh b/scripts/resources/pkg/tachidesk-server-electron-launcher.sh new file mode 100644 index 00000000..f2c67452 --- /dev/null +++ b/scripts/resources/pkg/tachidesk-server-electron-launcher.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +if [ ! -f /usr/bin/electron ]; then + echo "Electron executable was not found! +In order to run this launcher, you need Electron installed." + exit 1 +fi + +exec /usr/bin/java \ + -Dsuwayomi.tachidesk.config.server.webUIInterface=electron \ + -Dsuwayomi.tachidesk.config.server.electronPath=/usr/bin/electron \ + -jar /usr/share/java/tachidesk-server/tachidesk-server.jar diff --git a/scripts/resources/tachidesk-server.desktop b/scripts/resources/pkg/tachidesk-server.desktop similarity index 100% rename from scripts/resources/tachidesk-server.desktop rename to scripts/resources/pkg/tachidesk-server.desktop diff --git a/scripts/resources/tachidesk-server-browser-launcher.sh b/scripts/resources/tachidesk-server-browser-launcher.sh index 16d63960..d2f1652d 100644 --- a/scripts/resources/tachidesk-server-browser-launcher.sh +++ b/scripts/resources/tachidesk-server-browser-launcher.sh @@ -1,2 +1,3 @@ #!/bin/sh -exec /usr/bin/java -jar /usr/share/java/tachidesk-server/tachidesk-server.jar + +exec ./jre/bin/java -jar ./tachidesk-server.jar diff --git a/scripts/resources/tachidesk-server-debug-launcher.sh b/scripts/resources/tachidesk-server-debug-launcher.sh index 617ed19a..f736e549 100644 --- a/scripts/resources/tachidesk-server-debug-launcher.sh +++ b/scripts/resources/tachidesk-server-debug-launcher.sh @@ -1,4 +1,5 @@ #!/bin/sh -exec /usr/bin/java \ + +exec ./jre/bin/java \ -Dsuwayomi.tachidesk.config.server.debugLogsEnabled=true \ - -jar /usr/share/java/tachidesk-server/tachidesk-server.jar + -jar ./tachidesk-server.jar diff --git a/scripts/resources/tachidesk-server-electron-launcher.sh b/scripts/resources/tachidesk-server-electron-launcher.sh index f2c67452..535bcecc 100644 --- a/scripts/resources/tachidesk-server-electron-launcher.sh +++ b/scripts/resources/tachidesk-server-electron-launcher.sh @@ -1,12 +1,6 @@ #!/bin/sh -if [ ! -f /usr/bin/electron ]; then - echo "Electron executable was not found! -In order to run this launcher, you need Electron installed." - exit 1 -fi - -exec /usr/bin/java \ +exec ./jre/bin/java \ -Dsuwayomi.tachidesk.config.server.webUIInterface=electron \ - -Dsuwayomi.tachidesk.config.server.electronPath=/usr/bin/electron \ - -jar /usr/share/java/tachidesk-server/tachidesk-server.jar + -Dsuwayomi.tachidesk.config.server.electronPath=./electron/electron \ + -jar ./tachidesk-server.jar