Skip to content

Commit

Permalink
Add github actions
Browse files Browse the repository at this point in the history
  • Loading branch information
Guilospanck committed Mar 17, 2024
1 parent 409b52d commit 275423b
Show file tree
Hide file tree
Showing 2 changed files with 118 additions and 0 deletions.
48 changes: 48 additions & 0 deletions .github/workflows/check-and-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Check and Lint

on:
push:
pull_request:
branches:
- main

jobs:
check:
name: Check
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
steps:
# Checkout repository
- name: Checkout repository
uses: actions/checkout@v2

# Setup Rust
- name: Setup Rust
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
override: true

# Cargo check
- name: Run cargo check
run: cargo check --all-targets

clippy:
name: Clippy
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable

steps:
- uses: actions/checkout@v2
- uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.rust }}
override: true
- run: rustup component add clippy
- run: cargo clippy --all-targets -- -D warnings
70 changes: 70 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: Tests

on:
push:
pull_request:
branches:
- main

jobs:
tests:
name: Run Tests
env:
PROJECT_NAME_UNDERSCORE: murray-rs
CARGO_INCREMENTAL: 0
RUSTFLAGS: -Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort
RUSTDOCFLAGS: -Cpanic=abort
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- nightly

steps:
# Checkout repository
- name: Checkout repository
uses: actions/checkout@v2

# Setup Toolchain
- name: Setup Toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.rust }}
override: true

# Build
- name: Build
run: cargo build $CARGO_OPTIONS

# Cache
- name: Configure cache
uses: actions/cache@v2
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: test-${{ runner.os }}-cargo-${{ matrix.rust }}-${{ hashFiles('**/Cargo.lock') }}

# Coverage
##! CARGO_INCREMENTAL, RUSTFLAGS, RUSTDOCFLAGS - added to CARGO_OPTIONS in cargo test needed for code coverage
- name: Generate test result and coverage report
run: |
find . -name '*.gcda' -delete
cargo install grcov --force;
rm -rf lcov.info;
sudo apt install make -y
make run-all-tests $CARGO_OPTIONS;
zip -0 ccov.zip `find . \( -name "$PROJECT_NAME_UNDERSCORE*.gc*" \) -print`;
grcov ccov.zip -s . -t lcov --llvm --branch --ignore-not-existing --ignore "/*" -o lcov.info;
- name: Upload coverage reports to Codecov
uses: codecov/[email protected]
with:
token: ${{ secrets.CODECOV_TOKEN }}
slug: Guilospanck/murray-rs
files: ./lcov.info
fail_ci_if_error: true

0 comments on commit 275423b

Please sign in to comment.