name: CI on: push: branches: [main] pull_request: branches: [main] env: CARGO_TERM_COLOR: always jobs: test: name: Test runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: rustup update stable && rustup default stable - run: cargo build --verbose - run: cargo test --verbose clippy: name: Clippy runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: rustup update stable && rustup default stable - run: rustup component add clippy - run: cargo clippy --all-targets --all-features -- -D warnings fmt: name: Format runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: rustup update stable && rustup default stable - run: rustup component add rustfmt - run: cargo fmt --all -- --check c-ffi-smoketest: name: C FFI Smoketest runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: rustup update stable && rustup default stable - name: Install valgrind run: sudo apt-get install -y valgrind - name: Build C FFI example run: make working-directory: crates/client-ffi/examples/message-exchange - name: Run C FFI smoketest run: ./c-client working-directory: crates/client-ffi/examples/message-exchange - name: Run C FFI smoketest under valgrind run: make valgrind working-directory: crates/client-ffi/examples/message-exchange nix-build: name: Nix Build strategy: matrix: os: [ubuntu-latest, macos-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - uses: cachix/install-nix-action@v31 with: extra_nix_config: | experimental-features = nix-command flakes - run: nix build --print-build-logs