2022-02-18 14:53:27 -08:00
|
|
|
name: Test
|
|
|
|
|
|
|
|
on:
|
|
|
|
pull_request:
|
|
|
|
branches:
|
|
|
|
- main
|
|
|
|
paths-ignore:
|
2022-05-04 15:55:02 -07:00
|
|
|
# code and tests
|
2022-02-18 14:53:27 -08:00
|
|
|
- '**/*.rs'
|
2022-05-04 15:55:02 -07:00
|
|
|
# hard-coded checkpoints and proptest regressions
|
2022-02-18 14:53:27 -08:00
|
|
|
- '**/*.txt'
|
2022-05-04 15:55:02 -07:00
|
|
|
# test data snapshots
|
2022-03-02 06:23:05 -08:00
|
|
|
- '**/*.snap'
|
2022-05-04 15:55:02 -07:00
|
|
|
# dependencies
|
2022-02-18 14:53:27 -08:00
|
|
|
- '**/Cargo.toml'
|
|
|
|
- '**/Cargo.lock'
|
2022-05-04 15:55:02 -07:00
|
|
|
# workflow definitions
|
2022-02-18 14:53:27 -08:00
|
|
|
- 'docker/**'
|
|
|
|
- '.github/workflows/test.yml'
|
2022-05-04 15:55:02 -07:00
|
|
|
- '.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'
|
2022-04-28 01:13:35 -07:00
|
|
|
- '.github/workflows/docker-image-build.yml'
|
2022-02-18 14:53:27 -08:00
|
|
|
|
|
|
|
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"'
|
|
|
|
|
2022-03-27 15:40:53 -07:00
|
|
|
test-lightwalletd-integration:
|
|
|
|
name: Test integration with lightwalletd
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
needs: build
|
|
|
|
steps:
|
|
|
|
- run: 'echo "No build required"'
|
|
|
|
|
2022-02-18 14:53:27 -08:00
|
|
|
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
|
2022-04-11 22:06:37 -07:00
|
|
|
needs: [build, regenerate-stateful-disks]
|
2022-02-18 14:53:27 -08:00
|
|
|
steps:
|
2022-03-27 15:40:53 -07:00
|
|
|
- run: 'echo "No build required"'
|
2022-05-04 15:55:02 -07:00
|
|
|
|
|
|
|
# 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"'
|