.github/workflows: cover i686 build #77
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: qcow2-rs Build & test | |
on: | |
push: | |
pull_request: | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
build: | |
name: build qcow2-rs on both x86_64 and i686 | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
toolchain: | |
- stable | |
- nightly | |
target: | |
- x86_64-unknown-linux-gnu | |
- i686-unknown-linux-gnu | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install dependencies | |
if: matrix.target == 'i686-unknown-linux-gnu' | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y gcc-multilib | |
- run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} && rustup target add ${{ matrix.target }} | |
- run: cargo build --verbose --target ${{ matrix.target }} | |
test_linux: | |
name: qcow2_rs ubuntu | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
toolchain: | |
- stable | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo apt-get update | |
- run: sudo apt-get install -y qemu-utils | |
- run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} | |
- run: rustup component add clippy | |
- run: cargo build --verbose | |
- run: cargo clippy --no-deps | |
- run: cargo test -- --nocapture | |
- run: cargo test -r | |
test_win: | |
name: qcow2_rs windows | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
toolchain: | |
- stable | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Install qemu-img | |
run: | | |
$qemuZipPath = Join-Path $env:USERPROFILE 'qemu.zip' | |
Invoke-WebRequest -Uri 'https://cloudbase.it/downloads/qemu-img-win-x64-2_3_0.zip' -OutFile $qemuZipPath | |
Expand-Archive -Path $qemuZipPath -DestinationPath $env:USERPROFILE | |
- run: | | |
$env:PATH = "$env:USERPROFILE;$env:PATH" | |
qemu-img --help | |
- run: rustup update ${{ matrix.toolchain }} && rustup default ${{ matrix.toolchain }} | |
- run: rustup component add clippy | |
- run: cargo build --verbose | |
- run: cargo clippy --no-deps | |
- name: Rust test(debug) | |
run: | | |
$env:PATH = "$env:USERPROFILE;$env:PATH" | |
cargo test -- --nocapture | |
- name: Rust test(release) | |
run: | | |
$env:PATH = "$env:USERPROFILE;$env:PATH" | |
cargo test -r |