name: Multi-OS Unit Tests on: pull_request: paths-ignore: - '**/*.rs' - '**/*.txt' - '**/*.snap' - '**/Cargo.toml' - '**/Cargo.lock' - '**/deny.toml' - '.cargo/config.toml' - '**/clippy.toml' - '.github/workflows/ci-unit-tests-os.yml' jobs: test: name: Test ${{ matrix.rust }} on ${{ matrix.os }}${{ matrix.features }} # We're just doing this job for the name, the platform doesn't matter. # So we use the platform with the most concurrent instances. runs-on: ubuntu-latest strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] rust: [stable, beta] features: [""] exclude: - os: macos-latest rust: beta steps: - run: 'echo "No build required"' install-from-lockfile-no-cache: name: Install zebrad from lockfile without cache on ubuntu-latest runs-on: ubuntu-latest steps: - run: 'echo "No build required"' check-cargo-lock: name: Check Cargo.lock is up to date runs-on: ubuntu-latest steps: - run: 'echo "No build required"' cargo-deny: name: Check deny.toml ${{ matrix.checks }} ${{ matrix.features }} runs-on: ubuntu-latest strategy: matrix: checks: - bans - sources features: ['', '--features default-release-binaries', '--all-features'] steps: - run: 'echo "No build required"' unused-deps: name: Check for unused dependencies runs-on: ubuntu-latest steps: - run: 'echo "No build required"'