Skip to content

Commit 86ffd56

Browse files
committed
fix(ci): add fill-args override for BPO fork range
BPO forks cannot be specified directly via --from/--until because explicit BPO forks collect too many tests, and transition fork classes don't filter correctly. Work around this by using fill-args to specify --from OsakaToBPO1AtTime15k --until Amsterdam -k "not fork_Amsterdam". Add fill_args support to fork-range entries and the build-fixtures action. Also remove BPO3-BPO5 from fork ordering (actual path is Osaka->BPO1->BPO2->Amsterdam).
1 parent b3d0056 commit 86ffd56

File tree

5 files changed

+47
-22
lines changed

5 files changed

+47
-22
lines changed

.github/actions/build-fixtures/action.yaml

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@ inputs:
1313
split_label:
1414
description: "Label for this fork-range split. Empty for unsplit builds."
1515
default: ""
16+
fill_args:
17+
description: "Override fork-range CLI args (e.g. for transition forks). Empty uses --from/--until."
18+
default: ""
19+
fill_k:
20+
description: "pytest -k expression for additional test filtering."
21+
default: ""
1622
runs:
1723
using: "composite"
1824
steps:
@@ -39,21 +45,34 @@ runs:
3945
run: sudo apt-get install -y pigz
4046
- name: Generate fixtures using fill
4147
shell: bash
48+
env:
49+
FILL_ARGS_OVERRIDE: ${{ inputs.fill_args }}
50+
FILL_K: ${{ inputs.fill_k }}
4251
run: |
4352
IS_SPLIT="${{ inputs.split_label }}"
4453
54+
# Build -k array separately to preserve spaces in the expression.
55+
K_ARGS=()
56+
if [ -n "$FILL_K" ]; then
57+
K_ARGS=(-k "$FILL_K")
58+
fi
59+
4560
if [ -n "$IS_SPLIT" ]; then
4661
OUTPUT_ARG="--output=fixtures_${{ inputs.release_name }}"
47-
FORK_ARGS="--generate-all-formats --from=${{ inputs.from_fork }} --until=${{ inputs.until_fork }}"
62+
if [ -n "$FILL_ARGS_OVERRIDE" ]; then
63+
FORK_ARGS="--generate-all-formats $FILL_ARGS_OVERRIDE"
64+
else
65+
FORK_ARGS="--generate-all-formats --from=${{ inputs.from_fork }} --until=${{ inputs.until_fork }}"
66+
fi
4867
else
4968
OUTPUT_ARG="--output=fixtures_${{ inputs.release_name }}.tar.gz"
5069
FORK_ARGS=""
5170
fi
5271
5372
if [ "${{ steps.evm-builder.outputs.impl }}" = "eels" ]; then
54-
uv run fill -n ${{ steps.evm-builder.outputs.x-dist }} ${{ steps.properties.outputs.fill-params }} $FORK_ARGS $OUTPUT_ARG --build-name ${{ inputs.release_name }} --no-html --durations=100 --log-level=DEBUG
73+
uv run fill -n ${{ steps.evm-builder.outputs.x-dist }} ${{ steps.properties.outputs.fill-params }} $FORK_ARGS "${K_ARGS[@]}" $OUTPUT_ARG --build-name ${{ inputs.release_name }} --no-html --durations=100 --log-level=DEBUG
5574
else
56-
uv run fill -n ${{ steps.evm-builder.outputs.x-dist }} --evm-bin=${{ steps.evm-builder.outputs.evm-bin }} ${{ steps.properties.outputs.fill-params }} $FORK_ARGS $OUTPUT_ARG --build-name ${{ inputs.release_name }} --no-html --durations=100 --log-level=DEBUG
75+
uv run fill -n ${{ steps.evm-builder.outputs.x-dist }} --evm-bin=${{ steps.evm-builder.outputs.evm-bin }} ${{ steps.properties.outputs.fill-params }} $FORK_ARGS "${K_ARGS[@]}" $OUTPUT_ARG --build-name ${{ inputs.release_name }} --no-html --durations=100 --log-level=DEBUG
5776
fi
5877
- name: Generate Benchmark Genesis Files
5978
if: inputs.split_label == '' && contains(inputs.release_name, 'benchmark')
@@ -76,5 +95,5 @@ runs:
7695
if: inputs.split_label != ''
7796
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
7897
with:
79-
name: build__${{ inputs.split_label }}
98+
name: fixtures__${{ inputs.split_label }}
8099
path: fixtures_${{ inputs.release_name }}/

