name: CI on: pull_request: paths-ignore: - '**/*.rs' - '**/*.txt' - '**/Cargo.toml' - '**/Cargo.lock' - '**/deny.toml' - 'docker/**' - '.github/workflows/ci.yml' jobs: test: name: Test (+${{ matrix.rust }}) on ${{ matrix.os }} # The large timeout is to accommodate: # - Windows builds (75 minutes, typically 30-50 minutes) # - parameter downloads (40 minutes, but only when the cache expires) timeout-minutes: 115 runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [ubuntu-latest, windows-latest, macOS-latest] rust: [stable] steps: - run: 'echo "No build required"' test-fake-activation-heights: name: Build (+${{ matrix.rust }}) zebra-state with fake activation heights on ubuntu-latest timeout-minutes: 60 runs-on: ubuntu-latest strategy: matrix: rust: [stable] steps: - run: 'echo "No build required"' build-chain-no-features: name: Build (+${{ matrix.rust }}) zebra-chain w/o features on ubuntu-latest timeout-minutes: 60 runs-on: ubuntu-latest strategy: matrix: rust: [stable, beta] steps: - run: 'echo "No build required"' build: name: Build (+stable) on ubuntu-latest timeout-minutes: 60 runs-on: ubuntu-latest steps: - run: 'echo "No build required"' cargo-deny: name: Check deny.toml crate dependencies and validate licenses runs-on: ubuntu-latest strategy: matrix: checks: - bans - sources # Prevent sudden announcement of a new advisory from failing ci: continue-on-error: ${{ matrix.checks == 'advisories' }} steps: - run: 'echo "No build required"'