20adff0071
The cmake CI seemed to reference a few nonexistent targets for docs and tests. Remove the doc generation step and point the test CI script at the generated test program.
155 lines
3.8 KiB
YAML
155 lines
3.8 KiB
YAML
name: CI
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
branches:
|
|
- main
|
|
jobs:
|
|
fmt:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: 1.64.0
|
|
default: true
|
|
components: rustfmt
|
|
- uses: Swatinem/rust-cache@v1
|
|
- run: ./scripts/ci/fmt
|
|
shell: bash
|
|
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: 1.64.0
|
|
default: true
|
|
components: clippy
|
|
- uses: Swatinem/rust-cache@v1
|
|
- run: ./scripts/ci/lint
|
|
shell: bash
|
|
|
|
docs:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: 1.64.0
|
|
default: true
|
|
- uses: Swatinem/rust-cache@v1
|
|
- name: Build rust docs
|
|
run: ./scripts/ci/rust-docs
|
|
shell: bash
|
|
- name: Install doxygen
|
|
run: sudo apt-get install -y doxygen
|
|
shell: bash
|
|
|
|
cargo-deny:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
checks:
|
|
- advisories
|
|
- bans licenses sources
|
|
continue-on-error: ${{ matrix.checks == 'advisories' }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: EmbarkStudios/cargo-deny-action@v1
|
|
with:
|
|
arguments: '--manifest-path ./rust/Cargo.toml'
|
|
command: check ${{ matrix.checks }}
|
|
|
|
wasm_tests:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Install wasm-bindgen-cli
|
|
run: cargo install wasm-bindgen-cli wasm-opt
|
|
- name: Install wasm32 target
|
|
run: rustup target add wasm32-unknown-unknown
|
|
- name: run tests
|
|
run: ./scripts/ci/wasm_tests
|
|
|
|
js_tests:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Install wasm-bindgen-cli
|
|
run: cargo install wasm-bindgen-cli wasm-opt
|
|
- name: Install wasm32 target
|
|
run: rustup target add wasm32-unknown-unknown
|
|
- name: run tests
|
|
run: ./scripts/ci/js_tests
|
|
|
|
cmake_build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: 1.64.0
|
|
default: true
|
|
- uses: Swatinem/rust-cache@v1
|
|
- name: Install CMocka
|
|
run: sudo apt-get install -y libcmocka-dev
|
|
- name: Install/update CMake
|
|
uses: jwlawson/actions-setup-cmake@v1.12
|
|
with:
|
|
cmake-version: latest
|
|
- name: Build and test C bindings
|
|
run: ./scripts/ci/cmake-build Release Static
|
|
shell: bash
|
|
|
|
linux:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
toolchain:
|
|
- 1.60.0
|
|
- nightly
|
|
continue-on-error: ${{ matrix.toolchain == 'nightly' }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: ${{ matrix.toolchain }}
|
|
default: true
|
|
- uses: Swatinem/rust-cache@v1
|
|
- run: ./scripts/ci/build-test
|
|
shell: bash
|
|
|
|
macos:
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: 1.64.0
|
|
default: true
|
|
- uses: Swatinem/rust-cache@v1
|
|
- run: ./scripts/ci/build-test
|
|
shell: bash
|
|
|
|
windows:
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: 1.64.0
|
|
default: true
|
|
- uses: Swatinem/rust-cache@v1
|
|
- run: ./scripts/ci/build-test
|
|
shell: bash
|