forked from aptos-labs/aptos-core
-
Notifications
You must be signed in to change notification settings - Fork 0
103 lines (97 loc) · 4.02 KB
/
replay-verify.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# This defines a workflow to replay transactions on the given chain with the latest aptos node software.
# In order to trigger it go to the Actions Tab of the Repo, click "replay-verify" and then "Run Workflow".
#
# On PR, a single test case will run. On workflow_dispatch, you may specify the CHAIN_NAME to verify.
name: "replay-verify"
on:
# Allow triggering manually
workflow_dispatch:
inputs:
GIT_SHA:
required: false
type: string
description: The git SHA1 to test. If not specified, it will use the latest commit on main.
CHAIN_NAME:
required: false
type: choice
options: [testnet, mainnet, all]
default: all
description: The chain name to test. If not specified, it will test both testnet and mainnet.
pull_request:
paths:
- ".github/workflows/replay-verify.yaml"
- "testsuite/replay_verify.py"
schedule:
- cron: "0 22 * * *"
push:
branches:
- aptos-release-v* # the aptos release branches
- aptos-node-v*
# cancel redundant builds
concurrency:
# cancel redundant builds on PRs (only on PR, not on branches)
group: ${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.ref) || github.sha }}
cancel-in-progress: true
jobs:
determine-test-metadata:
runs-on: ubuntu-latest
steps:
# checkout the repo first, so check-aptos-core can use it and cancel the workflow if necessary
- uses: actions/checkout@v3
- uses: ./.github/actions/check-aptos-core
with:
cancel-workflow: ${{ github.event_name == 'schedule' }} # Cancel the workflow if it is scheduled on a fork
replay-testnet:
if: |
github.event_name == 'schedule' ||
github.event_name == 'push' ||
github.event_name == 'workflow_dispatch' && (inputs.CHAIN_NAME == 'testnet' || inputs.CHAIN_NAME == 'all')
needs: determine-test-metadata
uses: ./.github/workflows/workflow-run-replay-verify.yaml
secrets: inherit
with:
GIT_SHA: ${{ inputs.GIT_SHA }}
# replay-verify config
BUCKET: aptos-testnet-backup-b7b1ad7a
SUB_DIR: e1
HISTORY_START: 250000000 # TODO: We need an exhaustive list of txns_to_skip before we can set this to 0.
TXNS_TO_SKIP: 46874937 151020059 409163615 409163669 409163708 409163774 409163845 409163955 409164059 409164191 414625832
BACKUP_CONFIG_TEMPLATE_PATH: terraform/helm/fullnode/files/backup/gcs.yaml
# workflow config
RUNS_ON: "high-perf-docker-with-local-ssd"
TIMEOUT_MINUTES: 840
replay-mainnet:
if: |
github.event_name == 'schedule' ||
github.event_name == 'push' ||
github.event_name == 'workflow_dispatch' && (inputs.CHAIN_NAME == 'mainnet' || inputs.CHAIN_NAME == 'all' )
needs: determine-test-metadata
uses: ./.github/workflows/workflow-run-replay-verify.yaml
secrets: inherit
with:
GIT_SHA: ${{ inputs.GIT_SHA }}
# replay-verify config
BUCKET: aptos-mainnet-backup-backup-e098483d
SUB_DIR: e1
HISTORY_START: 0
TXNS_TO_SKIP: 12253479 12277499 148358668
BACKUP_CONFIG_TEMPLATE_PATH: terraform/helm/fullnode/files/backup/gcs.yaml
# workflow config
RUNS_ON: "high-perf-docker-with-local-ssd"
TIMEOUT_MINUTES: 300
test-replay:
if: ${{ github.event_name == 'pull_request' }}
needs: determine-test-metadata
uses: ./.github/workflows/workflow-run-replay-verify.yaml
secrets: inherit
with:
GIT_SHA: ${{ github.event.pull_request.head.sha }}
# replay-verify config
BUCKET: aptos-testnet-backup-b7b1ad7a
SUB_DIR: e1
HISTORY_START: 250000000 # TODO: We need an exhaustive list of txns_to_skip before we can set this to 0.
TXNS_TO_SKIP: 46874937 151020059 409163615 409163669 409163708 409163774 409163845 409163955 409164059 409164191 414625832
BACKUP_CONFIG_TEMPLATE_PATH: terraform/helm/fullnode/files/backup/gcs.yaml
# workflow config
RUNS_ON: "high-perf-docker-with-local-ssd"
TIMEOUT_MINUTES: 120 # increase test replay timeout to capture more flaky errors