• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1name: CI
2on: [push, pull_request]
3jobs:
4
5  lint:
6    name: Lint
7    runs-on: ubuntu-latest
8    steps:
9      - uses: actions/checkout@v2
10
11      - uses: actions-rs/toolchain@v1
12        with:
13          toolchain: stable
14          components: rustfmt, clippy
15
16      # make sure all code has been formatted with rustfmt and linted with clippy
17      - name: rustfmt
18        run: cargo fmt -- --check --color always
19
20      # run clippy to verify we have no warnings
21      - run: cargo fetch
22      - name: cargo clippy
23        run: cargo clippy --workspace --all-targets --all-features -- -D warnings
24
25      # check that codegen output matches committed source files
26      - name: codegen
27        run: cargo run --release -p codegen -- --check
28
29      - name: Build-test documentation
30        env:
31          RUSTDOCFLAGS: -Dwarnings
32        run: cargo doc --all --all-features --no-deps --document-private-items --features rkyv/size_32
33
34  test:
35    name: Test
36    strategy:
37      matrix:
38        os: [ubuntu-latest, macos-latest, windows-latest]
39        #toolchain: [1.58.1, stable, beta, nightly] # weirdness with 1.58.1 and git2
40        toolchain: [stable, beta, nightly]
41    runs-on: ${{ matrix.os }}
42    steps:
43      - uses: actions/checkout@v2
44      - run: rustup update --no-self-update ${{ matrix.toolchain }}
45      - run: rustup default ${{ matrix.toolchain }}
46      - run: ./build_and_test_features.sh
47        shell: bash
48
49  test-core-simd:
50    name: Test portable simd
51    strategy:
52      matrix:
53        os: [ubuntu-latest, macos-latest, windows-latest]
54        toolchain: [nightly]
55    runs-on: ${{ matrix.os }}
56    steps:
57      - uses: actions/checkout@v2
58      - run: rustup update --no-self-update ${{ matrix.toolchain }}
59      - run: rustup default ${{ matrix.toolchain }}
60      - run: cargo test --features core-simd
61        shell: bash
62
63  test-wasm:
64    name: Test wasm
65    strategy:
66      matrix:
67        toolchain: [stable]
68        os: [ubuntu-latest]
69    runs-on: ${{ matrix.os }}
70    steps:
71      - uses: actions/checkout@v2
72
73      - name: Install
74        run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
75
76      - run: ./build_and_test_wasm32_firefox.sh
77      - run: ./build_and_test_wasm32_chrome.sh
78