From 9d926219043c48fe964a35e53afc10dbcb1fe29c Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Mon, 18 Nov 2024 16:51:18 +0100 Subject: [PATCH 1/7] remove backticks --- .github/workflows/build-binary.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-binary.yml b/.github/workflows/build-binary.yml index 1bba44c..07faaa7 100644 --- a/.github/workflows/build-binary.yml +++ b/.github/workflows/build-binary.yml @@ -97,11 +97,11 @@ jobs: --verbose --output target/runtime --module-path "${JAVA_HOME}/jmods" - --add-modules java.base,java.compiler,java.naming,java.xml ` - --strip-native-commands ` - --no-header-files ` - --no-man-pages ` - --strip-debug ` + --add-modules java.base,java.compiler,java.naming,java.xml + --strip-native-commands + --no-header-files + --no-man-pages + --strip-debug --compress zip-6 - name: Run jpackage run: > From 2bfe7bbb5fcc17aa89fb9b680ca420b38eb987e8 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Mon, 18 Nov 2024 17:01:14 +0100 Subject: [PATCH 2/7] more fixin [ci skip] --- .github/workflows/build-binary.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-binary.yml b/.github/workflows/build-binary.yml index 07faaa7..2325c1f 100644 --- a/.github/workflows/build-binary.yml +++ b/.github/workflows/build-binary.yml @@ -33,10 +33,10 @@ jobs: shell: pwsh run: | if ( '${{github.event_name}}' -eq 'release') { - echo "version=${{ github.event.release.tag_name}}" >> "$GITHUB_OUTPUT" + echo 'version=${{ github.event.release.tag_name}}' >> "$env:GITHUB_OUTPUT" exit 0 } elseif ('${{inputs.sem-version}}') { - echo "version=${{ inputs.sem-version}}" >> "$GITHUB_OUTPUT" + echo 'version=${{ inputs.sem-version}}' >> "$env:GITHUB_OUTPUT" exit 0 } Write-Error "Version neither via input nor by tag specified. Aborting" From f91d599b93ca0c69f3a39f363fcb4592e993223f Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Mon, 18 Nov 2024 17:08:42 +0100 Subject: [PATCH 3/7] name artifacts correctly --- .github/workflows/build-binary.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-binary.yml b/.github/workflows/build-binary.yml index 2325c1f..03704bb 100644 --- a/.github/workflows/build-binary.yml +++ b/.github/workflows/build-binary.yml @@ -54,22 +54,27 @@ jobs: matrix: include: - os: ubuntu-latest + suffix: linux architecture: x64 native-access-lib: 'org.cryptomator.jfuse.linux.amd64' binary-dir-suffix: "" - os: [self-hosted, Linux, ARM64] + suffix: linux architecture: aarch64 native-access-lib: 'org.cryptomator.jfuse.linux.aarch64' binary-dir-suffix: "" - os: macos-latest-large + suffix: mac architecture: x64 native-access-lib: 'org.cryptomator.jfuse.mac' binary-dir-suffix: ".app" - os: macos-latest + suffix: mac architecture: aarch64 native-access-lib: 'org.cryptomator.jfuse.mac' binary-dir-suffix: ".app" - os: windows-latest + suffix: win architecture: x64 native-access-lib: 'org.cryptomator.jfuse.win' binary-dir-suffix: "" @@ -126,6 +131,7 @@ jobs: ${JPACKAGE_OS_OPTS} - uses: actions/upload-artifact@v4 with: + name: cryptomator-cli-${{matrix.suffix}} path: ./target/cryptomator-cli${{ matrix.binary-dir-suffix }} if-no-files-found: error - name: Zip binary for release @@ -145,6 +151,6 @@ jobs: fail_on_unmatched_files: true token: ${{ secrets.CRYPTOBOT_RELEASE_TOKEN }} files: | - cryptomator-cli-${{ needs.prepare.outputs.semVerStr }}.zip + cryptomator-cli-${{ needs.prepare.outputs.semVerStr }}-${{matrix.suffix}}-${{matrix.architecture}}.zip cryptomator-cli-*.asc From a0f088299d6e037ac9d48f01459d158f53f68d51 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Mon, 18 Nov 2024 17:10:05 +0100 Subject: [PATCH 4/7] test zipping and signing step [ci skip] --- .github/workflows/build-binary.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build-binary.yml b/.github/workflows/build-binary.yml index 03704bb..b75c38c 100644 --- a/.github/workflows/build-binary.yml +++ b/.github/workflows/build-binary.yml @@ -135,7 +135,6 @@ jobs: path: ./target/cryptomator-cli${{ matrix.binary-dir-suffix }} if-no-files-found: error - name: Zip binary for release - if: startsWith(github.ref, 'refs/tags/') && github.event.action == 'published' run: zip -r ./target/cryptomator-cli${{ matrix.binary-dir-suffix }} ./cryptomator-cli-${{ needs.prepare.outputs.semVerStr }}.zip - name: Create detached GPG signature with key 615D449FE6E6A235 run: | From 00802a56d80252f9aebf040a93468f432e56cb5d Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Wed, 20 Nov 2024 11:09:31 +0100 Subject: [PATCH 5/7] make uploaded artifacts distinguishable --- .github/workflows/build-binary.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-binary.yml b/.github/workflows/build-binary.yml index b75c38c..f70a084 100644 --- a/.github/workflows/build-binary.yml +++ b/.github/workflows/build-binary.yml @@ -131,7 +131,7 @@ jobs: ${JPACKAGE_OS_OPTS} - uses: actions/upload-artifact@v4 with: - name: cryptomator-cli-${{matrix.suffix}} + name: cryptomator-cli-${{matrix.suffix}}-${{matrix.architecture}} path: ./target/cryptomator-cli${{ matrix.binary-dir-suffix }} if-no-files-found: error - name: Zip binary for release From a584b78661ce5948249a5372849b48782f1e6537 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Wed, 20 Nov 2024 12:38:32 +0100 Subject: [PATCH 6/7] split binary builds into different workflows --- .../{build-binary.yml => build-linux.yml} | 41 ++---- .github/workflows/build-mac.yml | 134 ++++++++++++++++++ .github/workflows/build-win.yml | 129 +++++++++++++++++ 3 files changed, 273 insertions(+), 31 deletions(-) rename .github/workflows/{build-binary.yml => build-linux.yml} (74%) create mode 100644 .github/workflows/build-mac.yml create mode 100644 .github/workflows/build-win.yml diff --git a/.github/workflows/build-binary.yml b/.github/workflows/build-linux.yml similarity index 74% rename from .github/workflows/build-binary.yml rename to .github/workflows/build-linux.yml index f70a084..5989d20 100644 --- a/.github/workflows/build-binary.yml +++ b/.github/workflows/build-linux.yml @@ -1,4 +1,4 @@ -name: Build java app image +name: Java app image Linux on: release: @@ -54,40 +54,20 @@ jobs: matrix: include: - os: ubuntu-latest - suffix: linux architecture: x64 native-access-lib: 'org.cryptomator.jfuse.linux.amd64' - binary-dir-suffix: "" + artifact-name: cryptomator-cli-${{ needs.prepare.outputs.semVerStr }}-linux-x64.zip - os: [self-hosted, Linux, ARM64] - suffix: linux architecture: aarch64 native-access-lib: 'org.cryptomator.jfuse.linux.aarch64' - binary-dir-suffix: "" - - os: macos-latest-large - suffix: mac - architecture: x64 - native-access-lib: 'org.cryptomator.jfuse.mac' - binary-dir-suffix: ".app" - - os: macos-latest - suffix: mac - architecture: aarch64 - native-access-lib: 'org.cryptomator.jfuse.mac' - binary-dir-suffix: ".app" - - os: windows-latest - suffix: win - architecture: x64 - native-access-lib: 'org.cryptomator.jfuse.win' - binary-dir-suffix: "" + artifact-name: cryptomator-cli-${{ needs.prepare.outputs.semVerStr }}-linux-aarch64.zip runs-on: ${{ matrix.os }} steps: - - name: Preparations for windows runner - if: startsWith(matrix.os, 'windows') - run: echo "JPACKAGE_OS_OPTS=--win-console" >> "$GITHUB_ENV" - uses: actions/checkout@v4 - uses: actions/setup-java@v4 with: - java-version: '22' - distribution: 'zulu' + java-version: ${{ env.JAVA_VERSION }} + distribution: ${{ env.JAVA_DIST }} - name: Set version run: mvn versions:set -DnewVersion=${{ needs.prepare.outputs.semVerStr }} - name: Run maven @@ -128,18 +108,17 @@ jobs: --java-options "-Xss5m" --java-options "-Xmx256m" --java-options "-Dfile.encoding=\"utf-8\"" - ${JPACKAGE_OS_OPTS} - uses: actions/upload-artifact@v4 with: - name: cryptomator-cli-${{matrix.suffix}}-${{matrix.architecture}} - path: ./target/cryptomator-cli${{ matrix.binary-dir-suffix }} + name: cryptomator-cli-linux-${{ matrix.architecture }} + path: ./target/cryptomator-cli if-no-files-found: error - name: Zip binary for release - run: zip -r ./target/cryptomator-cli${{ matrix.binary-dir-suffix }} ./cryptomator-cli-${{ needs.prepare.outputs.semVerStr }}.zip + run: zip -r ./${{ matrix.artifact-name}} ./target/cryptomator-cli - name: Create detached GPG signature with key 615D449FE6E6A235 run: | echo "${GPG_PRIVATE_KEY}" | gpg --batch --quiet --import - echo "${GPG_PASSPHRASE}" | gpg --batch --quiet --passphrase-fd 0 --pinentry-mode loopback -u 615D449FE6E6A235 --detach-sign -a ./cryptomator-cli-${{ needs.prepare.outputs.semVerStr }}.zip + echo "${GPG_PASSPHRASE}" | gpg --batch --quiet --passphrase-fd 0 --pinentry-mode loopback -u 615D449FE6E6A235 --detach-sign -a ./${{ matrix.artifact-name }} env: GPG_PRIVATE_KEY: ${{ secrets.RELEASES_GPG_PRIVATE_KEY }} GPG_PASSPHRASE: ${{ secrets.RELEASES_GPG_PASSPHRASE }} @@ -150,6 +129,6 @@ jobs: fail_on_unmatched_files: true token: ${{ secrets.CRYPTOBOT_RELEASE_TOKEN }} files: | - cryptomator-cli-${{ needs.prepare.outputs.semVerStr }}-${{matrix.suffix}}-${{matrix.architecture}}.zip + ${{ matrix.artifact-name }} cryptomator-cli-*.asc diff --git a/.github/workflows/build-mac.yml b/.github/workflows/build-mac.yml new file mode 100644 index 0000000..4def94c --- /dev/null +++ b/.github/workflows/build-mac.yml @@ -0,0 +1,134 @@ +name: Java app image macOS + +on: + release: + types: [published] + workflow_dispatch: + inputs: + sem-version: + description: 'Version' + required: false + +permissions: + contents: write + packages: write + +env: + JAVA_DIST: 'zulu' + JAVA_VERSION: '22.0.2+9' + +defaults: + run: + shell: bash + +jobs: + prepare: + name: Determines the versions strings for the binaries + runs-on: [ubuntu-latest] + outputs: + semVerStr: ${{ steps.determine-version.outputs.version }} + semVerNum: ${{steps.determine-number.outputs.number}} + steps: + - id: determine-version + shell: pwsh + run: | + if ( '${{github.event_name}}' -eq 'release') { + echo 'version=${{ github.event.release.tag_name}}' >> "$env:GITHUB_OUTPUT" + exit 0 + } elseif ('${{inputs.sem-version}}') { + echo 'version=${{ inputs.sem-version}}' >> "$env:GITHUB_OUTPUT" + exit 0 + } + Write-Error "Version neither via input nor by tag specified. Aborting" + exit 1 + - id: determine-number + run: | + SEM_VER_NUM=$(echo "${{ steps.determine-version.outputs.version }}" | sed -E 's/([0-9]+\.[0-9]+\.[0-9]+).*/\1/') + echo "number=${SEM_VER_NUM}" >> "$GITHUB_OUTPUT" + + build-binary: + name: Build java app image + needs: [prepare] + strategy: + fail-fast: false + matrix: + include: + - os: macos-latest + architecture: arm64 + artifact-name: cryptomator-cli-${{ needs.prepare.outputs.semVerStr }}-mac-arm64.zip + - os: macos-13 + architecture: x64 + artifact-name: cryptomator-cli-${{ needs.prepare.outputs.semVerStr }}-mac-x64.zip + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + java-version: ${{ env.JAVA_VERSION }} + distribution: ${{ env.JAVA_DIST }} + - name: Set version + run: mvn versions:set -DnewVersion=${{ needs.prepare.outputs.semVerStr }} + - name: Run maven + run: mvn -B clean package -Pwin -DskipTests + - name: Patch target dir + run: | + cp LICENSE.txt target + cp target/cryptomator-*.jar target/mods + - name: Run jlink + run: > + ${JAVA_HOME}/bin/jlink + --verbose + --output target/runtime + --module-path "${JAVA_HOME}/jmods" + --add-modules java.base,java.compiler,java.naming,java.xml + --strip-native-commands + --no-header-files + --no-man-pages + --strip-debug + --compress zip-6 + - name: Run jpackage + run: > + ${JAVA_HOME}/bin/jpackage + --verbose + --type app-image + --runtime-image target/runtime + --input target/libs + --module-path target/mods + --module org.cryptomator.cli/org.cryptomator.cli.CryptomatorCli + --dest target + --name cryptomator-cli + --vendor "Skymatic GmbH" + --copyright "(C) 2016 - 2024 Skymatic GmbH" + --app-version "${{ needs.prepare.outputs.semVerNum }}" + --java-options "-Dorg.cryptomator.cli.version=${{ needs.prepare.outputs.semVerStr }}" + --java-options "--enable-preview" + --java-options "--enable-native-access=org.cryptomator.jfuse.mac" + --java-options "-Xss5m" + --java-options "-Xmx256m" + --java-options "-Dfile.encoding=\"utf-8\"" + - uses: actions/upload-artifact@v4 + with: + name: cryptomator-cli-mac-${{ matrix.architecture }} + path: ./target/cryptomator-cli.app + if-no-files-found: error + - name: TODO sign binaries + run: echo "TODO sign it and notarize it" + - name: Zip binary for release + run: zip -r ./${{ matrix.artifact-name}} ./target/cryptomator-cli.app + - name: Create detached GPG signature with key 615D449FE6E6A235 + run: | + echo "${GPG_PRIVATE_KEY}" | gpg --batch --quiet --import + echo "${GPG_PASSPHRASE}" | gpg --batch --quiet --passphrase-fd 0 --pinentry-mode loopback -u 615D449FE6E6A235 --detach-sign -a ./${{ matrix.artifact-name }} + env: + GPG_PRIVATE_KEY: ${{ secrets.RELEASES_GPG_PRIVATE_KEY }} + GPG_PASSPHRASE: ${{ secrets.RELEASES_GPG_PASSPHRASE }} + - name: Publish artefact on GitHub Releases + if: startsWith(github.ref, 'refs/tags/') && github.event.action == 'published' + uses: softprops/action-gh-release@v2 + with: + fail_on_unmatched_files: true + token: ${{ secrets.CRYPTOBOT_RELEASE_TOKEN }} + files: | + ${{ matrix.artifact-name }} + cryptomator-cli-*.asc + diff --git a/.github/workflows/build-win.yml b/.github/workflows/build-win.yml new file mode 100644 index 0000000..76b9b89 --- /dev/null +++ b/.github/workflows/build-win.yml @@ -0,0 +1,129 @@ +name: Java app image Windows + +on: + release: + types: [published] + workflow_dispatch: + inputs: + sem-version: + description: 'Version' + required: false + +permissions: + contents: write + packages: write + +env: + JAVA_DIST: 'zulu' + JAVA_VERSION: '22.0.2+9' + +defaults: + run: + shell: bash + +jobs: + prepare: + name: Determines the versions strings for the binaries + runs-on: [ubuntu-latest] + outputs: + semVerStr: ${{ steps.determine-version.outputs.version }} + semVerNum: ${{steps.determine-number.outputs.number}} + steps: + - id: determine-version + shell: pwsh + run: | + if ( '${{github.event_name}}' -eq 'release') { + echo 'version=${{ github.event.release.tag_name}}' >> "$env:GITHUB_OUTPUT" + exit 0 + } elseif ('${{inputs.sem-version}}') { + echo 'version=${{ inputs.sem-version}}' >> "$env:GITHUB_OUTPUT" + exit 0 + } + Write-Error "Version neither via input nor by tag specified. Aborting" + exit 1 + - id: determine-number + run: | + SEM_VER_NUM=$(echo "${{ steps.determine-version.outputs.version }}" | sed -E 's/([0-9]+\.[0-9]+\.[0-9]+).*/\1/') + echo "number=${SEM_VER_NUM}" >> "$GITHUB_OUTPUT" + + build-binary: + name: Build java app image + needs: [prepare] + runs-on: windows-latest + env: + artifact-name: cryptomator-cli-${{ needs.prepare.outputs.semVerStr }}-win-x64.zip + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-java@v4 + with: + java-version: ${{ env.JAVA_VERSION }} + distribution: ${{ env.JAVA_DIST }} + - name: Set version + run: mvn versions:set -DnewVersion=${{ needs.prepare.outputs.semVerStr }} + - name: Run maven + run: mvn -B clean package -Pwin -DskipTests + - name: Patch target dir + run: | + cp LICENSE.txt target + cp target/cryptomator-*.jar target/mods + - name: Run jlink + run: > + ${JAVA_HOME}/bin/jlink + --verbose + --output target/runtime + --module-path "${JAVA_HOME}/jmods" + --add-modules java.base,java.compiler,java.naming,java.xml + --strip-native-commands + --no-header-files + --no-man-pages + --strip-debug + --compress zip-6 + - name: Run jpackage + run: > + ${JAVA_HOME}/bin/jpackage + --verbose + --type app-image + --runtime-image target/runtime + --input target/libs + --module-path target/mods + --module org.cryptomator.cli/org.cryptomator.cli.CryptomatorCli + --dest target + --name cryptomator-cli + --vendor "Skymatic GmbH" + --copyright "(C) 2016 - 2024 Skymatic GmbH" + --app-version "${{ needs.prepare.outputs.semVerNum }}" + --java-options "-Dorg.cryptomator.cli.version=${{ needs.prepare.outputs.semVerStr }}" + --java-options "--enable-preview" + --java-options "--enable-native-access=org.cryptomator.jfuse.win" + --java-options "-Xss5m" + --java-options "-Xmx256m" + --java-options "-Dfile.encoding=\"utf-8\"" + --win-console + - uses: actions/upload-artifact@v4 + with: + name: cryptomator-cli-win-x64 + path: ./target/cryptomator-cli + if-no-files-found: error + - name: TODO Sign binaries + run: echo TODO; exit 1; + #TODO + - name: Zip binary for release + shell: pwsh + run: Compress-Archive -Path .\target\cryptomator-cli -DestinationPath .\${{ env.artifact-name}} + - name: Create detached GPG signature with key 615D449FE6E6A235 + run: | + echo "${GPG_PRIVATE_KEY}" | gpg --batch --quiet --import + echo "${GPG_PASSPHRASE}" | gpg --batch --quiet --passphrase-fd 0 --pinentry-mode loopback -u 615D449FE6E6A235 --detach-sign -a ./${{ env.artifact-name}} + env: + GPG_PRIVATE_KEY: ${{ secrets.RELEASES_GPG_PRIVATE_KEY }} + GPG_PASSPHRASE: ${{ secrets.RELEASES_GPG_PASSPHRASE }} + - name: Publish artefact on GitHub Releases + if: startsWith(github.ref, 'refs/tags/') && github.event.action == 'published' + uses: softprops/action-gh-release@v2 + with: + fail_on_unmatched_files: true + token: ${{ secrets.CRYPTOBOT_RELEASE_TOKEN }} + files: | + ${{ env.artifact-name}} + cryptomator-cli-*.asc + From ca283038915d65a7ccfbfdb81b7c614040096011 Mon Sep 17 00:00:00 2001 From: Armin Schrenk Date: Wed, 20 Nov 2024 13:01:55 +0100 Subject: [PATCH 7/7] fix minor issues [ci skip] --- .github/workflows/build-linux.yml | 7 +++---- .github/workflows/build-mac.yml | 7 +++---- .github/workflows/build-win.yml | 10 ++++------ 3 files changed, 10 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml index 5989d20..ee16919 100644 --- a/.github/workflows/build-linux.yml +++ b/.github/workflows/build-linux.yml @@ -71,14 +71,14 @@ jobs: - name: Set version run: mvn versions:set -DnewVersion=${{ needs.prepare.outputs.semVerStr }} - name: Run maven - run: mvn -B clean package -Pwin -DskipTests + run: mvn -B clean package -DskipTests - name: Patch target dir run: | cp LICENSE.txt target cp target/cryptomator-*.jar target/mods - name: Run jlink run: > - ${JAVA_HOME}/bin/jlink + "${JAVA_HOME}/bin/jlink" --verbose --output target/runtime --module-path "${JAVA_HOME}/jmods" @@ -90,7 +90,7 @@ jobs: --compress zip-6 - name: Run jpackage run: > - ${JAVA_HOME}/bin/jpackage + "${JAVA_HOME}/bin/jpackage" --verbose --type app-image --runtime-image target/runtime @@ -103,7 +103,6 @@ jobs: --copyright "(C) 2016 - 2024 Skymatic GmbH" --app-version "${{ needs.prepare.outputs.semVerNum }}" --java-options "-Dorg.cryptomator.cli.version=${{ needs.prepare.outputs.semVerStr }}" - --java-options "--enable-preview" --java-options "--enable-native-access=${{ matrix.native-access-lib }}" --java-options "-Xss5m" --java-options "-Xmx256m" diff --git a/.github/workflows/build-mac.yml b/.github/workflows/build-mac.yml index 4def94c..b14d5f0 100644 --- a/.github/workflows/build-mac.yml +++ b/.github/workflows/build-mac.yml @@ -69,14 +69,14 @@ jobs: - name: Set version run: mvn versions:set -DnewVersion=${{ needs.prepare.outputs.semVerStr }} - name: Run maven - run: mvn -B clean package -Pwin -DskipTests + run: mvn -B clean package -DskipTests - name: Patch target dir run: | cp LICENSE.txt target cp target/cryptomator-*.jar target/mods - name: Run jlink run: > - ${JAVA_HOME}/bin/jlink + "${JAVA_HOME}/bin/jlink" --verbose --output target/runtime --module-path "${JAVA_HOME}/jmods" @@ -88,7 +88,7 @@ jobs: --compress zip-6 - name: Run jpackage run: > - ${JAVA_HOME}/bin/jpackage + "${JAVA_HOME}/bin/jpackage" --verbose --type app-image --runtime-image target/runtime @@ -101,7 +101,6 @@ jobs: --copyright "(C) 2016 - 2024 Skymatic GmbH" --app-version "${{ needs.prepare.outputs.semVerNum }}" --java-options "-Dorg.cryptomator.cli.version=${{ needs.prepare.outputs.semVerStr }}" - --java-options "--enable-preview" --java-options "--enable-native-access=org.cryptomator.jfuse.mac" --java-options "-Xss5m" --java-options "-Xmx256m" diff --git a/.github/workflows/build-win.yml b/.github/workflows/build-win.yml index 76b9b89..ac1ff6c 100644 --- a/.github/workflows/build-win.yml +++ b/.github/workflows/build-win.yml @@ -61,14 +61,14 @@ jobs: - name: Set version run: mvn versions:set -DnewVersion=${{ needs.prepare.outputs.semVerStr }} - name: Run maven - run: mvn -B clean package -Pwin -DskipTests + run: mvn -B clean package -DskipTests - name: Patch target dir run: | cp LICENSE.txt target cp target/cryptomator-*.jar target/mods - name: Run jlink run: > - ${JAVA_HOME}/bin/jlink + "${JAVA_HOME}/bin/jlink" --verbose --output target/runtime --module-path "${JAVA_HOME}/jmods" @@ -80,7 +80,7 @@ jobs: --compress zip-6 - name: Run jpackage run: > - ${JAVA_HOME}/bin/jpackage + "${JAVA_HOME}/bin/jpackage" --verbose --type app-image --runtime-image target/runtime @@ -93,7 +93,6 @@ jobs: --copyright "(C) 2016 - 2024 Skymatic GmbH" --app-version "${{ needs.prepare.outputs.semVerNum }}" --java-options "-Dorg.cryptomator.cli.version=${{ needs.prepare.outputs.semVerStr }}" - --java-options "--enable-preview" --java-options "--enable-native-access=org.cryptomator.jfuse.win" --java-options "-Xss5m" --java-options "-Xmx256m" @@ -105,8 +104,7 @@ jobs: path: ./target/cryptomator-cli if-no-files-found: error - name: TODO Sign binaries - run: echo TODO; exit 1; - #TODO + run: echo TODO - name: Zip binary for release shell: pwsh run: Compress-Archive -Path .\target\cryptomator-cli -DestinationPath .\${{ env.artifact-name}}