[saffron] cleanup query #88
Workflow file for this run
This file contains 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: Saffron CI | |
on: | |
workflow_dispatch: | |
pull_request: | |
push: | |
branches: | |
- master | |
jobs: | |
run: | |
name: Run saffron e2e tests | |
runs-on: ["ubuntu-latest"] | |
strategy: | |
matrix: | |
rust_toolchain_version: ["1.74"] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Use shared Rust toolchain setting up steps | |
uses: ./.github/actions/toolchain-shared | |
with: | |
rust_toolchain_version: ${{ matrix.rust_toolchain_version }} | |
- name: Apply the Rust smart cacheing | |
uses: Swatinem/rust-cache@v2 | |
- name: Cache SRS data | |
id: cache-srs | |
uses: actions/cache@v3 | |
with: | |
path: ./srs | |
# The SRS generation never changes, so we don't need a content-based key | |
key: srs-cache-key | |
- name: Generate and Cache SRS | |
if: steps.cache-srs.outputs.cache-hit != 'true' | |
run: cargo test -p kimchi heavy_test_srs_serialization --release | |
- name: Build the saffron cli binary | |
run: | | |
cargo build --release --bin saffron | |
- name: Run the saffron e2e encoding tests on small lorem file | |
run: | | |
./saffron/test-encoding.sh saffron/fixtures/lorem.txt ./srs/test_vesta.srs | |
# Randomly generate an input file between roughly 50MB and 200MB | |
- name: Run the saffron e2e encoding on large random file | |
run: | | |
(base64 /dev/urandom | head -c $(shuf -i 50000000-200000000 -n 1) | tr -dc "A-Za-z0-9 " | fold -w100 > bigfile.txt) 2>/dev/null | |
RUST_LOG=debug ./saffron/test-encoding.sh bigfile.txt ./srs/test_vesta.srs |