summaryrefslogtreecommitdiffstats
path: root/.github/workflows/test.yml
blob: e9e1d86b35db7fa618b85c05342a5a8dc3f290e5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
name: Test
on: [push, pull_request]
jobs:
  native:
    runs-on: ${{ matrix.os }}
    env:
      RUSTFLAGS: --deny warnings
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest, macOS-latest]
        rust: [stable, beta]
    steps:
    - uses: hecrj/setup-rust-action@v1
      with:
        rust-version: ${{ matrix.rust }}
    - uses: actions/checkout@master
    - name: Install dependencies
      if: matrix.os == 'ubuntu-latest'
      run: |
        export DEBIAN_FRONTED=noninteractive
        sudo apt-get -qq update
        sudo apt-get install -y libxkbcommon-dev libgtk-3-dev
    - name: Run tests
      run: |
        cargo test --verbose --workspace
        cargo test --verbose --workspace --all-features

  web:
    runs-on: ubuntu-latest
    env:
      RUSTFLAGS: --cfg=web_sys_unstable_apis
    steps:
    - uses: hecrj/setup-rust-action@v1
      with:
        rust-version: stable
        targets: wasm32-unknown-unknown
    - uses: actions/checkout@master
    - name: Run checks
      run: cargo check --package iced --target wasm32-unknown-unknown
    - name: Check compilation of `tour` example
      run: cargo build --package tour --target wasm32-unknown-unknown
    - name: Check compilation of `todos` example
      run: cargo build --package todos --target wasm32-unknown-unknown
    - name: Check compilation of `integration` example
      run: cargo build --package integration --target wasm32-unknown-unknown