Skip to content

feat: Download folder as ZIP #219

feat: Download folder as ZIP

feat: Download folder as ZIP #219

Workflow file for this run

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