Skip to content

Commit 803470d

Browse files
Merge pull request #11193 from starkware-libs/itay/merge-main-v0.14.1-into-main-v0.14.1-committer-1766912996
Itay/merge main v0.14.1 into main v0.14.1 committer 1766912996
2 parents 05b0a54 + 17c3725 commit 803470d

File tree

345 files changed

+9342
-28453
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

345 files changed

+9342
-28453
lines changed

.config/nextest.toml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
[profile.default]
2+
slow-timeout = { period = "60s", terminate-after = 2 }
3+
4+
[test-groups.serialized]
5+
max-threads = 1
6+
7+
# serialized tests (mostly integration tests)
8+
[[profile.default.overrides]]
9+
# TODO(victork): evaluate whether these are indeed required to run sequentially
10+
filter = '(package(apollo_integration_tests) & kind(test)) | package(apollo_infra) | package(apollo_network) | (package(apollo_l1_provider) & kind(test))'
11+
test-group = 'serialized'
12+
13+
# slow test exception whitelist
14+
[[profile.default.overrides]]
15+
filter = 'none()'
16+
slow-timeout = { period = "120s", terminate-after = 2 }

.github/actions/install_rust/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ runs:
1717
with:
1818
cache-base: main(-v[0-9].*)?
1919
inherit-toolchain: true
20-
bins: taplo-cli@0.9.3, cargo-machete
20+
bins: taplo-cli@0.9.3, cargo-machete, cargo-nextest@0.9.113
2121
# Install additional non-default toolchains (for rustfmt for example), NOP if input omitted.
2222
channel: ${{ inputs.extra_rust_toolchains }}
2323
env:

.github/workflows/hybrid_system_test2.yaml renamed to .github/workflows/hybrid_system_test.yaml

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Sequencer - Hybrid Node System Test 2
1+
name: Sequencer - Hybrid Node System Test
22

33
on:
44
workflow_dispatch:
@@ -18,7 +18,7 @@ env:
1818
overlay: hybrid.testing.node-0
1919
cluster_name: hybrid-system-test
2020
crate_triggers: "apollo_node,apollo_deployments,apollo_integration_tests"
21-
path_triggers: ".github/workflows/hybrid_system_test.yaml,scripts/*.py,scripts/system_tests/**/*.py,deployments/sequencer/**"
21+
path_triggers: ".github/workflows/hybrid_system_test.yaml,scripts/*.py,scripts/system_tests/**/*.py,deployments/sequencer/**,deployments/images/**"
2222
path_triggers_exclude: "scripts/prod/**/*"
2323
pvc_storage_class_name: "premium-rwo"
2424
anvil_port: "8545"
@@ -278,15 +278,15 @@ jobs:
278278
run: ./target/debug/sequencer_node_setup --output-base-dir ./output --data-prefix-path /data --n-consolidated 1 --n-hybrid 0 --n-distributed 0
279279

280280
- name: Generate k8s manifests
281-
working-directory: deployments/sequencer2
281+
working-directory: deployments/sequencer
282282
run: |
283283
pipenv install
284284
cdk8s import
285285
echo "Generating Kubernetes manifests using hybrid layout"
286286
cdk8s synth --app "pipenv run python main.py --namespace ${{ env.namespace }} -l ${{ env.layout }} -o ${{ env.overlay }} --image ${{ env.NSC_CONTAINER_REGISTRY }}/sequencer:${{ github.sha }}"
287287
288288
- name: Deploy Sequencer
289-
working-directory: deployments/sequencer2
289+
working-directory: deployments/sequencer
290290
run: |
291291
echo "Deploying Sequencer..."
292292
kubectl create namespace ${{ env.namespace }}
@@ -296,22 +296,26 @@ jobs:
296296
run: kubectl config set-context --current --namespace ${{ env.namespace }}
297297

298298
- name: Run readiness check
299-
run: pipenv run python ./scripts/system_tests/readiness_check2.py --layout ${{ env.layout }} --namespace ${{ env.namespace }}
299+
run: pipenv run python ./scripts/system_tests/readiness_check.py --layout ${{ env.layout }} --overlay ${{ env.overlay }} --namespace ${{ env.namespace }}
300300

