Update cached state conditions and docs (#4332)

This commit is contained in:
teor 2022-05-06 07:52:56 +10:00 committed by GitHub
parent 89fe4d73fc
commit da232ec224
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 15 additions and 6 deletions

View File

@ -14,12 +14,12 @@ on:
regenerate-disks:
type: boolean
default: false
description: 'Just update stateful disks'
description: 'Just update mandatory checkpoint disks'
required: true
run-full-sync:
type: boolean
default: false
description: 'Just trigger a full sync'
description: 'Just run a full sync and update tip disks'
required: true
pull_request:
@ -99,7 +99,8 @@ jobs:
zebra_skip_ipv6_tests: '1'
rust_log: info
# Run all the zebra tests, including tests that are ignored by default
# Run all the zebra tests, including tests that are ignored by default.
# Skips tests that need a cached state disk or a lightwalletd binary.
test-all:
name: Test all
runs-on: ubuntu-latest
@ -175,6 +176,10 @@ jobs:
env:
ZEBRA_TEST_LIGHTWALLETD: '1'
# Regenerate mandatory checkpoint disks.
# Runs:
# - on every PR update, but only if Zebra's state version changes in the PR
# - on request
regenerate-stateful-disks:
needs: [ build, changed-files]
uses: ./.github/workflows/gcp-test-deploy.yml
@ -189,7 +194,7 @@ jobs:
disk_suffix: checkpoint
height_grep_text: 'flushing database to disk height=Height'
# Test that Zebra syncs and fully validates a few thousand blocks from a cached post-checkpoint state
# Test that Zebra syncs and fully validates a few thousand blocks from a cached mandatory checkpoint disk
test-stateful-sync:
needs: build
uses: ./.github/workflows/gcp-test-deploy.yml
@ -202,14 +207,18 @@ jobs:
saves_to_disk: false
disk_suffix: checkpoint
# Test that Zebra can run a full mainnet sync after a PR is approved
# Test that Zebra can run a full mainnet sync and regenerate tip disks.
# Runs:
# - after every PR is merged to `main`
# - on every PR update, but only if Zebra's state version changes in the PR
# - on request
test-full-sync:
needs: build
uses: ./.github/workflows/gcp-test-deploy.yml
# TODO change `github.ref_name == 'main'` to `startsWith(github.head_ref, 'mergify/merge-queue/')`
# to only run on Mergify head branches, and on manual dispatch:
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#running-your-workflow-based-on-the-head-or-base-branch-of-a-pull-request-1
if: ${{ github.event_name == 'push' || github.event.inputs.run-full-sync == 'true' || github.event.inputs.regenerate-disks != 'true'}}
if: ${{ (github.event_name == 'push' && github.ref_name == 'main') || (needs.changed-files.outputs.rebuild == 'true' && github.event_name == 'push') || github.event.inputs.run-full-sync == 'true' }}
with:
test_id: full-sync-to-tip
test_description: Test a full sync up to the tip