ci: update Nix install action #3
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: wash | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
paths: | |
- .github/workflows/wash.yml | |
- Cargo.lock | |
- Cargo.toml | |
- crates/wash-cli/** | |
- crates/wash-lib/** | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
unit_tests: | |
name: Unit Tests | |
strategy: | |
fail-fast: false # Ensure we can run the full suite even if one OS fails | |
matrix: | |
os: [ubuntu-22.04, windows-latest-8-cores, macos-11] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '18.x' | |
- uses: actions/checkout@v4.1.1 | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
shared-key: "${{ matrix.os }}-shared-cache" | |
- name: Install nextest | |
uses: taiki-e/install-action@nextest | |
- name: Build wash | |
run: make build | |
working-directory: ./crates/wash-cli | |
- name: Run all wash & wash-lib unit tests | |
run: make test-wash-ci | |
working-directory: ./crates/wash-cli | |
integration_tests: | |
name: Integration Tests | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
shared-key: "ubuntu-22.04-shared-cache" | |
- uses: acifani/setup-tinygo@v2 | |
with: | |
tinygo-version: '0.27.0' | |
install-binaryen: 'false' | |
- name: Add wasm32-unknown-unknown | |
run: rustup target add wasm32-unknown-unknown | |
- name: Launch integration test services | |
uses: sudo-bot/action-docker-compose@latest | |
with: | |
cli-args: "-f ./crates/wash-cli/tools/docker-compose.yml up --detach" | |
- name: Install nextest | |
uses: taiki-e/install-action@nextest | |
- name: Run integration tests | |
run: make test-integration-ci | |
working-directory: ./crates/wash-cli |