.github/configs/feature.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ fork-ranges:
1818
until: Osaka
1919
- label: bpo
2020
from: BPO1
21-
until: BPO5
21+
until: BPO2
22+
fill-args: --from OsakaToBPO1AtTime15k --until Amsterdam
23+
fill-k: not fork_Amsterdam
2224
- label: amsterdam
2325
from: Amsterdam
2426
until: Amsterdam

.github/scripts/generate_build_matrix.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,6 @@
5353
"Osaka",
5454
"BPO1",
5555
"BPO2",
56-
"BPO3",
57-
"BPO4",
58-
"BPO5",
5956
"Amsterdam",
6057
]
6158

@@ -164,14 +161,17 @@ def build_matrices(
164161
for r in all_ranges.values():
165162
if r["label"] not in seen_labels:
166163
seen_labels.add(r["label"])
167-
build.append(
168-
{
169-
"feature": ref,
170-
"label": r["label"],
171-
"from_fork": r["from"],
172-
"until_fork": r["until"],
173-
}
174-
)
164+
entry = {
165+
"feature": ref,
166+
"label": r["label"],
167+
"from_fork": r["from"],
168+
"until_fork": r["until"],
169+
}
170+
if "fill-args" in r:
171+
entry["fill_args"] = r["fill-args"]
172+
if "fill-k" in r:
173+
entry["fill_k"] = r["fill-k"]
174+
build.append(entry)
175175

176176
# Combine entries map features to their applicable labels.
177177
for name in group_names:

.github/workflows/release_fixture_feature.yaml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ jobs:
6666
from_fork: ${{ matrix.from_fork }}
6767
until_fork: ${{ matrix.until_fork }}
6868
split_label: ${{ matrix.label }}
69+
fill_args: ${{ matrix.fill_args }}
70+
fill_k: ${{ matrix.fill_k }}
6971

7072
combine:
7173
name: combine (${{ matrix.feature }})
@@ -87,9 +89,9 @@ jobs:
8789
run: |
8890
mkdir -p combined
8991
for label in ${{ matrix.labels }}; do
90-
echo "Downloading: build__${label}"
91-
gh run download ${{ github.run_id }} -n "build__${label}" --dir "split_artifacts/build__${label}"
92-
cp -r "split_artifacts/build__${label}"/* combined/
92+
echo "Downloading: fixtures__${label}"
93+
gh run download ${{ github.run_id }} -n "fixtures__${label}" --dir "split_artifacts/fixtures__${label}"
94+
cp -r "split_artifacts/fixtures__${label}"/* combined/
9395
done
9496
echo "Combined directory contents:"
9597
find combined -maxdepth 3 -type d | head -30

.github/workflows/release_fixture_full.yaml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ jobs:
5858
from_fork: ${{ matrix.from_fork }}
5959
until_fork: ${{ matrix.until_fork }}
6060
split_label: ${{ matrix.label }}
61+
fill_args: ${{ matrix.fill_args }}
62+
fill_k: ${{ matrix.fill_k }}
6163

6264
combine:
6365
name: combine (${{ matrix.feature }})
@@ -79,9 +81,9 @@ jobs:
7981
run: |
8082
mkdir -p combined
8183
for label in ${{ matrix.labels }}; do
82-
echo "Downloading: build__${label}"
83-
gh run download ${{ github.run_id }} -n "build__${label}" --dir "split_artifacts/build__${label}"
84-
cp -r "split_artifacts/build__${label}"/* combined/
84+
echo "Downloading: fixtures__${label}"
85+
gh run download ${{ github.run_id }} -n "fixtures__${label}" --dir "split_artifacts/fixtures__${label}"
86+
cp -r "split_artifacts/fixtures__${label}"/* combined/
8587
done
8688
echo "Combined directory contents:"
8789
find combined -maxdepth 3 -type d | head -30

0 commit comments

Comments
 (0)