Skip to content

Fix parsing bug found by fuzzer #58

Fix parsing bug found by fuzzer

Fix parsing bug found by fuzzer #58

Workflow file for this run

name: CI
on:
workflow_dispatch:
push:
branches-ignore: [ stable-docs, gh-pages ]
paths: [ '**.rs', Cargo.toml, Cargo.lock, rustfmt.toml, codecov.yml ]
pull_request:
branches-ignore: [ stable-docs, gh-pages ]
paths: [ '**.rs', Cargo.toml, Cargo.lock, rustfmt.toml, codecov.yml ]
env:
CARGO_TERM_COLOR: always
jobs:
format:
name: Format
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
profile: minimal
override: true
components: rustfmt
- name: Run cargo fmt
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all --check
check:
name: Check
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
- name: Run cargo check
uses: actions-rs/cargo@v1
with:
command: check
args: --workspace --all-targets --all-features
clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
components: clippy
- name: Run cargo clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: --workspace -- --deny warnings
test:
name: Test
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- ubuntu-latest
- windows-latest
- macos-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
- name: Run cargo test
uses: actions-rs/cargo@v1
with:
command: test
args: --workspace --all-targets --all-features --no-fail-fast
coverage:
name: Coverage
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
components: llvm-tools-preview
- name: Install grcov
uses: actions-rs/install@v0.1
with:
crate: grcov
use-tool-cache: true
- name: Install rust-covfix
uses: actions-rs/install@v0.1
with:
crate: rust-covfix
use-tool-cache: true
- name: Run cargo test
uses: actions-rs/cargo@v1
with:
command: test
args: --workspace --all-targets --all-features --no-fail-fast
env:
RUSTFLAGS: '-Cinstrument-coverage'
LLVM_PROFILE_FILE: 'rew-%p-%m.profraw'
- name: Run grcov
run: grcov . --source-dir . --binary-path target/debug/ --output-path lcov.info --branch --ignore-not-existing --ignore "/*" --ignore "tests/*"
- name: Run rust-covfix
run: rust-covfix --verbose --output lcov_fixed.info lcov.info
- name: Upload coverage
if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }}
uses: codecov/codecov-action@v3
with:
files: lcov_fixed.info
fail_ci_if_error: true
verbose: true