301301
- name: Test sequencer is alive
302302
env:
303303
initial_delay_sec: 10
304304
check_interval_sec: 2
305305
check_timeout_sec: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.liveness_test_duration_sec || 10 }}
306306
run: |
307-
pipenv run python ./scripts/system_tests/liveness_check2.py \
307+
pipenv run python ./scripts/system_tests/liveness_check.py \
308308
--namespace ${{ env.namespace }} \
309309
--layout ${{ env.layout }} \
310+
--overlay ${{ env.overlay }} \
310311
--timeout ${{ env.check_timeout_sec }} \
311312
--interval ${{ env.check_interval_sec }}
312313
313314
- name: Copy state and restart pod
314-
run: pipenv run python ./scripts/system_tests/copy_state_and_restart2.py --layout ${{ env.layout }} --namespace ${{ env.namespace }} --data-dir "./output/data/node_0"
315+
run: pipenv run python ./scripts/system_tests/copy_state_and_restart.py --layout ${{ env.layout }} --overlay ${{ env.overlay }} --namespace ${{ env.namespace }} --data-dir "./output/data/node_0"
316+
317+
- name: Run readiness check
318+
run: pipenv run python ./scripts/system_tests/readiness_check.py --layout ${{ env.layout }} --overlay ${{ env.overlay }} --namespace ${{ env.namespace }}
315319

316320
- name: Port-forward Anvil pod to localhost:${{ env.anvil_port }}
317321
run: |
@@ -335,7 +339,7 @@ jobs:
335339
env:
336340
RUST_LOG: debug
337341
RUST_BACKTRACE: full
338-
run: pipenv run python ./scripts/system_tests/sequencer_simulator2.py --state_sync_monitoring_endpoint_port 8082 --http_server_port 8080 --node_type "hybrid" --sender_address "${{ env.SENDER_ADDRESS }}" --receiver_address "${{ env.RECEIVER_ADDRESS }}"
342+
run: pipenv run python ./scripts/system_tests/sequencer_simulator.py --state_sync_monitoring_endpoint_port 8082 --http_server_port 8080 --node_type "hybrid" --sender_address "${{ env.SENDER_ADDRESS }}" --receiver_address "${{ env.RECEIVER_ADDRESS }}"
339343

340344
- name: List all pods in namespace ${{ env.namespace }}
341345
if: always()

.github/workflows/sequencer_cdk8s-test.yml

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ on:
99
paths:
1010
- ".github/workflows/sequencer_cdk8s-test.yml"
1111
- "crates/apollo_deployments/**"
12-
- "deployments/sequencer2/**"
12+
- "deployments/sequencer/**"
1313

1414
jobs:
1515
prepare:
@@ -19,8 +19,9 @@ jobs:
1919
namespace: test
2020
layout: hybrid
2121
overlay: hybrid.testing.node-0
22+
overlay2: hybrid.testing.all-constructs
2223
monitoring_dashboard_file: ${{ github.workspace }}/deployments/monitoring/examples/output/dashboards/sequencer_node_dashboard.json
23-
cdk8s_sequencer_path: ${{ github.workspace }}/deployments/sequencer2
24+
cdk8s_sequencer_path: ${{ github.workspace }}/deployments/sequencer
2425

2526
steps:
2627
- name: Checkout sequencer
@@ -47,23 +48,30 @@ jobs:
4748
- name: CDk8s synth
4849
working-directory: ${{ env.cdk8s_sequencer_path }}
4950
run: |
51+
echo "Importing CDK8s Sequencer app..."
5052
cdk8s import
53+
echo "Installing pip dependencies..."
5154
pipenv install
52-
cdk8s synth --app "pipenv run python -m main --namespace ${{ env.namespace }} -l ${{ env.layout }} -o ${{ env.overlay }} --monitoring-dashboard-file ${{ env.monitoring_dashboard_file }} --cluster ${{ env.cluster }}"
55+
echo "Synthesizing CDK8s Sequencer app with overlay ${{ env.overlay }}..."
56+
cdk8s synth --app "pipenv run python -m main --namespace ${{ env.namespace }} -l ${{ env.layout }} -o ${{ env.overlay }} --monitoring-dashboard-file ${{ env.monitoring_dashboard_file }} --cluster ${{ env.cluster }}" --output dist1
57+
echo "Synthesizing CDK8s Sequencer app with overlay ${{ env.overlay2 }}..."
58+
cdk8s synth --app "pipenv run python -m main --namespace ${{ env.namespace }} -l ${{ env.layout }} -o ${{ env.overlay2 }} --monitoring-dashboard-file ${{ env.monitoring_dashboard_file }} --cluster ${{ env.cluster }}" --output dist2
5359
5460
- name: Upload artifacts
5561
uses: actions/upload-artifact@v4
5662
with:
5763
name: cdk8s-artifacts
5864
path: |
59-
${{ env.cdk8s_sequencer_path }}/dist
65+
${{ env.cdk8s_sequencer_path }}/dist1
66+
${{ env.cdk8s_sequencer_path }}/dist2
6067
${{ env.cdk8s_sequencer_path }}/resources
6168
6269
validate:
6370
runs-on: ubuntu-24.04
6471
needs: prepare
6572
env:
66-
dist_path: ./cdk8s-artifacts/dist
73+
dist1_path: ./cdk8s-artifacts/dist1
74+
dist2_path: ./cdk8s-artifacts/dist2
6775
crds_path: ./cdk8s-artifacts/resources/crds
6876
steps:
6977
- name: Setup go lang
@@ -82,25 +90,29 @@ jobs:
8290
merge-multiple: true
8391

