name: Rust CI on: push: branches: - main pull_request: types: [opened, repoened, synchronize] jobs: test: runs-on: ubuntu-latest strategy: fail-fast: false matrix: backend_feature: - u64_backend - u32_backend - p256,u64_backend frontend_feature: - serialize toolchain: - stable - 1.51.0 name: test steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install ${{ matrix.toolchain }} toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: ${{ matrix.toolchain }} override: true components: rustfmt, clippy - name: Run cargo test uses: actions-rs/cargo@v1 with: command: test args: --no-default-features --features ${{ matrix.backend_feature }} - name: Run cargo test with std uses: actions-rs/cargo@v1 with: command: test args: --no-default-features --features ${{ matrix.frontend_feature }},std --features ${{ matrix.backend_feature }} build-no-std: name: Build with no-std on ${{ matrix.target }} runs-on: ubuntu-latest strategy: fail-fast: false matrix: target: # for wasm - wasm32-unknown-unknown # for any no_std target - thumbv6m-none-eabi backend_feature: - u64_backend - u32_backend - p256,u64_backend frontend_feature: - serialize steps: - uses: actions/checkout@v2 - uses: hecrj/setup-rust-action@v1 - run: rustup target add ${{ matrix.target }} - run: cargo build --verbose --target=${{ matrix.target }} --no-default-features --features ${{ matrix.frontend_feature }} --features ${{ matrix.backend_feature }} clippy: name: cargo clippy runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install stable toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true components: rustfmt, clippy - name: Run cargo clippy uses: actions-rs/cargo@v1 with: command: clippy args: -- -D warnings format: name: cargo fmt runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install stable toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true components: rustfmt, clippy - name: Run cargo fmt uses: actions-rs/cargo@v1 with: command: fmt args: --all -- --check