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