159 lines
4.4 KiB
YAML
159 lines
4.4 KiB
YAML
# Workflow patches for skipping CI tests when Rust code or dependencies
|
|
# aren't modified in a PR.
|
|
name: Run 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-tests.yml"
|
|
- ".github/workflows/sub-ci-unit-tests-docker.yml"
|
|
- ".github/workflows/sub-ci-integration-tests-gcp.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 `sub-ci-unit-tests-docker.yml`, `sub-ci-integration-tests-gcp.yml`,
|
|
#! `ci-tests.patch.yml` and `ci-tests.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"'
|
|
|
|
####
|
|
## The following jobs are related to sub-ci-unit-tests-docker.yml
|
|
###
|
|
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-configuration-file-testnet:
|
|
name: Test CI testnet Docker config file / Test default-conf in Docker
|
|
needs: build
|
|
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"'
|
|
|
|
|
|
####
|
|
## The following jobs are related to sub-ci-integration-tests-gcp.yml
|
|
###
|
|
|
|
# We don't patch the testnet job, because testnet isn't required to merge (it's too unstable)
|
|
get-available-disks:
|
|
name: Check if cached state disks exist for Mainnet / Check if cached state disks exist
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- run: 'echo "No build required"'
|
|
|
|
test-stateful-sync:
|
|
name: Zebra checkpoint update / Run sync-past-checkpoint test
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- run: 'echo "No build required"'
|
|
|
|
test-update-sync:
|
|
name: Zebra tip update / Run update-to-tip test
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- run: 'echo "No build required"'
|
|
|
|
checkpoints-mainnet:
|
|
name: Generate checkpoints mainnet / Run checkpoints-mainnet test
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- run: 'echo "No build required"'
|
|
|
|
lightwalletd-rpc-test:
|
|
name: Zebra tip JSON-RPC / Run fully-synced-rpc test
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- run: 'echo "No build required"'
|
|
|
|
lightwalletd-transactions-test:
|
|
name: lightwalletd tip send / Run lwd-send-transactions test
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- run: 'echo "No build required"'
|
|
|
|
get-block-template-test:
|
|
name: get block template / Run get-block-template test
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- run: 'echo "No build required"'
|
|
|
|
submit-block-test:
|
|
name: submit block / Run submit-block test
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- run: 'echo "No build required"'
|
|
|
|
lightwalletd-full-sync:
|
|
name: lightwalletd tip / Run lwd-full-sync test
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- run: 'echo "No build required"'
|
|
|
|
lightwalletd-update-sync:
|
|
name: lightwalletd tip update / Run lwd-update-sync test
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- run: 'echo "No build required"'
|
|
|
|
lightwalletd-grpc-test:
|
|
name: lightwalletd GRPC tests / Run lwd-grpc-wallet test
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- run: 'echo "No build required"'
|