Skip to content

Avoid unneeded allocations in tests #58

Avoid unneeded allocations in tests

Avoid unneeded allocations in tests #58

Workflow file for this run

name: CI
on:
push:
branches:
- master
pull_request:
jobs:
tests:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: version info
run: rustc --version; cargo --version;
- name: Run all tests
run: cargo test
- name: Run all tests (no default features)
run: cargo test --no-default-features
wasm:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: Build on wasm32-unknown-unknown
run: |
rustup target add wasm32-unknown-unknown
cargo build --all --no-default-features --target wasm32-unknown-unknown
fmt:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check
clippy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- uses: actions-rs/cargo@v1
with:
command: clippy
args: -- -D warnings
bench:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: run benches
run: cargo bench
fuzz:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: nightly
override: true
- name: run fuzz for 3 minutes each
run: |
cargo +nightly install cargo-fuzz
cargo +nightly fuzz run parse_fasta -- -max_total_time=180
cargo +nightly fuzz run parse_fastq -- -max_total_time=180
python-bindings:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
override: true
- name: version info
run: rustc --version; cargo --version;
- name: Run all tests
run: cargo test --features=python_test
- name: Install python headers
run: sudo apt-get update && sudo apt-get install python3-dev python3-pip python3-venv
- name: Install maturin
run: |
python3 -m venv venv
. venv/bin/activate
pip3 install maturin
pip3 show maturin
- name: add library to venv
run: |
. venv/bin/activate
maturin develop --features=python
- name: Run the python tests
run: |
. venv/bin/activate
python test_python.py
- name: compile taxonomy with python bindings
run: |
. venv/bin/activate
maturin build --features=python --release --strip --manylinux=off