Skip to content

Commit 7fec49d

Browse files
Merge pull request #11457 from starkware-libs/andrew/merge-main-v0.14.1-committer-into-main-1767705801
Merge main-v0.14.1-committer into main
2 parents aca6f48 + 351ea7d commit 7fec49d

File tree

545 files changed

+35850
-48681
lines changed

Some content is hidden

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

545 files changed

+35850
-48681
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: 2 additions & 2 deletions
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:
@@ -30,4 +30,4 @@ runs:
3030
- name: Install Anvil
3131
uses: foundry-rs/foundry-toolchain@v1
3232
with:
33-
version: v0.3.0
33+
version: v1.5.1

.github/workflows/committer_ci.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ on:
1515
- "crates/starknet_api/**"
1616
- "crates/starknet_committer/**"
1717
- "crates/starknet_patricia/**"
18-
- "scripts/dependencies.sh"
1918

2019
env:
2120
RUSTFLAGS: "-D warnings"

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

Lines changed: 14 additions & 9 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/**,deployments/sequencer/**,deployments/images/**"
2222
path_triggers_exclude: "scripts/prod/**/*"
2323
pvc_storage_class_name: "premium-rwo"
2424
anvil_port: "8545"
@@ -102,6 +102,7 @@ jobs:
102102
needs:
103103
- build_docker_images
104104
runs-on: namespace-profile-large-ubuntu-24-04-amd64
105+
timeout-minutes: 45
105106
steps:
106107
- name: Checkout repository
107108
uses: actions/checkout@v4
@@ -269,7 +270,7 @@ jobs:
269270
- name: Install Anvil
270271
uses: foundry-rs/foundry-toolchain@v1
271272
with:
272-
version: v0.3.0
273+
version: v1.5.1
273274

274275
- name: Restore executable permissions
275276
run: chmod +x ./target/debug/sequencer_node_setup ./target/debug/sequencer_simulator
@@ -278,15 +279,15 @@ jobs:
278279
run: ./target/debug/sequencer_node_setup --output-base-dir ./output --data-prefix-path /data --n-consolidated 1 --n-hybrid 0 --n-distributed 0
279280

280281
- name: Generate k8s manifests
281-
working-directory: deployments/sequencer2
282+
working-directory: deployments/sequencer
282283
run: |
283284
pipenv install
284285
cdk8s import
285286
echo "Generating Kubernetes manifests using hybrid layout"
286287
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 }}"
287288
288289
- name: Deploy Sequencer
289-
working-directory: deployments/sequencer2
290+
working-directory: deployments/sequencer
290291
run: |
291292
echo "Deploying Sequencer..."
292293
kubectl create namespace ${{ env.namespace }}
@@ -296,22 +297,26 @@ jobs:
296297
run: kubectl config set-context --current --namespace ${{ env.namespace }}
297298

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

301302
- name: Test sequencer is alive
302303
env:
303304
initial_delay_sec: 10
304305
check_interval_sec: 2
305306
check_timeout_sec: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.liveness_test_duration_sec || 10 }}
306307
run: |
307-
pipenv run python ./scripts/system_tests/liveness_check2.py \
308+
pipenv run python ./scripts/system_tests/liveness_check.py \
308309
--namespace ${{ env.namespace }} \
309310
--layout ${{ env.layout }} \
311+
--overlay ${{ env.overlay }} \
310312
--timeout ${{ env.check_timeout_sec }} \
311313
--interval ${{ env.check_interval_sec }}
312314
313315
- 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"
316+
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"
317+
318+
- name: Run readiness check
319+
run: pipenv run python ./scripts/system_tests/readiness_check.py --layout ${{ env.layout }} --overlay ${{ env.overlay }} --namespace ${{ env.namespace }}
315320

316321
- name: Port-forward Anvil pod to localhost:${{ env.anvil_port }}
317322
run: |
@@ -335,7 +340,7 @@ jobs:
335340
env:
336341
RUST_LOG: debug
337342
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 }}"
343+
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 }}"
339344

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

.github/workflows/main.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ concurrency:
3333
jobs:
3434
code_style:
3535
runs-on: namespace-profile-medium-ubuntu-24-04-amd64
36+
timeout-minutes: 30
3637
steps:
3738
# Environment setup.
3839
- uses: actions/checkout@v4
@@ -100,6 +101,7 @@ jobs:
100101

101102
run-workspace-tests:
102103
runs-on: namespace-profile-medium-ubuntu-24-04-amd64
104+
timeout-minutes: 30
103105
steps:
104106
- uses: actions/checkout@v4
105107
- uses: ./.github/actions/bootstrap
@@ -109,6 +111,7 @@ jobs:
109111

110112
run-tests:
111113
runs-on: namespace-profile-xlarge-ubuntu-24-04-amd64
114+
timeout-minutes: 45
112115
steps:
113116
- uses: actions/checkout@v4
114117
with:
@@ -147,6 +150,7 @@ jobs:
147150

148151
run-integration-tests:
149152
runs-on: namespace-profile-large-ubuntu-24-04-amd64
153+
timeout-minutes: 45
150154
steps:
151155
- uses: actions/checkout@v4
152156
with:

.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: 2 additions & 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:
@@ -62,6 +62,7 @@ jobs:
6262
needs: check-docker-test-trigger
6363
if: needs.check-docker-test-trigger.outputs.should_run == 'true'
6464
runs-on: namespace-profile-2xlarge-ubuntu-24-04-amd64-local-builder
65+
timeout-minutes: 45
6566
env:
6667
MONITORING_ENABLED: false
6768
SIMULATOR_RUN_FOREVER: false

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ __pycache__/
4444
scripts/__pycache__
4545
monitoring_venv/
4646

47+
# echonet deploy-time generated bundle for kustomize
48+
echonet/k8s/echonet/generated/
49+
4750
# Papyrus p2p sync test artifacts.
4851
scripts/papyrus/p2p_sync_e2e_test/data_client/
4952
scripts/papyrus/p2p_sync_e2e_test/data_server/

0 commit comments

Comments
 (0)