Try to install libs as suggested in https://stackoverflow.com/a/16016… #376
Workflow file for this run
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
name: Rust | |
on: [push, pull_request] | |
jobs: | |
# lint: | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - name: Check fmt | |
# run: cargo fmt -- --check | |
# msrv: | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - uses: dtolnay/[email protected] | |
# - run: cargo check | |
# minimal-versions: | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - name: Install tools | |
# run: cargo install cargo-hack cargo-minimal-versions | |
# - name: Install nightly rust | |
# uses: dtolnay/rust-toolchain@nightly | |
# - name: Check with minimal versions | |
# run: cargo minimal-versions check | |
# - name: Check with minimal versions (serialize) | |
# run: cargo minimal-versions check --features serialize | |
# - name: Check with minimal versions (encoding) | |
# run: cargo minimal-versions check --features encoding | |
# - name: Check with minimal versions (async-tokio) | |
# run: cargo minimal-versions check --features async-tokio | |
# test: | |
# strategy: | |
# matrix: | |
# platform: [ubuntu-latest, windows-latest] | |
# runs-on: ${{ matrix.platform }} | |
# # Set variable to enable coverage | |
# env: | |
# RUSTFLAGS: -C instrument-coverage | |
# steps: | |
# - uses: actions/checkout@v4 | |
# - name: Install coverage reporter (llvm-tools-preview) | |
# if: runner.os == 'Linux' | |
# run: rustup component add llvm-tools-preview | |
# - name: Install coverage reporter (grcov) | |
# if: runner.os == 'Linux' | |
# run: cargo install grcov | |
# - name: Build | |
# run: cargo build | |
# - name: Build benchmarks | |
# run: cargo bench --no-run | |
# - name: Build benchmarks (compare) | |
# working-directory: compare | |
# run: cargo bench --no-run | |
# - name: Run tests + benchmarks | |
# run: cargo test --all-features --benches --tests | |
# - name: Run tests (no features) | |
# env: | |
# LLVM_PROFILE_FILE: coverage/no-features-%p-%m.profraw | |
# run: cargo test --no-default-features | |
# - name: Run tests (serialize) | |
# env: | |
# LLVM_PROFILE_FILE: coverage/serialize-%p-%m.profraw | |
# run: cargo test --features serialize | |
# - name: Run tests (serialize+encoding) | |
# env: | |
# LLVM_PROFILE_FILE: coverage/serialize-encoding-%p-%m.profraw | |
# run: cargo test --features serialize,encoding | |
# - name: Run tests (serialize+escape-html) | |
# env: | |
# LLVM_PROFILE_FILE: coverage/serialize-escape-html-%p-%m.profraw | |
# run: cargo test --features serialize,escape-html | |
# - name: Run tests (all features) | |
# env: | |
# LLVM_PROFILE_FILE: coverage/all-features-%p-%m.profraw | |
# run: cargo test --all-features | |
# - name: Prepare coverage information for upload | |
# if: runner.os == 'Linux' | |
# run: | | |
# grcov ./coverage \ | |
# -s . \ | |
# --binary-path ./target/debug/ \ | |
# --branch \ | |
# --ignore-not-existing \ | |
# --ignore 'tests/*' \ | |
# -o ./coverage.lcov | |
# - name: Upload coverage to codecov.io | |
# if: runner.os == 'Linux' | |
# uses: codecov/codecov-action@v4 | |
# with: | |
# files: ./coverage.lcov | |
# flags: unittests | |
# verbose: true | |
# continue-on-error: true | |
# Check that tests that are sensitive to target are passed | |
x86: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install 32-bit target | |
run: rustup target add i686-unknown-linux-gnu | |
- name: Install 32-bit libs | |
# https://stackoverflow.com/a/16016792/7518605 | |
run: sudo apt install gcc-multilib | |
- name: Run some tests on 32-bit target | |
run: cargo test --target i686-unknown-linux-gnu --test issues | |
- name: Run some tests on 32-bit target (async-tokio) | |
run: cargo test --target i686-unknown-linux-gnu --features async-tokio --test async-tokio |