Skip to content

Progressing #137

Progressing #137 #63

Workflow file for this run

# To run locally using act, use command:
# act -P ubuntu-latest=ghcr.io/catthehacker/ubuntu:rust-latest
# See: https://github.com/nektos/act/issues/297
name: Auto-build pdfium-render
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
env:
CARGO_TERM_COLOR: always
PDFIUM_RELEASE_TAG: 6666 # August 2024, https://github.com/bblanchon/pdfium-binaries/releases/tag/chromium%2F6666
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build
run: rustup update && cargo build --verbose
- name: Download Pdfium
run: curl -L -o "pdfium.tgz" "https://github.com/bblanchon/pdfium-binaries/releases/download/chromium/${PDFIUM_RELEASE_TAG}/pdfium-linux-x64.tgz"
- name: Unpack Pdfium
run: mkdir pdfium && tar -xvzf pdfium.tgz -C pdfium
- name: Install Pdfium
run: cp pdfium/lib/libpdfium.so . && export LD_LIBRARY_PATH="./"
- name: Run tests
run: cargo test --verbose
- name: Verify static linking compatibility
run: cargo check --features="static"
- name: Verify WASM compatibility
run: cargo install wasm-pack && wasm-pack build examples/ --target no-modules
- name: Generate documentation
run: cargo doc
# Check to make sure we have complete Pdfium API coverage in bindings
- name: Check bindings API coverage
run: bash .github/scripts/api_coverage_test.sh
# Compatibility checks for dynamic and thread safe bindings
- name: Check forward compatibility with pdfium_future and dynamic bindings
run: cargo check --no-default-features --features="image, thread_safe, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_future"
- name: Check backward compatibility with pdfium_5961 and dynamic bindings
run: cargo check --no-default-features --features="image, thread_safe, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_5961"
- name: Check backward compatibility with pdfium_6015 and dynamic bindings
run: cargo check --no-default-features --features="image, thread_safe, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6015"
- name: Check backward compatibility with pdfium_6043 and dynamic bindings
run: cargo check --no-default-features --features="image, thread_safe, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6043"
- name: Check backward compatibility with pdfium_6084 and dynamic bindings
run: cargo check --no-default-features --features="image, thread_safe, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6084"
- name: Check backward compatibility with pdfium_6110 and dynamic bindings
run: cargo check --no-default-features --features="image, thread_safe, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6110"
- name: Check backward compatibility with pdfium_6124 and dynamic bindings
run: cargo check --no-default-features --features="image, thread_safe, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6124"
- name: Check backward compatibility with pdfium_6164 and dynamic bindings
run: cargo check --no-default-features --features="image, thread_safe, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6164"
- name: Check backward compatibility with pdfium_6259 and dynamic bindings
run: cargo check --no-default-features --features="image, thread_safe, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6259"
- name: Check backward compatibility with pdfium_6295 and dynamic bindings
run: cargo check --no-default-features --features="image, thread_safe, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6295"
- name: Check backward compatibility with pdfium_6337 and dynamic bindings
run: cargo check --no-default-features --features="image, thread_safe, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6337"
- name: Check backward compatibility with pdfium_6406 and dynamic bindings
run: cargo check --no-default-features --features="image, thread_safe, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6406"
- name: Check backward compatibility with pdfium_6490 and dynamic bindings
run: cargo check --no-default-features --features="image, thread_safe, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6490"
- name: Check backward compatibility with pdfium_6555 and dynamic bindings
run: cargo check --no-default-features --features="image, thread_safe, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6555"
- name: Check backward compatibility with pdfium_6569 and dynamic bindings
run: cargo check --no-default-features --features="image, thread_safe, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6569"
- name: Check backward compatibility with pdfium_6611 and dynamic bindings
run: cargo check --no-default-features --features="image, thread_safe, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6611"
- name: Check backward compatibility with pdfium_6666 and dynamic bindings
run: cargo check --no-default-features --features="image, thread_safe, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6666"
# Compatibility checks for static bindings
- name: Check forward compatibility with pdfium_future and static bindings
run: cargo check --no-default-features --features="image, static, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_future"
- name: Check backward compatibility with pdfium_5961 and static bindings
run: cargo check --no-default-features --features="image, static, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_5961"
- name: Check backward compatibility with pdfium_6015 and static bindings
run: cargo check --no-default-features --features="image, static, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6015"
- name: Check backward compatibility with pdfium_6043 and static bindings
run: cargo check --no-default-features --features="image, static, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6043"
- name: Check backward compatibility with pdfium_6084 and static bindings
run: cargo check --no-default-features --features="image, static, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6084"
- name: Check backward compatibility with pdfium_6110 and static bindings
run: cargo check --no-default-features --features="image, static, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6110"
- name: Check backward compatibility with pdfium_6124 and static bindings
run: cargo check --no-default-features --features="image, static, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6124"
- name: Check backward compatibility with pdfium_6164 and static bindings
run: cargo check --no-default-features --features="image, static, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6164"
- name: Check backward compatibility with pdfium_6259 and static bindings
run: cargo check --no-default-features --features="image, static, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6259"
- name: Check backward compatibility with pdfium_6295 and static bindings
run: cargo check --no-default-features --features="image, static, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6295"
- name: Check backward compatibility with pdfium_6337 and static bindings
run: cargo check --no-default-features --features="image, static, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6337"
- name: Check backward compatibility with pdfium_6406 and static bindings
run: cargo check --no-default-features --features="image, static, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6406"
- name: Check backward compatibility with pdfium_6490 and static bindings
run: cargo check --no-default-features --features="image, static, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6490"
- name: Check backward compatibility with pdfium_6555 and static bindings
run: cargo check --no-default-features --features="image, static, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6555"
- name: Check backward compatibility with pdfium_6569 and static bindings
run: cargo check --no-default-features --features="image, static, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6569"
- name: Check backward compatibility with pdfium_6611 and static bindings
run: cargo check --no-default-features --features="image, static, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6611"
- name: Check backward compatibility with pdfium_6666 and static bindings
run: cargo check --no-default-features --features="image, static, pdfium_use_skia, pdfium_enable_xfa, pdfium_enable_v8, pdfium_6666"
# Compatibility checks for WASM bindings
- name: Check forward compatibility with pdfium_future and WASM bindings
run: bash .github/scripts/wasm_api_compat_test.sh pdfium_future
- name: Check backward compatibility with pdfium_5961 and WASM bindings
run: bash .github/scripts/wasm_api_compat_test.sh pdfium_5961
- name: Check backward compatibility with pdfium_6015 and WASM bindings
run: bash .github/scripts/wasm_api_compat_test.sh pdfium_6015
- name: Check backward compatibility with pdfium_6043 and WASM bindings
run: bash .github/scripts/wasm_api_compat_test.sh pdfium_6043
- name: Check backward compatibility with pdfium_6084 and WASM bindings
run: bash .github/scripts/wasm_api_compat_test.sh pdfium_6084
- name: Check backward compatibility with pdfium_6110 and WASM bindings
run: bash .github/scripts/wasm_api_compat_test.sh pdfium_6110
- name: Check backward compatibility with pdfium_6124 and WASM bindings
run: bash .github/scripts/wasm_api_compat_test.sh pdfium_6124
- name: Check backward compatibility with pdfium_6164 and WASM bindings
run: bash .github/scripts/wasm_api_compat_test.sh pdfium_6164
- name: Check backward compatibility with pdfium_6259 and WASM bindings
run: bash .github/scripts/wasm_api_compat_test.sh pdfium_6259
- name: Check backward compatibility with pdfium_6295 and WASM bindings
run: bash .github/scripts/wasm_api_compat_test.sh pdfium_6295
- name: Check backward compatibility with pdfium_6337 and WASM bindings
run: bash .github/scripts/wasm_api_compat_test.sh pdfium_6337
- name: Check backward compatibility with pdfium_6406 and WASM bindings
run: bash .github/scripts/wasm_api_compat_test.sh pdfium_6406
- name: Check backward compatibility with pdfium_6490 and WASM bindings
run: bash .github/scripts/wasm_api_compat_test.sh pdfium_6490
- name: Check backward compatibility with pdfium_6555 and WASM bindings
run: bash .github/scripts/wasm_api_compat_test.sh pdfium_6555
- name: Check backward compatibility with pdfium_6569 and WASM bindings
run: bash .github/scripts/wasm_api_compat_test.sh pdfium_6569
- name: Check backward compatibility with pdfium_6611 and WASM bindings
run: bash .github/scripts/wasm_api_compat_test.sh pdfium_6611
- name: Check backward compatibility with pdfium_6666 and WASM bindings
run: bash .github/scripts/wasm_api_compat_test.sh pdfium_6666