# # Configuration for GitHub-based CI, based on the stock GitHub Rust config. # name: Build on: push: branches: [ main ] pull_request: branches: [ main ] jobs: check-style: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Install nightly uses: actions-rs/toolchain@v1 with: toolchain: nightly components: rustfmt default: false - name: Install stable uses: actions-rs/toolchain@v1 with: toolchain: stable components: rustfmt default: true - name: Report cargo version run: cargo --version - name: Report rustfmt version run: cargo fmt -- --version - name: Report nightly cargo version run: cargo +nightly --version - name: Report nightly rustfmt version run: cargo +nightly fmt -- --version - name: Check style run: cargo fmt -- --check build-and-test: runs-on: ${{ matrix.os }} strategy: matrix: os: [ ubuntu-latest, windows-latest, macos-latest ] steps: - uses: actions/checkout@v2 - name: Install nightly uses: actions-rs/toolchain@v1 with: toolchain: nightly components: rustfmt default: false - name: Install stable uses: actions-rs/toolchain@v1 with: toolchain: stable components: rustfmt default: true - name: Build run: cargo build --locked --tests --verbose - name: Run tests run: cargo test --locked --verbose test-wasm: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Install nightly uses: actions-rs/toolchain@v1 with: toolchain: nightly components: rustfmt default: false target: wasm32-unknown-unknown - uses: nanasess/setup-chromedriver@v2 - name: Install stable uses: actions-rs/toolchain@v1 with: toolchain: stable components: rustfmt default: true target: wasm32-unknown-unknown - name: Install wasm-bindgen-cli run: cargo install --version 0.2.87 wasm-bindgen-cli - name: Run tests run: | cd example-wasm CHROMEDRIVER=$(which chromedriver) cargo test --target wasm32-unknown-unknown --locked --verbose