8492
- name: kubectl validation test for version 1.27
85-
run: kubectl validate ${{ env.dist_path }} --local-crds ${{ env.crds_path }} --version 1.27
93+
run: kubectl validate ${{ env.dist1_path }} ${{ env.dist2_path }} --local-crds ${{ env.crds_path }} --version 1.27
8694
continue-on-error: true
8795

8896
- name: kubectl validation test for version 1.28
89-
run: kubectl validate ${{ env.dist_path }} --local-crds ${{ env.crds_path }} --version 1.28
97+
run: kubectl validate ${{ env.dist1_path }} ${{ env.dist2_path }} --local-crds ${{ env.crds_path }} --version 1.28
9098
continue-on-error: true
9199

92100
- name: kubectl validation test for version 1.29
93-
run: kubectl validate ${{ env.dist_path }} --local-crds ${{ env.crds_path }} --version 1.29
101+
run: kubectl validate ${{ env.dist1_path }} ${{ env.dist2_path }} --local-crds ${{ env.crds_path }} --version 1.29
94102
continue-on-error: false
95103

96104
- name: kubectl validation test for version 1.30
97-
run: kubectl validate ${{ env.dist_path }} --local-crds ${{ env.crds_path }} --version 1.30
105+
run: kubectl validate ${{ env.dist1_path }} ${{ env.dist2_path }} --local-crds ${{ env.crds_path }} --version 1.30
98106
continue-on-error: false
99107

100108
- name: kubectl validation test for version 1.31
101-
run: kubectl validate ${{ env.dist_path }} --local-crds ${{ env.crds_path }} --version 1.31
109+
run: kubectl validate ${{ env.dist1_path }} ${{ env.dist2_path }} --local-crds ${{ env.crds_path }} --version 1.31
102110
continue-on-error: false
103111

104112
- name: kubectl validation test for version 1.32
105-
run: kubectl validate ${{ env.dist_path }} --local-crds ${{ env.crds_path }} --version 1.32
113+
run: kubectl validate ${{ env.dist1_path }} ${{ env.dist2_path }} --local-crds ${{ env.crds_path }} --version 1.32
114+
continue-on-error: false
115+
116+
- name: kubectl validation test for version 1.33
117+
run: kubectl validate ${{ env.dist1_path }} ${{ env.dist2_path }} --local-crds ${{ env.crds_path }} --version 1.33
106118
continue-on-error: false

.github/workflows/sequencer_docker-test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010

1111
env:
1212
crate_triggers: "apollo_node,apollo_dashboard,apollo_integration_tests"
13-
path_triggers: ".github/workflows/sequencer_docker-test.yml,scripts/*.py,scripts/system_tests/**/*.py"
13+
path_triggers: ".github/workflows/sequencer_docker-test.yml,scripts/*.py,scripts/system_tests/**/*.py,deployments/images/**"
1414
path_triggers_exclude: "scripts/prod/**/*"
1515

1616
permissions:

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ __pycache__/
3838
scripts/__pycache__
3939
monitoring_venv/
4040

41+
# echonet deploy-time generated bundle for kustomize
42+
echonet/k8s/echonet/generated/
43+
4144
# Papyrus p2p sync test artifacts.
4245
scripts/papyrus/p2p_sync_e2e_test/data_client/
4346
scripts/papyrus/p2p_sync_e2e_test/data_server/

Cargo.lock

Lines changed: 11 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/apollo_base_layer_tests/Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ version.workspace = true
44
edition.workspace = true
55
repository.workspace = true
66
license.workspace = true
7+
description = "Testing utilities for L1 (Ethereum) base layer interactions."
78

89
[features]
910

@@ -12,6 +13,7 @@ workspace = true
1213

1314
[dependencies]
1415
alloy.workspace = true
16+
apollo_config.workspace = true
1517
async-trait.workspace = true
1618
colored.workspace = true
1719
papyrus_base_layer = { workspace = true, features = ["testing"] }

0 commit comments

Comments
 (0)