GitHub Action and Encoding logic. #92
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: Code Coverage | |
on: [push, pull_request] | |
env: | |
RUST_TEST_TIME_UNIT: 150,5000 | |
RUST_TEST_TIME_INTEGRATION: 150,5000 | |
jobs: | |
build: | |
name: Build and Test | |
runs-on: ${{ matrix.os }} | |
# We want to run on external PRs, but not on internal ones as push automatically builds | |
# H/T: https://github.com/Dart-Code/Dart-Code/commit/612732d5879730608baa9622bf7f5e5b7b51ae65 | |
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != 'partiql/partiql-lang-rust' | |
strategy: | |
matrix: | |
os: [ubuntu-20.04] | |
steps: | |
- name: Git Checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Rust Toolchain | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: stable | |
# We need this component to generate source coverage in stable | |
components: llvm-tools-preview | |
- name: Cargo Install | |
run: cargo install cargo-llvm-cov | |
# Conformance tests are run with 'conformance_test' feature. Since step runs with 'all-features', the conformance | |
# test are also run, which can cause `cargo test` to fail. Add 'continue-on-error' step to prevent GH Actions | |
# failure. | |
- name: Cargo Test w/ Coverage | |
continue-on-error: true | |
run: cargo llvm-cov --verbose --workspace --all-features --no-fail-fast --codecov --output-path codecov.json | |
- name: Codecov Upload | |
uses: codecov/codecov-action@v3 | |
with: | |
files: codecov.json | |
fail_ci_if_error: true |