ci: add windows runner, update runner images #676
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: Rust CI | |
| on: | |
| push: | |
| branches: ["**"] | |
| pull_request: | |
| branches: ["next", "main"] | |
| schedule: | |
| - cron: "0 0 * * 0" | |
| permissions: | |
| contents: read | |
| jobs: | |
| run-tests: | |
| strategy: | |
| matrix: | |
| include: | |
| - os: ubuntu-26.04 | |
| rust: stable | |
| name: "Linux x86 (stable)" | |
| - os: ubuntu-26.04 | |
| rust: nightly | |
| name: "Linux x86 (nightly)" | |
| - os: ubuntu-26.04 | |
| rust: nightly | |
| name: "Linux x86 (nightly tail calls)" | |
| args: "--features tinywasm/nightly-tail-calls" | |
| - os: ubuntu-26.04 | |
| rust: stable | |
| name: "Linux x86 (stable, no default features)" | |
| args: "--no-default-features" | |
| - os: ubuntu-26.04 | |
| rust: nightly | |
| name: "Linux x86 (nightly, no default features)" | |
| args: "--no-default-features" | |
| - os: ubuntu-26.04 | |
| rust: nightly | |
| name: "Linux x86 (nightly tail calls, no default features)" | |
| args: "--no-default-features --features tinywasm/nightly-tail-calls" | |
| - os: macos-26 | |
| rust: stable | |
| name: "macOS arm64 (Apple M1)" | |
| - os: windows-2025 | |
| rust: stable | |
| name: "Windows x86_64" | |
| - os: ubuntu-26.04-arm | |
| rust: stable | |
| name: "Linux arm64" | |
| - os: ubuntu-26.04-arm | |
| rust: stable | |
| name: "Linux armv7" | |
| target: armv7-unknown-linux-gnueabihf | |
| name: Run tests on ${{ matrix.name }} | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| submodules: true | |
| persist-credentials: false | |
| - name: Install Rust toolchain | |
| uses: actions-rust-lang/setup-rust-toolchain@ecabd13d1c56bd1345c230e542e9144811ad706f # v2.0.0 | |
| with: | |
| toolchain: ${{ matrix.rust }} | |
| rustflags: "" | |
| components: rustfmt, clippy | |
| if: matrix.target == '' | |
| - name: Run tests | |
| run: cargo test --workspace ${{ matrix.args }} && cargo test --workspace ${{ matrix.args }} --examples | |
| if: matrix.target == '' | |
| - name: Run clippy | |
| run: cargo clippy --workspace ${{ matrix.args }} | |
| if: matrix.target == '' | |
| - name: Install armv7 tools | |
| run: sudo apt-get update && sudo apt-get install -y gcc-arm-linux-gnueabihf qemu-user | |
| if: matrix.target != '' | |
| - name: Install Rust toolchain (${{ matrix.target }}) | |
| uses: actions-rust-lang/setup-rust-toolchain@ecabd13d1c56bd1345c230e542e9144811ad706f # v2.0.0 | |
| with: | |
| toolchain: ${{ matrix.rust }} | |
| target: ${{ matrix.target }} | |
| rustflags: "" | |
| if: matrix.target != '' | |
| - name: Run tests (${{ matrix.target }}) | |
| run: cargo test --workspace --target ${{ matrix.target }} | |
| env: | |
| CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER: arm-linux-gnueabihf-gcc | |
| CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_RUNNER: qemu-arm -L /usr/arm-linux-gnueabihf | |
| if: matrix.target != '' |