feat: Download folder as ZIP #219
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Test | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| name: Test docbox | |
| runs-on: ubuntu-latest | |
| steps: | |
| # Checkout the repo for building | |
| - uses: actions/checkout@v4 | |
| # Clean up runner to make space for builds | |
| - name: Aggressive cleanup | |
| run: | | |
| # Remove Java (JDKs) | |
| sudo rm -rf /usr/lib/jvm | |
| # Remove .NET SDKs | |
| sudo rm -rf /usr/share/dotnet | |
| # Remove Swift toolchain | |
| sudo rm -rf /usr/share/swift | |
| # Remove Haskell (GHC) | |
| sudo rm -rf /usr/local/.ghcup | |
| # Remove Julia | |
| sudo rm -rf /usr/local/julia* | |
| # Remove Android SDKs | |
| sudo rm -rf /usr/local/lib/android | |
| # Remove Chromium (optional if not using for browser tests) | |
| sudo rm -rf /usr/local/share/chromium | |
| # Remove Microsoft/Edge and Google Chrome builds | |
| sudo rm -rf /opt/microsoft /opt/google | |
| # Remove Azure CLI | |
| sudo rm -rf /opt/az | |
| # Remove PowerShell | |
| sudo rm -rf /usr/local/share/powershell | |
| # Remove CodeQL and other toolcaches | |
| sudo rm -rf /opt/hostedtoolcache | |
| # Cache for Docker images | |
| - name: Cache Docker images | |
| id: cache-docker | |
| uses: actions/cache@v4 | |
| with: | |
| path: /tmp/.docker-cache | |
| key: docker-images-v2 | |
| # Load Docker images from cache (if present) | |
| - name: Load cached Docker images | |
| if: steps.cache-docker.outputs.cache-hit == 'true' | |
| run: | | |
| docker load -i /tmp/.docker-cache/postgres.tar | |
| docker load -i /tmp/.docker-cache/typesense.tar | |
| docker load -i /tmp/.docker-cache/minio.tar | |
| docker load -i /tmp/.docker-cache/office-convert-server.tar | |
| # Pull and save Docker images if not in cache | |
| - name: Pull and save Docker images | |
| if: steps.cache-docker.outputs.cache-hit != 'true' | |
| run: | | |
| mkdir -p /tmp/.docker-cache | |
| docker pull postgres:18.1-alpine | |
| docker save postgres:18.1-alpine -o /tmp/.docker-cache/postgres.tar | |
| docker pull typesense/typesense:28.0 | |
| docker save typesense/typesense:28.0 -o /tmp/.docker-cache/typesense.tar | |
| docker pull minio/minio:RELEASE.2025-02-28T09-55-16Z | |
| docker save minio/minio:RELEASE.2025-02-28T09-55-16Z -o /tmp/.docker-cache/minio.tar | |
| docker pull jacobtread/office-convert-server:0.2.2 | |
| docker save jacobtread/office-convert-server:0.2.2 -o /tmp/.docker-cache/office-convert-server.tar | |
| docker pull jacobtread/loker:0.2.3 | |
| docker save jacobtread/loker:0.2.3 -o /tmp/.docker-cache/loker.tar | |
| # Setup rust for building the service | |
| - name: Set up Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| toolchain: stable | |
| override: true | |
| # Install poppler (docbox uses poppler in tests) | |
| - name: Install poppler | |
| run: sudo apt update && sudo apt install poppler-utils -y | |
| # Test the binary | |
| - name: Run tests | |
| env: | |
| RUST_LOG: debug | |
| run: cargo test --verbose |