Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 2 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[env]
CARGO_WORKSPACE_DIR = { value = "", relative = true }
49 changes: 0 additions & 49 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -138,43 +138,6 @@ jobs:
- name: Install frontend dependencies
run: npm install

# The PDFium worker pool runs as a Tauri sidecar (bundle.externalBin).
# Tauri requires binaries/pdfium-worker-<target-triple> to exist at build
# time on EVERY desktop platform, so build the workspace crate first and
# drop it in with the right triple suffix. Without these steps build.rs /
# tauri_build fails the validation — the cause of the failing nightlies.
- name: Build pdfium-worker sidecar (Windows)
if: contains(matrix.target, 'windows')
shell: pwsh
working-directory: .
run: |
cargo build --release -p pdfium-worker
New-Item -ItemType Directory -Force open-pdf-studio/src-tauri/binaries | Out-Null
Copy-Item target/release/pdfium-worker.exe open-pdf-studio/src-tauri/binaries/pdfium-worker-x86_64-pc-windows-msvc.exe -Force

- name: Build pdfium-worker sidecar (Linux)
if: matrix.target == 'linux'
working-directory: .
run: |
cargo build --release -p pdfium-worker
mkdir -p open-pdf-studio/src-tauri/binaries
cp target/release/pdfium-worker open-pdf-studio/src-tauri/binaries/pdfium-worker-x86_64-unknown-linux-gnu

- name: Build pdfium-worker sidecar (macOS universal)
if: matrix.target == 'macos'
working-directory: .
run: |
cargo build --release -p pdfium-worker --target aarch64-apple-darwin
cargo build --release -p pdfium-worker --target x86_64-apple-darwin
mkdir -p open-pdf-studio/src-tauri/binaries
# tauri-build validates the sidecar PER ARCH during the per-target
# cargo builds of a universal bundle, so all three names must exist.
cp target/aarch64-apple-darwin/release/pdfium-worker open-pdf-studio/src-tauri/binaries/pdfium-worker-aarch64-apple-darwin
cp target/x86_64-apple-darwin/release/pdfium-worker open-pdf-studio/src-tauri/binaries/pdfium-worker-x86_64-apple-darwin
lipo -create -output open-pdf-studio/src-tauri/binaries/pdfium-worker-universal-apple-darwin \
target/aarch64-apple-darwin/release/pdfium-worker \
target/x86_64-apple-darwin/release/pdfium-worker

- name: Set user install mode (Windows user installer)
if: matrix.target == 'windows-user'
shell: pwsh
Expand All @@ -183,18 +146,6 @@ jobs:
$conf.bundle.windows.nsis.installMode = "currentUser"
$conf | ConvertTo-Json -Depth 10 | Set-Content src-tauri/tauri.conf.json

# Linux uses in-proc PDFium (the worker sidecar is Windows-only), so the
# AppImage must bundle libpdfium.so — referenced by tauri.linux.conf.json.
# Fetch the same pdfium release as the committed win-x64/pdfium.dll
# (bblanchon chromium/7834) before bundling.
- name: Fetch libpdfium.so (Linux)
if: matrix.target == 'linux'
run: |
mkdir -p src-tauri/binaries/linux-x64
curl -L "https://github.com/bblanchon/pdfium-binaries/releases/download/chromium%2F7834/pdfium-linux-x64.tgz" -o /tmp/pdfium-linux.tgz
tar xzf /tmp/pdfium-linux.tgz -C /tmp lib/libpdfium.so
cp /tmp/lib/libpdfium.so src-tauri/binaries/linux-x64/libpdfium.so

- name: Build Tauri app
if: matrix.target != 'windows-user'
uses: tauri-apps/tauri-action@action-v0.6.1
Expand Down
59 changes: 0 additions & 59 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,65 +102,6 @@ jobs:
- name: Install frontend dependencies
run: npm install

# The PDFium worker pool runs as a Tauri sidecar (bundle.externalBin).
# Tauri requires binaries/pdfium-worker-<target-triple> to exist at
# build time on EVERY desktop platform, so build the workspace crate
# first and drop it in with the right triple suffix.
- name: Build pdfium-worker sidecar (Windows)
if: contains(matrix.target, 'windows')
shell: pwsh
working-directory: .
run: |
cargo build --release -p pdfium-worker
New-Item -ItemType Directory -Force open-pdf-studio/src-tauri/binaries | Out-Null
Copy-Item target/release/pdfium-worker.exe open-pdf-studio/src-tauri/binaries/pdfium-worker-x86_64-pc-windows-msvc.exe -Force

# Sign the pdfium-worker sidecar BEFORE Tauri bundles it into the installer.
# The installer-signing step below only signs the installer + main exe; the
# sidecar is extracted to disk UNSIGNED, which some AV engines flag as a
# heuristic false-positive and quarantine (Symantec Heur.AdvML.B, #245).
# Signing it here means the extracted worker.exe carries a trusted signature.
- name: Authenticode sign pdfium-worker sidecar (Windows)
if: contains(matrix.target, 'windows')
uses: azure/trusted-signing-action@v1
with:
azure-tenant-id: ${{ secrets.AZURE_TENANT_ID }}
azure-client-id: ${{ secrets.AZURE_CLIENT_ID }}
azure-client-secret: ${{ secrets.AZURE_CLIENT_SECRET }}
endpoint: ${{ secrets.AZURE_ENDPOINT }}
signing-account-name: ${{ secrets.AZURE_TRUSTED_SIGNING_ACCOUNT_NAME }}
certificate-profile-name: ${{ secrets.AZURE_CERTIFICATE_PROFILE_NAME }}
cache-dependencies: false
files-folder: ${{ github.workspace }}/open-pdf-studio/src-tauri/binaries
files-folder-filter: exe
files-folder-depth: 1
file-digest: SHA256
timestamp-rfc3161: http://timestamp.acs.microsoft.com
timestamp-digest: SHA256

- name: Build pdfium-worker sidecar (Linux)
if: matrix.target == 'linux'
working-directory: .
run: |
cargo build --release -p pdfium-worker
mkdir -p open-pdf-studio/src-tauri/binaries
cp target/release/pdfium-worker open-pdf-studio/src-tauri/binaries/pdfium-worker-x86_64-unknown-linux-gnu

- name: Build pdfium-worker sidecar (macOS universal)
if: matrix.target == 'macos'
working-directory: .
run: |
cargo build --release -p pdfium-worker --target aarch64-apple-darwin
cargo build --release -p pdfium-worker --target x86_64-apple-darwin
mkdir -p open-pdf-studio/src-tauri/binaries
# tauri-build validates the sidecar PER ARCH during the per-target
# cargo builds of a universal bundle, so all three names must exist.
cp target/aarch64-apple-darwin/release/pdfium-worker open-pdf-studio/src-tauri/binaries/pdfium-worker-aarch64-apple-darwin
cp target/x86_64-apple-darwin/release/pdfium-worker open-pdf-studio/src-tauri/binaries/pdfium-worker-x86_64-apple-darwin
lipo -create -output open-pdf-studio/src-tauri/binaries/pdfium-worker-universal-apple-darwin \
target/aarch64-apple-darwin/release/pdfium-worker \
target/x86_64-apple-darwin/release/pdfium-worker

- name: Set user install mode
if: matrix.target == 'windows-user'
shell: pwsh
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Dependencies
node_modules/
target/

# Build output
dist/
Expand Down
105 changes: 91 additions & 14 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading