Skip to content

[replay] Add transactions to skip for V2 loader #1992

[replay] Add transactions to skip for V2 loader

[replay] Add transactions to skip for V2 loader #1992

# 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.
TESTNET_BUCKET:
required: false
type: string
description: The bucket to use for testnet replay. If not specified, it will use aptos-testnet-backup.
default: aptos-testnet-backup
MAINNET_BUCKET:
required: false
type: string
description: The bucket to use for mainnet replay. If not specified, it will use aptos-mainnet-backup.
default: aptos-mainnet-backup
pull_request:
paths:
- ".github/workflows/replay-verify.yaml"
- ".github/workflows/workflow-run-replay-verify.yaml"
schedule:
- cron: "0 22 * * 0,2,4" # The main branch cadence. This runs every Sun,Tues,Thurs
# 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@v4
- 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: ${{ inputs.TESTNET_BUCKET || 'aptos-testnet-backup' }}
SUB_DIR: e1
HISTORY_START: 862000000
# to see historical TXNS_TO_SKIP, check out ce6158ac2764ee9d4c8738a85f3bcdc6bd0cadc1
TXNS_TO_SKIP: 1232167272 1232167433 1235493554 1239820988 1250224262 1255724440 1354496836 1354498540 1354518687 1354538946 1354547451 1354547636 1354558872 1877277141 5431332424 5519863118 5519863551 5519864968 5519871391 5519874963 5519932878 5519937773 5519943799 5519946298 5519946983 5519948038 5521992576 5523758958 5525311310 5525344101 5526949497 5527564033 5609106498 5611465782 5611472644 5938100116 5938192908 5938204128 5938221027 6047311953 6204828501
# 1195000000-122000000: https://github.com/aptos-labs/aptos-core/pull/13832
RANGES_TO_SKIP: "1195000000-1220000000"
BACKUP_CONFIG_TEMPLATE_PATH: terraform/helm/fullnode/files/backup/gcs.yaml
# workflow config
RUNS_ON: "high-perf-docker-with-local-ssd"
TIMEOUT_MINUTES: 180
MAX_VERSIONS_PER_RANGE: 2000000
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: ${{ inputs.MAINNET_BUCKET || 'aptos-mainnet-backup' }}
SUB_DIR: e1
HISTORY_START: 518000000
#TXNS_TO_SKIP: 12253479 12277499 148358668
TXNS_TO_SKIP: "0"
# 1197378568-1198492648: https://github.com/aptos-labs/aptos-core/pull/13832
RANGES_TO_SKIP: "1197378568-1198492648"
BACKUP_CONFIG_TEMPLATE_PATH: terraform/helm/fullnode/files/backup/gcs.yaml
# workflow config
RUNS_ON: "high-perf-docker-with-local-ssd"
TIMEOUT_MINUTES: 180
MAX_VERSIONS_PER_RANGE: 800000
test-replay:
if: ${{ (github.event_name == 'pull_request') && contains(github.event.pull_request.labels.*.name, 'CICD:test-replay')}}
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: ${{ inputs.TESTNET_BUCKET || 'aptos-testnet-backup' }}
SUB_DIR: e1
HISTORY_START: 862000000
# to see historical TXNS_TO_SKIP, check out ce6158ac2764ee9d4c8738a85f3bcdc6bd0cadc1
TXNS_TO_SKIP: 523296049 523298111 575378008 575383660 575455170 575457845 575461986 575470789 596888095 612286393 981890562 1011802725 1030023658 1652667187 1652669110 1652686860 1652689144 1652722847 1654190659 1654191460 1673664597 1730942524 1730944006 1730945331 1730945814 1730946863 1730952284 1730956071 1730959853 1730967212 1731006027 1759904543 1792070645 1797308520 1798657294 1806178096
# 1195000000-1220000000: https://github.com/aptos-labs/aptos-core/pull/13832
RANGES_TO_SKIP: "1195000000-1220000000"
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
MAX_VERSIONS_PER_RANGE: 2000000