mirror of
https://github.com/Stirling-Tools/Stirling-PDF.git
synced 2025-08-23 12:49:24 +00:00
![dependabot[bot]](/assets/img/avatar_default.png)
Bumps [gradle/actions](https://github.com/gradle/actions) from 4.4.1 to 4.4.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/gradle/actions/releases">gradle/actions's releases</a>.</em></p> <blockquote> <h2>v4.4.2</h2> <p>This patch release updates a bunch of dependency versions</p> <h2>What's Changed</h2> <ul> <li>Bump github/codeql-action from 3.29.4 to 3.29.5 in the github-actions group across 1 directory (<a href="https://redirect.github.com/gradle/actions/pull/703">gradle/actions#703</a>)</li> <li>Bumps the npm-dependencies group in /sources with 4 updates (<a href="https://redirect.github.com/gradle/actions/pull/702">gradle/actions#702</a>)</li> <li>Upgrade to gradle 9 in workflows and tests (<a href="https://redirect.github.com/gradle/actions/pull/704">gradle/actions#704</a>)</li> <li>Update known wrapper checksums (<a href="https://redirect.github.com/gradle/actions/pull/701">gradle/actions#701</a>)</li> <li>Bump Gradle Wrapper from 8.14.3 to 9.0.0 in /.github/workflow-samples/gradle-plugin (<a href="https://redirect.github.com/gradle/actions/pull/695">gradle/actions#695</a>)</li> <li>Bump Gradle Wrapper from 8.14.3 to 9.0.0 in /.github/workflow-samples/groovy-dsl (<a href="https://redirect.github.com/gradle/actions/pull/696">gradle/actions#696</a>)</li> <li>Bump Gradle Wrapper from 8.14.3 to 9.0.0 in /.github/workflow-samples/java-toolchain (<a href="https://redirect.github.com/gradle/actions/pull/697">gradle/actions#697</a>)</li> <li>Bump com.fasterxml.jackson.dataformat:jackson-dataformat-smile from 2.19.1 to 2.19.2 in /sources/test/init-scripts in the gradle group across 1 directory (<a href="https://redirect.github.com/gradle/actions/pull/693">gradle/actions#693</a>)</li> <li>Bump github/codeql-action from 3.29.0 to 3.29.4 in the github-actions group across 1 directory (<a href="https://redirect.github.com/gradle/actions/pull/691">gradle/actions#691</a>)</li> <li>Bump the npm-dependencies group in /sources with 5 updates (<a href="https://redirect.github.com/gradle/actions/pull/692">gradle/actions#692</a>)</li> <li>Bump references to Develocity Gradle plugin from 4.0.2 to 4.1 (<a href="https://redirect.github.com/gradle/actions/pull/685">gradle/actions#685</a>)</li> <li>Bump the npm-dependencies group across 1 directory with 8 updates (<a href="https://redirect.github.com/gradle/actions/pull/684">gradle/actions#684</a>)</li> <li>Run Gradle release candidate tests with JDK 17 (<a href="https://redirect.github.com/gradle/actions/pull/690">gradle/actions#690</a>)</li> <li>Update Develocity npm agent to version 1.0.1 (<a href="https://redirect.github.com/gradle/actions/pull/687">gradle/actions#687</a>)</li> <li>Update known wrapper checksums (<a href="https://redirect.github.com/gradle/actions/pull/688">gradle/actions#688</a>)</li> <li>Bump Gradle Wrapper from 8.14.2 to 8.14.3 in /.github/workflow-samples/kotlin-dsl (<a href="https://redirect.github.com/gradle/actions/pull/683">gradle/actions#683</a></li> <li>Bump the github-actions group across 1 directory with 3 updates (<a href="https://redirect.github.com/gradle/actions/pull/675">gradle/actions#675</a>)</li> <li>Bump the gradle group across 3 directories with 2 updates (<a href="https://redirect.github.com/gradle/actions/pull/674">gradle/actions#674</a>)</li> <li>Bump Gradle Wrapper from 8.14.2 to 8.14.3 in /sources/test/init-scripts (<a href="https://redirect.github.com/gradle/actions/pull/679">gradle/actions#679</a>)</li> <li>Bump Gradle Wrapper from 8.14.2 to 8.14.3 in /.github/workflow-samples/java-toolchain (<a href="https://redirect.github.com/gradle/actions/pull/682">gradle/actions#682</a>)</li> <li>Bump Gradle Wrapper from 8.14.2 to 8.14.3 in /.github/workflow-samples/groovy-dsl (<a href="https://redirect.github.com/gradle/actions/pull/681">gradle/actions#681</a>)</li> <li>Bump Gradle Wrapper from 8.14.2 to 8.14.3 in /.github/workflow-samples/gradle-plugin (<a href="https://redirect.github.com/gradle/actions/pull/680">gradle/actions#680</a>)</li> <li>Update known wrapper checksums (<a href="https://redirect.github.com/gradle/actions/pull/676">gradle/actions#676</a>)</li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/gradle/actions/compare/v4.4.1...v4.4.2">https://github.com/gradle/actions/compare/v4.4.1...v4.4.2</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="017a9effdb
"><code>017a9ef</code></a> Bump github/codeql-action from 3.29.4 to 3.29.5 in the github-actions group a...</li> <li><a href="d5397cf4c8
"><code>d5397cf</code></a> Merge branch 'main' into dependabot/github_actions/github-actions-12d2e1d0cf</li> <li><a href="559dfbd266
"><code>559dfbd</code></a> Bump the npm-dependencies group in /sources with 4 updates (<a href="https://redirect.github.com/gradle/actions/issues/702">#702</a>)</li> <li><a href="075ee283cc
"><code>075ee28</code></a> Merge branch 'main' into dependabot/npm_and_yarn/sources/npm-dependencies-fda...</li> <li><a href="c3e68c5c72
"><code>c3e68c5</code></a> Upgrade to gradle 9 in workflows and tests (<a href="https://redirect.github.com/gradle/actions/issues/704">#704</a>)</li> <li><a href="d7e674f97b
"><code>d7e674f</code></a> Fix init script tests dependencies</li> <li><a href="3e65128986
"><code>3e65128</code></a> Upgrade init script tests to Gradle 9</li> <li><a href="896b9fa309
"><code>896b9fa</code></a> Run tests on Gradle release candidate and current with JDK 17 as required sin...</li> <li><a href="431b3e39ba
"><code>431b3e3</code></a> Bump github/codeql-action in the github-actions group across 1 directory</li> <li><a href="44c3664945
"><code>44c3664</code></a> Bump the npm-dependencies group in /sources with 4 updates</li> <li>Additional commits viewable in <a href="ac638b010c...017a9effdb
">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
319 lines
11 KiB
YAML
319 lines
11 KiB
YAML
name: Test Installers Build
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
test_mode:
|
|
description: "Run in test mode (skip release step)"
|
|
required: false
|
|
default: "false"
|
|
release:
|
|
types: [created]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
read_versions:
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
version: ${{ steps.versionNumber.outputs.versionNumber }}
|
|
versionMac: ${{ steps.versionNumberMac.outputs.versionNumberMac }}
|
|
steps:
|
|
- name: Harden Runner
|
|
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
|
|
with:
|
|
egress-policy: audit
|
|
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
|
|
- name: Set up JDK
|
|
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
|
with:
|
|
distribution: 'temurin'
|
|
java-version: '21'
|
|
|
|
# ✅ Get version from Gradle
|
|
- name: Get version number
|
|
id: versionNumber
|
|
run: |
|
|
VERSION=$(./gradlew printVersion --quiet | tail -1)
|
|
echo "versionNumber=$VERSION" >> $GITHUB_OUTPUT
|
|
|
|
# ✅ Get Mac-specific version from Gradle
|
|
- name: Get version number mac
|
|
id: versionNumberMac
|
|
run: |
|
|
VERSION_MAC=$(./gradlew printMacVersion --quiet | tail -1)
|
|
echo "versionNumberMac=$VERSION_MAC" >> $GITHUB_OUTPUT
|
|
|
|
build-portable:
|
|
needs: read_versions
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
disable_security: [true, false]
|
|
include:
|
|
- disable_security: false
|
|
file_suffix: "-with-login"
|
|
- disable_security: true
|
|
file_suffix: ""
|
|
steps:
|
|
- name: Harden Runner
|
|
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
|
|
with:
|
|
egress-policy: audit
|
|
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
|
|
- name: Set up JDK 21
|
|
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
|
with:
|
|
java-version: "21"
|
|
distribution: "temurin"
|
|
|
|
- uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2
|
|
with:
|
|
gradle-version: 8.14
|
|
|
|
- name: Generate jar (Disable Security=${{ matrix.disable_security }})
|
|
run: ./gradlew clean createExe
|
|
env:
|
|
DISABLE_ADDITIONAL_FEATURES: ${{ matrix.disable_security }}
|
|
STIRLING_PDF_DESKTOP_UI: false
|
|
|
|
- name: Rename binaries
|
|
run: |
|
|
mkdir ./binaries
|
|
mv ./build/launch4j/Stirling-PDF.exe ./binaries/win-Stirling-PDF-portable-Server${{ matrix.file_suffix }}.exe
|
|
mv ./app/core/build/libs/stirling-pdf-${{ needs.read_versions.outputs.version }}.jar ./binaries/Stirling-PDF${{ matrix.file_suffix }}.jar
|
|
|
|
- name: Upload build artifacts
|
|
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
with:
|
|
retention-days: 1
|
|
if-no-files-found: error
|
|
name: stirling${{ matrix.file_suffix }}-binaries
|
|
path: |
|
|
./binaries/*
|
|
|
|
sign_verify-portable:
|
|
needs: [build-portable, read_versions]
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
disable_security: [true, false]
|
|
include:
|
|
- disable_security: false
|
|
file_suffix: "with-login-"
|
|
- disable_security: true
|
|
file_suffix: ""
|
|
steps:
|
|
- name: Harden Runner
|
|
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
|
|
with:
|
|
egress-policy: audit
|
|
|
|
- name: Download build artifacts
|
|
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
|
with:
|
|
name: stirling-${{ matrix.file_suffix }}binaries
|
|
|
|
- name: Display structure of downloaded files
|
|
run: ls -R
|
|
|
|
- name: Upload signed artifacts
|
|
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
with:
|
|
retention-days: 1
|
|
if-no-files-found: error
|
|
name: stirling-${{ matrix.file_suffix }}signed
|
|
path: |
|
|
./*
|
|
!cosign.*
|
|
|
|
build-installers:
|
|
needs: read_versions
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- os: windows-latest
|
|
platform: win-
|
|
- os: macos-latest
|
|
platform: mac-
|
|
# - os: ubuntu-latest
|
|
# platform: linux-
|
|
runs-on: ${{ matrix.os }}
|
|
permissions:
|
|
contents: write
|
|
steps:
|
|
- name: Harden Runner
|
|
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
|
|
with:
|
|
egress-policy: audit
|
|
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
|
|
- name: Set up JDK 21
|
|
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
|
|
with:
|
|
java-version: "21"
|
|
distribution: "temurin"
|
|
|
|
- uses: gradle/actions/setup-gradle@017a9effdb900e5b5b2fddfb590a105619dca3c3 # v4.4.2
|
|
with:
|
|
gradle-version: 8.14
|
|
|
|
# Install Windows dependencies
|
|
- name: Install WiX Toolset
|
|
if: matrix.os == 'windows-latest'
|
|
run: |
|
|
curl -L -o wix.exe https://github.com/wixtoolset/wix3/releases/download/wix3141rtm/wix314.exe
|
|
.\wix.exe /install /quiet
|
|
|
|
# Build installer
|
|
- name: Build Installer
|
|
run: ./gradlew build jpackage -x test --info
|
|
env:
|
|
DISABLE_ADDITIONAL_FEATURES: true
|
|
STIRLING_PDF_DESKTOP_UI: true
|
|
BROWSER_OPEN: true
|
|
|
|
- name: Set up JDK (x86_64)
|
|
if: matrix.os == 'macos-latest'
|
|
run: |
|
|
curl -L -o jdk.tar.gz https://cdn.azul.com/zulu/bin/zulu17.56.15-ca-jdk17.0.14-macosx_x64.tar.gz
|
|
mkdir -p zulu17
|
|
tar -xzf jdk.tar.gz -C zulu17 --strip-components=1
|
|
echo "JAVA_HOME=$PWD/zulu17" >> $GITHUB_ENV
|
|
echo "$PWD/zulu17/bin" >> $GITHUB_PATH
|
|
|
|
- name: Verify JDK architecture
|
|
if: matrix.os == 'macos-latest'
|
|
run: file $JAVA_HOME/bin/java
|
|
|
|
- name: Build project and run jpackage (x86_64)
|
|
if: matrix.os == 'macos-latest'
|
|
run: arch -x86_64 ./gradlew jpackageMacX64
|
|
|
|
# Rename and collect artifacts based on OS
|
|
- name: Prepare artifacts
|
|
id: prepare
|
|
shell: bash
|
|
run: |
|
|
ls -lah ./build/jpackage/
|
|
mkdir ./binaries
|
|
if [ "${{ matrix.os }}" = "windows-latest" ]; then
|
|
mv "./build/jpackage/Stirling PDF-${{ needs.read_versions.outputs.version }}.exe" "./binaries/Stirling-PDF-win-installer.exe"
|
|
elif [ "${{ matrix.os }}" = "macos-latest" ]; then
|
|
mv "./build/jpackage/Stirling PDF-${{ needs.read_versions.outputs.versionMac }}.dmg" "./binaries/Stirling-PDF-mac-installer.dmg"
|
|
mv "./build/jpackage/x86_64/Stirling PDF (x86_64)-${{ needs.read_versions.outputs.versionMac }}.dmg" "./binaries/Stirling-PDF-mac-x86_64-installer.dmg"
|
|
else
|
|
mv "./build/jpackage/stirling-pdf_${{ needs.read_versions.outputs.version }}-1_amd64.deb" "./binaries/Stirling-PDF-linux-installer.deb"
|
|
fi
|
|
|
|
- name: Display structure of downloaded files
|
|
run: ls -R ./binaries
|
|
|
|
- name: Upload build artifacts
|
|
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
with:
|
|
retention-days: 1
|
|
if-no-files-found: error
|
|
name: ${{ matrix.platform }}binaries
|
|
path: |
|
|
./binaries/*
|
|
|
|
sign_verify:
|
|
needs: [read_versions, build-installers]
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- os: windows-latest
|
|
platform: win-
|
|
- os: macos-latest
|
|
platform: mac-
|
|
# - os: ubuntu-latest
|
|
# platform: linux-
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Harden Runner
|
|
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
|
|
with:
|
|
egress-policy: audit
|
|
|
|
- name: Download build artifacts
|
|
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
|
with:
|
|
name: ${{ matrix.platform }}binaries
|
|
|
|
- name: Display structure of downloaded files
|
|
run: ls -R
|
|
|
|
- name: Install Cosign
|
|
if: matrix.os == 'windows-latest'
|
|
uses: sigstore/cosign-installer@d58896d6a1865668819e1d91763c7751a165e159 # v3.9.2
|
|
|
|
- name: Generate key pair
|
|
if: matrix.os == 'windows-latest'
|
|
run: cosign generate-key-pair
|
|
|
|
- name: Sign and generate attestations
|
|
if: matrix.os == 'windows-latest'
|
|
run: |
|
|
cosign sign-blob \
|
|
--key ./cosign.key \
|
|
--yes \
|
|
--output-signature ./Stirling-PDF-win-installer.exe.sig \
|
|
./Stirling-PDF-win-installer.exe
|
|
|
|
cosign attest-blob \
|
|
--predicate - \
|
|
--key ./cosign.key \
|
|
--yes \
|
|
--output-attestation ./Stirling-PDF-win-installer.exe.intoto.jsonl \
|
|
./Stirling-PDF-win-installer.exe
|
|
|
|
cosign verify-blob \
|
|
--key ./cosign.pub \
|
|
--signature ./Stirling-PDF-win-installer.exe.sig \
|
|
./Stirling-PDF-win-installer.exe
|
|
|
|
- name: Display structure of downloaded files
|
|
run: ls -R
|
|
|
|
- name: Upload signed artifacts
|
|
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
with:
|
|
retention-days: 1
|
|
if-no-files-found: error
|
|
name: ${{ matrix.platform }}signed
|
|
path: |
|
|
./Stirling-PDF-${{ matrix.platform }}installer.*
|
|
./Stirling-PDF-${{ matrix.platform }}x86_64-installer.*
|
|
!cosign.*
|
|
|
|
create-release:
|
|
if: github.event_name != 'workflow_dispatch' || github.event.inputs.test_mode != 'true'
|
|
needs: [read_versions, sign_verify, sign_verify-portable]
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: write
|
|
steps:
|
|
- name: Harden Runner
|
|
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
|
|
with:
|
|
egress-policy: audit
|
|
|
|
- name: Download signed artifacts
|
|
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
|
- name: Display structure of downloaded files
|
|
run: ls -R
|
|
- name: Upload binaries, attestations and signatures to Release and create GitHub Release
|
|
uses: softprops/action-gh-release@72f2c25fcb47643c292f7107632f7a47c1df5cd8 # v2.3.2
|
|
with:
|
|
tag_name: v${{ needs.read_versions.outputs.version }}
|
|
generate_release_notes: true
|
|
files: |
|
|
./*signed/*
|