Skip to content

chore(deps): update rust crate thiserror to 1.0.68 (#125) #753

chore(deps): update rust crate thiserror to 1.0.68 (#125)

chore(deps): update rust crate thiserror to 1.0.68 (#125) #753

name: Build and Test
on: [push, pull_request]
jobs:
build_and_test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version:
- stable
- beta
- nightly
name: ${{ matrix.version }}
steps:
- uses: actions/checkout@v4
- name: Cache rustup directory
uses: actions/cache@v4
env:
cache-name: cache-rustup
with:
path: |
~/.rustup/toolchains
~/.rustup/update-hashes
~/.rustup/settings.toml
key: v1-${{ runner.os }}-build-and-test-${{ env.cache-name }}-${{ matrix.version }}-${{ github.sha }}
restore-keys: |
v1-${{ runner.os }}-build-and-test-${{ env.cache-name }}-${{ matrix.version }}-
- name: Switch toolchain version
run: rustup default ${{ matrix.version }}
- name: Set nightly flags (nightly only)
if: ${{ matrix.version == 'nightly' }}
run: |
echo "RUSTFLAGS=-Cinstrument-coverage" >> $GITHUB_ENV
echo "LLVM_PROFILE_FILE=tasshi-me-%p-%m.profraw" >> $GITHUB_ENV
- name: Rustup version
run: rustup --version
- name: Cargo version
run: cargo --version
- name: Cache cargo directory
uses: actions/cache@v4
env:
cache-name: cache-cargo
with:
path: |
~/.cargo/bin
~/.cargo/env
~/.cargo/registry
target
key: v1-${{ runner.os }}-build-and-test-${{ env.cache-name }}-${{ matrix.version }}-${{ github.sha }}
restore-keys: |
v1-${{ runner.os }}-build-and-test-${{ env.cache-name }}-${{ matrix.version }}-
- name: Check cached directories (pre build)
run: |
ls -la ~/.rustup/toolchains || echo
ls -la ~/.rustup/update-hashes || echo
ls -la ~/.rustup/settings.toml || echo
ls -la ~/.cargo/ || echo
ls -la ~/.cargo/bin || echo
ls -la ~/.cargo/env || echo
ls -la ~/.cargo/registry || echo
ls -la target || echo
- name: Install grcov (nightly only)
if: ${{ matrix.version == 'nightly' }}
run: |
rustup component add llvm-tools-preview
curl -L https://github.com/mozilla/grcov/releases/download/v0.8.11/grcov-x86_64-unknown-linux-gnu.tar.bz2 | tar jxf -
- name: Clean
run: cargo clean
- name: Build
run: cargo build --verbose
- name: Test
run: cargo test --verbose
- name: Coverage (nightly only)
if: ${{ matrix.version == 'nightly' }}
run: ./grcov . --binary-path ./target/debug/ -s . -t lcov --branch --ignore-not-existing --ignore "/*" -o lcov.info
- name: Upload coverage report (nightly only)
if: ${{ matrix.version == 'nightly' }}
run: bash <(curl -s https://codecov.io/bash) -f lcov.info
- name: Check cached directories (post build)
run: |
ls -la ~/.rustup/toolchains || echo
ls -la ~/.rustup/update-hashes || echo
ls -la ~/.rustup/settings.toml || echo
ls -la ~/.cargo/ || echo
ls -la ~/.cargo/bin || echo
ls -la ~/.cargo/env || echo
ls -la ~/.cargo/registry || echo
ls -la target || echo