Skip to content

[saffron] cleanup query #88

[saffron] cleanup query

[saffron] cleanup query #88

Workflow file for this run

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