# Workflow patches for skipping Google Cloud CD deployments, when Rust code or dependencies aren't
# modified in a PR.
name: Deploy Nodes to GCP

# 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'
     # dependencies
     - '**/Cargo.toml'
     - '**/Cargo.lock'
     # configuration files
     - '.cargo/config.toml'
     - '**/clippy.toml'
     # workflow definitions
     - 'docker/**'
     - '.dockerignore'
     - '.github/workflows/cd-deploy-nodes-gcp.yml'
     - '.github/workflows/sub-build-docker-image.yml'

# IMPORTANT
#
# The job names in `cd-deploy-nodes-gcp.yml`, `cd-deploy-nodes-gcp.patch.yml` and
# `cd-deploy-nodes-gcp.patch-external.yml` must be kept in sync.
jobs:
  # We don't patch the testnet job, because testnet isn't required to merge (it's too unstable)
  build:
    name: Build CD Docker / Build images
    runs-on: ubuntu-latest
    steps:
      - run: 'echo "No build required"'

  test-configuration-file:
    name: Test CD 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 CD custom Docker config file / Test custom-conf in Docker
    runs-on: ubuntu-latest
    steps:
      - run: 'echo "No build required"'
