# Workflow patches for skipping unit test CI when Rust code or dependencies aren't modified in a PR.
name: Docker Unit Tests

# Run on PRs with unmodified code and dependency files.
on:
  pull_request:
    paths-ignore:
      # code and tests
      - '**/*.rs'
      # hard-coded checkpoints and proptest regressions
      - '**/*.txt'
      # test data snapshots
      - '**/*.snap'
      # dependencies
      - '**/Cargo.toml'
      - '**/Cargo.lock'
      # configuration files
      - '.cargo/config.toml'
      - '**/clippy.toml'
      # workflow definitions
      - 'docker/**'
      - '.dockerignore'
      - '.github/workflows/ci-unit-tests-docker.yml'
      - '.github/workflows/sub-deploy-integration-tests-gcp.yml'
      - '.github/workflows/sub-find-cached-disks.yml'
      - '.github/workflows/sub-build-docker-image.yml'

# IMPORTANT
#
# The job names in `ci-unit-tests-docker.yml`, `ci-unit-tests-docker.patch.yml` and
# `ci-unit-tests-docker.patch-external.yml` must be kept in sync.
jobs:
  build:
    name: Build CI Docker / Build images
    runs-on: ubuntu-latest
    steps:
      - run: 'echo "No build required"'

  test-all:
    name: Test all
    runs-on: ubuntu-latest
    steps:
      - run: 'echo "No build required"'

  test-fake-activation-heights:
    name: Test with fake activation heights
    runs-on: ubuntu-latest
    steps:
      - run: 'echo "No build required"'

  test-empty-sync:
    name: Test checkpoint sync from empty state
    runs-on: ubuntu-latest
    steps:
      - run: 'echo "No build required"'

  test-lightwalletd-integration:
    name: Test integration with lightwalletd
    runs-on: ubuntu-latest
    steps:
      - run: 'echo "No build required"'

  test-configuration-file:
    name: Test CI default Docker config file / Test default-conf in Docker
    runs-on: ubuntu-latest
    steps:
      - run: 'echo "No build required"'

  test-zebra-conf-path:
    name: Test CI custom Docker config file / Test custom-conf in Docker
    runs-on: ubuntu-latest
    steps:
      - run: 'echo "No build required"'
