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.67.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.67.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.67.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 deno_tests: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: denoland/setup-deno@v1 with: deno-version: v1.x - 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/deno_tests js_fmt: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: install run: yarn global add prettier - name: format run: prettier -c javascript/.prettierrc javascript 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: nightly-2023-01-26 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: Install rust-src run: rustup component add rust-src - name: Build and test C bindings run: ./scripts/ci/cmake-build Release Static shell: bash linux: runs-on: ubuntu-latest strategy: matrix: toolchain: - 1.67.0 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.67.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.67.0 default: true - uses: Swatinem/rust-cache@v1 - run: ./scripts/ci/build-test shell: bash