-
Notifications
You must be signed in to change notification settings - Fork 3.7k
112 lines (106 loc) · 3.83 KB
/
workflow-run-module-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
104
105
106
107
108
109
110
111
112
name: "*run module-verify reusable workflow"
on:
# This allows the workflow to be triggered from another workflow
workflow_call:
inputs:
GIT_SHA:
required: false
type: string
description: The git SHA1 to test. If not specified, it will use the latest commit on main.
# module-verify config
BUCKET:
required: true
type: string
description: The bucket to use for the backup. If not specified, it will use the default bucket.
SUB_DIR:
required: true
type: string
description: The subdirectory to use for the backup. If not specified, it will use the default subdirectory.
BACKUP_CONFIG_TEMPLATE_PATH:
description: "The path to the backup config template to use."
type: string
required: true
on:
# This allows the workflow to be triggered from another workflow
workflow_call:
inputs:
GIT_SHA:
required: true
type: string
description: The git SHA1 to test.
# replay-verify config
BUCKET:
required: true
type: string
description: The bucket to use for the backup. If not specified, it will use the default bucket.
SUB_DIR:
required: true
type: string
description: The subdirectory to use for the backup. If not specified, it will use the default subdirectory.
HISTORY_START:
required: true
type: string
description: The history start to use for the backup. If not specified, it will use the default history start.
TXNS_TO_SKIP:
required: false
type: string
description: The list of transaction versions to skip. If not specified, it will use the default list.
RANGES_TO_SKIP:
required: false
type: string
description: The optional list of transaction ranges to skip..
BACKUP_CONFIG_TEMPLATE_PATH:
description: "The path to the backup config template to use."
type: string
required: true
TIMEOUT_MINUTES:
description: "Github job timeout in minutes"
type: number
required: true
default: 180
MAX_VERSIONS_PER_RANGE:
description: "The maximum number of versions to process in a single job."
type: number
required: true
# This allows the workflow to be triggered manually from the Github UI or CLI
# NOTE: because the "number" type is not supported, we default to 720 minute timeout
workflow_dispatch:
inputs:
GIT_SHA:
required: true
type: string
description: The git SHA1 to test.
TIMEOUT_MINUTES:
description: "Github job timeout in minutes"
type: number
required: true
default: 720
jobs:
module-verify:
# if we're running on a PR, it's only for testing purposes, so we can set a shorter timeout
timeout-minutes: ${{ inputs.TIMEOUT_MINUTES }}
runs-on: runs-on,cpu=96,family=c5d+c5ad,image=aptos-ubuntu-x64,run-id=${{ github.run_id }},spot=false
steps:
- uses: actions/checkout@v4
with:
ref: ${{ inputs.GIT_SHA }}
- name: Install AWS CLI
shell: bash
run: |
scripts/dev_setup.sh -b -i awscli
echo "${HOME}/bin/" >> $GITHUB_PATH # default INSTALL_DIR to path
- name: Install s5cmd
shell: bash
run: |
scripts/dev_setup.sh -b -i s5cmd
echo "${HOME}/bin/" >> $GITHUB_PATH # default INSTALL_DIR to path
- name: Build CLI binaries in release mode
shell: bash
run: cargo build --release -p aptos-debugger
- name: Run module-verify in parallel
shell: bash
run: testsuite/module_verify.py
env:
BUCKET: ${{ inputs.BUCKET }}
SUB_DIR: ${{ inputs.SUB_DIR }}
BACKUP_CONFIG_TEMPLATE_PATH: ${{ inputs.BACKUP_CONFIG_TEMPLATE_PATH }}