-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add all the ci files. Clippy is disabled. Code coverage is generated but needs maintainer's intervention to give upload access to codecov.
- Loading branch information
1 parent
768ba64
commit 5b0a13f
Showing
3 changed files
with
114 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
on: | ||
push: | ||
branches: | ||
- master | ||
pull_request: | ||
|
||
name: build | ||
|
||
jobs: | ||
|
||
build: | ||
name: Build | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
rust: | ||
- stable | ||
- nightly | ||
features: | ||
- default | ||
steps: | ||
- name: checkout | ||
uses: actions/checkout@v3 | ||
- name: Generate cache key | ||
run: echo "${{ matrix.rust }} ${{ matrix.features }}" | tee .cache_key | ||
- name: cache | ||
uses: actions/cache@v2 | ||
with: | ||
path: | | ||
~/.cargo/registry | ||
~/.cargo/git | ||
target | ||
key: ${{ runner.os }}-cargo-${{ hashFiles('.cache_key') }}-${{ hashFiles('**/Cargo.toml','**/Cargo.lock') }} | ||
- name: Set default toolchain | ||
run: rustup default ${{ matrix.rust }} | ||
- name: Set profile | ||
run: rustup set profile minimal | ||
- name: Update toolchain | ||
run: rustup update | ||
- name: Build | ||
run: cargo build --features ${{ matrix.features }} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
on: | ||
push: | ||
branches: | ||
- master | ||
pull_request: | ||
|
||
name: lint | ||
|
||
jobs: | ||
|
||
fmt: | ||
name: rust fmt | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
- name: Set default toolchain | ||
run: rustup default nightly | ||
- name: Set profile | ||
run: rustup set profile minimal | ||
- name: Add rustfmt | ||
run: rustup component add rustfmt | ||
- name: Add clippy | ||
run: rustup component add clippy | ||
- name: Update toolchain | ||
run: rustup update | ||
- name: Check fmt | ||
run: cargo fmt --all -- --check | ||
- name: Clippy | ||
#TODO: enable clippy when all clippy warnings are fixed. | ||
#run: cargo clippy --all-targets --all-features -- -D warnings |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
on: | ||
push: | ||
branches: | ||
- master | ||
pull_request: | ||
|
||
name: test | ||
|
||
jobs: | ||
test_with_codecov: | ||
name: Run tests with coverage reporting | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- name: Set default toolchain | ||
run: rustup default nightly | ||
- name: Set profile | ||
run: rustup set profile minimal | ||
|
||
# Pin grcov to v0.8.2 because of build failure at 0.8.3 | ||
- name: Install grcov | ||
run: cargo install grcov --force --version 0.8.2 | ||
|
||
# Tests are run with code coverage support | ||
- name: Run cargo test | ||
env: | ||
CARGO_INCREMENTAL: '0' | ||
RUSTFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off' | ||
RUSTDOCFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off' | ||
run: cargo test -- --nocapture | ||
- id: coverage | ||
name: Generate coverage | ||
uses: actions-rs/[email protected] | ||
|
||
# Upload coverage report | ||
- name: Upload coverage to Codecov | ||
uses: codecov/codecov-action@v1 | ||
with: | ||
file: ${{ steps.coverage.outputs.report }} | ||
directory: ./coverage/reports/ |