10
10
instance_type :
11
11
type : string
12
12
required : false
13
- description : The type of runner to start ({1,2,4,8,16,32,48,64}cpu-linux-{arm64,x64} )
14
- default : 64cpu-linux-arm64
13
+ description : The AWS instance type or family (e.g., m7g.16xlarge )
14
+ default : g6.2xlarge
15
15
memory_allocator :
16
16
type : string
17
17
required : false
63
63
instance_type :
64
64
type : string
65
65
required : false
66
- description : The type of runner to start ({1,2,4,8,16,32,48,64}cpu-linux-{arm64,x64} )
67
- default : 64cpu-linux-arm64
66
+ description : The AWS instance type or family (e.g., m7g.16xlarge )
67
+ default : g6.2xlarge
68
68
memory_allocator :
69
69
type : string
70
70
required : false
107
107
env :
108
108
S3_METRICS_PATH : s3://openvm-public-data-sandbox-us-east-1/benchmark/github/metrics
109
109
S3_FLAMEGRAPHS_PATH : s3://openvm-public-data-sandbox-us-east-1/benchmark/github/flamegraphs
110
- FEATURE_FLAGS : " metrics,parallel,nightly-features, tco"
110
+ FEATURE_FLAGS : " metrics,parallel,tco"
111
111
INPUT_ARGS : " "
112
112
CARGO_NET_GIT_FETCH_WITH_CLI : " true"
113
113
@@ -118,22 +118,24 @@ jobs:
118
118
bench-new :
119
119
name : Run benchmark on workflow ref/branch
120
120
runs-on :
121
- - runs-on
122
- - runner =${{ inputs.instance_type }}
123
- - run-id =${{ github.run_id }}
124
- - family=m7
125
- - tag=bench-${{ inputs.benchmark_name }}-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
121
+ - runs-on=${{ github.run_id }}-bench-${{ inputs.benchmark_id || github.event.inputs.benchmark_name || inputs.benchmark_name }}-${{ github.run_number }}-${{ github.run_attempt }}
122
+ - family =${{ github.event.inputs.instance_type || inputs.instance_type }}
123
+ - image =${{ startsWith( github.event.inputs.instance_type || inputs.instance_type, 'g') && 'ubuntu24-gpu-x64' || contains(github.event.inputs.instance_type || inputs.instance_type, 'g.') && 'ubuntu24-full-arm64' || 'ubuntu24-full-x64' }}
124
+ - spot=capacity-optimized
125
+ - tag=bench-${{ inputs.benchmark_id || github.event.inputs.benchmark_name || inputs. benchmark_name }}-${{ github.run_id }}-${{ github.run_number }}-${{ github.run_attempt }}
126
126
- extras=s3-cache
127
127
steps :
128
- - uses : runs-on/action@v1
128
+ - uses : runs-on/action@v2
129
129
# #########################################################################
130
130
# Environment setup #
131
131
# #########################################################################
132
- - uses : actions/checkout@v4
132
+ - uses : actions/checkout@v5
133
133
with :
134
134
ref : ${{ github.event.pull_request.head.sha || github.sha }}
135
135
repository : ${{ github.event.pull_request.head.repo.full_name || github.repository }}
136
-
136
+ - run : | # avoid cross-device link error
137
+ rustup component remove clippy || true
138
+ rm -rf ~/.rustup/toolchains/stable-x86_64-unknown-linux-gnu || true
137
139
- uses : dtolnay/rust-toolchain@stable
138
140
- uses : Swatinem/rust-cache@v2
139
141
with :
@@ -146,9 +148,17 @@ jobs:
146
148
147
149
- name : Display workflow inputs
148
150
run : echo "${{ toJSON(inputs) }}"
149
- - name : " Feature flags: memory allocator"
151
+ - name : " Feature flags: memory allocator + e2e "
150
152
run : |
151
153
ALLOCATOR=${{ inputs.memory_allocator || github.event.inputs.memory_allocator }}
154
+ if [[ ! "${{ inputs.instance_type || github.event.inputs.instance_type }}" =~ ^g ]]; then
155
+ FEATURE_FLAGS=${FEATURE_FLAGS},nightly-features
156
+ if [[ "${{ inputs.e2e_bench }}" == "true" ]]; then
157
+ FEATURE_FLAGS=${FEATURE_FLAGS},evm
158
+ fi
159
+ else
160
+ FEATURE_FLAGS=${FEATURE_FLAGS},cuda
161
+ fi
152
162
echo "FEATURE_FLAGS=$ALLOCATOR,${FEATURE_FLAGS}" >> $GITHUB_ENV
153
163
- name : " Feature flags: aggregation"
154
164
if : contains(github.event.pull_request.labels.*.name, 'run-benchmark') || (github.event_name == 'push' && github.ref == 'refs/heads/main')
0 commit comments