Merge pull request #347 from fraukappayuwe/patch-1 #1080
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
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
name: CI | |
jobs: | |
rustfmt: | |
name: Check code formatting | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- run: cargo fmt --check | |
clippy: | |
name: Clippy | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install protobuf | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libprotobuf-dev libprotobuf-c-dev protobuf-compiler protobuf-c-compiler | |
- uses: actions-rs/clippy-check@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
build: | |
name: Build / Rust ${{ matrix.toolchain }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
toolchain: ["stable", "beta", "1.75"] | |
include: | |
- toolchain: nightly | |
coverage: true | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Install protobuf | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libprotobuf-dev libprotobuf-c-dev protobuf-compiler protobuf-c-compiler | |
- id: rustc | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ matrix.toolchain }} | |
components: llvm-tools | |
- name: Configure CI cache | |
uses: Swatinem/rust-cache@v2 | |
- name: Build | |
run: cargo +${{ steps.rustc.outputs.name }} build --all-targets | |
- name: Run tests | |
if: matrix.toolchain != 'nightly' | |
run: cargo +${{ steps.rustc.outputs.name }} test --all-targets --no-fail-fast | |
- name: Run tests with code coverage | |
if: matrix.toolchain == 'nightly' | |
run: cargo +${{ steps.rustc.outputs.name }} test --all-targets --no-fail-fast | |
env: | |
CARGO_INCREMENTAL: '0' | |
LLVM_PROFILE_FILE: 'libsignal-service-%p-%m.profraw' | |
RUSTFLAGS: '-Cinstrument-coverage' | |
RUSTDOCFLAGS: '-Cinstrument-coverage' | |
- name: Generate code coverage | |
uses: actions-rs/grcov@v0.1 | |
if: matrix.toolchain == 'nightly' | |
- name: Upload coverage reports to Codecov with GitHub Action | |
uses: codecov/codecov-action@v3 | |
if: matrix.toolchain == 'nightly' |