zebra/.github/workflows/test.patch.yml

101 lines
2.5 KiB
YAML

name: Test
on:
pull_request:
branches:
- main
paths-ignore:
# code and tests
- '**/*.rs'
# hard-coded checkpoints and proptest regressions
- '**/*.txt'
# test data snapshots
- '**/*.snap'
# dependencies
- '**/Cargo.toml'
- '**/Cargo.lock'
# workflow definitions
- 'docker/**'
- '.github/workflows/test.yml'
- '.github/workflows/gcp-test-deploy.yml'
- '.github/workflows/docker-image-build.yml'
push:
branches:
- main
paths-ignore:
# code and tests
- '**/*.rs'
# hard-coded checkpoints and proptest regressions
- '**/*.txt'
# test data snapshots
- '**/*.snap'
# dependencies
- '**/Cargo.toml'
- '**/Cargo.lock'
# workflow definitions
- 'docker/**'
- '.github/workflows/test.yml'
- '.github/workflows/gcp-test-deploy.yml'
- '.github/workflows/docker-image-build.yml'
jobs:
build:
name: Build images
runs-on: ubuntu-latest
steps:
- run: 'echo "No build required"'
# Run all the zebra tests, including tests that are ignored by default
test-all:
name: Test all
runs-on: ubuntu-latest
needs: build
steps:
- run: 'echo "No build required"'
test-fake-activation-heights:
name: Test with fake activation heights
runs-on: ubuntu-latest
needs: build
steps:
- run: 'echo "No build required"'
# Test that Zebra syncs and checkpoints a few thousand blocks from an empty state
test-empty-sync:
name: Test checkpoint sync from empty state
runs-on: ubuntu-latest
needs: build
steps:
- run: 'echo "No build required"'
test-lightwalletd-integration:
name: Test integration with lightwalletd
runs-on: ubuntu-latest
needs: build
steps:
- run: 'echo "No build required"'
regenerate-stateful-disks:
name: Regenerate stateful disks
runs-on: ubuntu-latest
needs: build
steps:
- run: 'echo "No build required"'
# Test that Zebra syncs and fully validates a few thousand blocks from a cached post-checkpoint state
test-stateful-sync:
name: Test full validation sync from cached state
runs-on: ubuntu-latest
needs: [build, regenerate-stateful-disks]
steps:
- run: 'echo "No build required"'
# Test that Zebra can run a full mainnet sync after a PR is approved
test-full-sync:
name: Test a full sync up to the tip
runs-on: ubuntu-latest
needs: [build, regenerate-stateful-disks]
steps:
- run: 'echo "No build required"'