chore: change loopdev dependency to loopdev-3 #642
Workflow file for this run
This file contains hidden or 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: CI - Linux - x86_64 | |
| on: | |
| push: | |
| branches: | |
| - master | |
| - v* | |
| pull_request: | |
| jobs: | |
| build_and_test: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| name: [MSRV, stable, nightly] | |
| include: | |
| - name: MSRV | |
| version: 1.82.0 | |
| - name: stable | |
| version: stable | |
| - name: nightly | |
| version: nightly | |
| name: Test ${{ matrix.name }} - x86_64-unknown-linux-gnu | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Install Dependencies | |
| run: sudo apt-get update -y; sudo apt-get install -y libarchive-dev libclang-dev protobuf-compiler socat | |
| - name: Checkout sources | |
| uses: actions/checkout@v4 | |
| - name: Install ${{ matrix.version }} | |
| uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: ${{ matrix.version }}-x86_64-unknown-linux-gnu | |
| profile: minimal | |
| override: true | |
| - name: Install cargo tree tool | |
| if: matrix.name == 'MSRV' | |
| uses: actions-rs/install@v0.1 | |
| with: | |
| crate: cargo-tree | |
| use-tool-cache: true | |
| - name: Cache build contents | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| key: ${{ matrix.version }}-x86_64-unknown-linux-gnu-cargo-build-trimmed-${{ hashFiles('**/Cargo.lock') }} | |
| - name: Check build | |
| uses: actions-rs/cargo@v1 | |
| with: | |
| command: check | |
| args: --locked --release --all --bins --examples --tests --all-features | |
| - name: Tests | |
| uses: actions-rs/cargo@v1 | |
| timeout-minutes: 10 | |
| with: | |
| command: test | |
| args: --locked --release --all --all-features --no-fail-fast -- --nocapture | |
| - name: Run listener test | |
| run: | | |
| export UH_LISTENER_TEST=updatehub-statechange.sock | |
| cargo run --example listener & | |
| while [ ! -S "$UH_LISTENER_TEST" ]; do | |
| sleep 1 | |
| done | |
| if [[ "$(echo "download" | socat - UNIX-CONNECT:updatehub-statechange.sock)" != "cancel" ]]; then | |
| echo "Unexpected download response" | |
| exit 1 | |
| fi | |
| if [[ "$(echo "install" | socat - UNIX-CONNECT:updatehub-statechange.sock)" != "" ]]; then | |
| echo "Unexpected install response" | |
| exit 2 | |
| fi | |
| if [[ "$(echo "error" | socat - UNIX-CONNECT:updatehub-statechange.sock)" != "" ]]; then | |
| echo "Unexpected error response" | |
| exit 3 | |
| fi | |
| if [[ "$(echo "reboot" | socat - UNIX-CONNECT:updatehub-statechange.sock)" != "" ]]; then | |
| echo "Unexpected reboot response" | |
| exit 4 | |
| fi | |
| - name: Install cargo-llvm-cov | |
| if: matrix.name == 'nightly' | |
| uses: taiki-e/install-action@cargo-llvm-cov | |
| - name: Generate code coverage | |
| if: matrix.name == 'nightly' | |
| run: cargo llvm-cov --all-features --workspace --lcov --output-path lcov.info | |
| - name: Upload coverage to Coveralls | |
| if: matrix.name == 'nightly' | |
| uses: coverallsapp/github-action@v2 | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| path-to-lcov: lcov.info | |
| - name: Clear the cargo caches | |
| run: | | |
| cargo install cargo-cache --no-default-features --features ci-autoclean | |
| cargo-cache |