Skip to content

Commit 672c076

Browse files
kevaundraymichaelsproulantondlrchong-hehopinheimer
authored
chore: merge unstable into sel-alternative (#19)
* Optimise `state_root_at_slot` for finalized slot (sigp#8353) This is an optimisation targeted at Fulu networks in non-finality. While debugging on Holesky, we found that `state_root_at_slot` was being called from `prepare_beacon_proposer` a lot, for the finalized state: https://github.com/sigp/lighthouse/blob/2c9b670f5d313450252c6cb40a5ee34802d54fef/beacon_node/http_api/src/lib.rs#L3860-L3861 This was causing `prepare_beacon_proposer` calls to take upwards of 5 seconds, sometimes 10 seconds, because it would trigger _multiple_ beacon state loads in order to iterate back to the finalized slot. Ideally, loading the finalized state should be quick because we keep it cached in the state cache (technically we keep the split state, but they usually coincide). Instead we are computing the finalized state root separately (slow), and then loading the state from the cache (fast). Although it would be possible to make the API faster by removing the `state_root_at_slot` call, I believe it's simpler to change `state_root_at_slot` itself and remove the footgun. Devs rightly expect operations involving the finalized state to be fast. Co-Authored-By: Michael Sproul <michael@sigmaprime.io> * Remove Windows CI jobs (sigp#8362) Remove all Windows-related CI jobs Co-Authored-By: antondlr <anton@sigmaprime.io> * Update proposer-only section in the documentation (sigp#8358) Co-Authored-By: Tan Chee Keong <tanck@sigmaprime.io> Co-Authored-By: Michael Sproul <michaelsproul@users.noreply.github.com> * Fix unaggregated delay metric (sigp#8366) while working on this sigp#7892 @michaelsproul pointed it might be a good metric to measure the delay from start of the slot instead of the current `slot_duration / 3`, since the attestations duties start before the `1/3rd` mark now with the change in the link PR. Co-Authored-By: hopinheimer <knmanas6@gmail.com> Co-Authored-By: hopinheimer <48147533+hopinheimer@users.noreply.github.com> * Downgrade and remove unnecessary logs (sigp#8367) ### Downgrade a non error to `Debug` I noticed this error on one of our hoodi nodes: ``` Nov 04 05:13:38.892 ERROR Error during data column reconstruction block_root: 0x4271b9efae7deccec3989bd2418e998b83ce8144210c2b17200abb62b7951190, error: DuplicateFullyImported(0x4271b9efae7deccec3989bd2418e998b83ce8144210c2b17200abb62b7951190) ``` This shouldn't be logged as an error and it's due to a normal race condition, and it doesn't impact the node negatively. ### Remove spammy logs This logs is filling up the log files quite quickly and it is also something we'd expect during normal operation - getting columns via EL before gossip. We haven't found this debug log to be useful, so I propose we remove it to avoid spamming debug logs. ``` Received already available column sidecar. Ignoring the column sidecar ``` In the process of removing this, I noticed we aren't propagating the validation result, which I think we should so I've added this. The impact should be quite minimal - the message will stay in the gossip memcache for a bit longer but should be evicted in the next heartbeat. Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com> * Prepare `sensitive_url` for `crates.io` (sigp#8223) Another good candidate for publishing separately from Lighthouse is `sensitive_url` as it's a general utility crate and not related to Ethereum. This PR prepares it to be spun out into its own crate. I've made the `full` field on `SensitiveUrl` private and instead provided an explicit getter called `.expose_full()`. It's a bit ugly for the diff but I prefer the explicit nature of the getter. I've also added some extra tests and doc strings along with feature gating `Serialize` and `Deserialize` implementations behind the `serde` feature. Co-Authored-By: Mac L <mjladson@pm.me> * Remove ecdsa feature of libp2p (sigp#8374) This compiles, is there any reason to keep `ecdsa`? CC @jxs Co-Authored-By: Michael Sproul <michael@sigmaprime.io> * CI workflows to use warpbuild ci runner (sigp#8343) Self hosted GitHub Runners review and improvements local testnet workflow now uses warpbuild ci runner Co-Authored-By: lemon <snyxmk@gmail.com> Co-Authored-By: antondlr <anton@sigmaprime.io> * Remove `sensitive_url` and import from `crates.io` (sigp#8377) Use the recently published `sensitive_url` and remove it from Lighthouse Co-Authored-By: Mac L <mjladson@pm.me> * Migrate derivative to educe (sigp#8125) Fixes sigp#7001. Mostly mechanical replacement of `derivative` attributes with `educe` ones. ### **Attribute Syntax Changes** ```rust // Bounds: = "..." → (...) #[derivative(Hash(bound = "E: EthSpec"))] #[educe(Hash(bound(E: EthSpec)))] // Ignore: = "ignore" → (ignore) #[derivative(PartialEq = "ignore")] #[educe(PartialEq(ignore))] // Default values: value = "..." → expression = ... #[derivative(Default(value = "ForkName::Base"))] #[educe(Default(expression = ForkName::Base))] // Methods: format_with/compare_with = "..." → method(...) #[derivative(Debug(format_with = "fmt_peer_set_as_len"))] #[educe(Debug(method(fmt_peer_set_as_len)))] // Empty bounds: removed entirely, educe can infer appropriate bounds #[derivative(Default(bound = ""))] #[educe(Default)] // Transparent debug: manual implementation (educe doesn't support it) #[derivative(Debug = "transparent")] // Replaced with manual Debug impl that delegates to inner field ``` **Note**: Some bounds use strings (`bound("E: EthSpec")`) for superstruct compatibility (`expected ','` errors). Co-Authored-By: Javier Chávarri <javier.chavarri@gmail.com> Co-Authored-By: Mac L <mjladson@pm.me> * Fix flaky reconstruction test (sigp#8321) FIx flaky tests that depends on timing. Previously the test processes all 128 columns and expect reconstruction to happen after all columns are processed. There is a race here, and reconstruction could be triggered before all columns are processed. I've updated the tests to process 64 columns, just enough for reconstruction and wait for 50ms for reconstruction to be triggered. This PR requires the change made in sigp#8194 for the test to pass consistently (blob count set to 1 for all blocks instead of random blob count between 0..max) Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com> Co-Authored-By: Jimmy Chen <jimmy@sigmaprime.io> * Remove `ethers-core` from `execution_layer` (sigp#8149) sigp#6022 Use `alloy_rpc_types::Transaction` to replace the `ethers_core::Transaction` inside the execution block generator. Co-Authored-By: Mac L <mjladson@pm.me> * Include block root in publish block logs (sigp#8111) Debugging sigp#8104 it would have been helpful to quickly see in the logs that a specific block was submitted into the HTTP API. Because we want to optimize the block root computation we don't include it in the logs, and just log the block slot. I believe we can take a minute performance hit to have the block root in all the logs during block publishing. Co-Authored-By: dapplion <35266934+dapplion@users.noreply.github.com> Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com> * fix: clarify `bb` vs `bl` variable names in BeaconProcessorQueue (sigp#8315) since block and blob both start with `bl`, it was not clear how to differentiate between `blbroots_queue` and `bbroots_queue` After renaming, there also seems to be a discrepancy Co-Authored-By: Kevaundray Wedderburn <kevtheappdev@gmail.com> * Migrate the `deposit_contract` crate to `alloy` (sigp#8139) sigp#6022 Switches the `deposit_contract` crate to use the `alloy` ecosystem and removes the dependency on `ethabi` Co-Authored-By: Mac L <mjladson@pm.me> --------- Co-authored-by: Michael Sproul <michaelsproul@users.noreply.github.com> Co-authored-by: Michael Sproul <michael@sigmaprime.io> Co-authored-by: antondlr <anton@sigmaprime.io> Co-authored-by: chonghe <44791194+chong-he@users.noreply.github.com> Co-authored-by: hopinheimer <48147533+hopinheimer@users.noreply.github.com> Co-authored-by: Jimmy Chen <jimmy@sigmaprime.io> Co-authored-by: Jimmy Chen <jchen.tc@gmail.com> Co-authored-by: Mac L <mjladson@pm.me> Co-authored-by: lmnzx <snyxmk@gmail.com> Co-authored-by: Javier Chávarri <javier.chavarri@gmail.com> Co-authored-by: Lion - dapplion <35266934+dapplion@users.noreply.github.com>
1 parent 3680ba9 commit 672c076

File tree

91 files changed

+1052
-1015
lines changed

Some content is hidden

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

91 files changed

+1052
-1015
lines changed

.github/workflows/local-testnet.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ concurrency:
1414

1515
jobs:
1616
dockerfile-ubuntu:
17-
runs-on: ${{ github.repository == 'sigp/lighthouse' && fromJson('["self-hosted", "linux", "CI", "large"]') || 'ubuntu-latest' }}
17+
runs-on: ${{ github.repository == 'sigp/lighthouse' && 'warp-ubuntu-latest-x64-8x' || 'ubuntu-latest' }}
1818
steps:
1919
- uses: actions/checkout@v5
2020

@@ -31,7 +31,7 @@ jobs:
3131
retention-days: 3
3232

3333
run-local-testnet:
34-
runs-on: ubuntu-22.04
34+
runs-on: ${{ github.repository == 'sigp/lighthouse' && 'warp-ubuntu-latest-x64-8x' || 'ubuntu-latest' }}
3535
needs: dockerfile-ubuntu
3636
steps:
3737
- uses: actions/checkout@v5
@@ -89,7 +89,7 @@ jobs:
8989
${{ steps.assertoor_test_result.outputs.failed_test_details }}
9090
EOF
9191
)
92-
92+
9393
echo "Test Result: $test_result"
9494
echo "$test_status"
9595
if ! [ "$test_result" == "success" ]; then
@@ -100,7 +100,7 @@ jobs:
100100
101101
doppelganger-protection-success-test:
102102
needs: dockerfile-ubuntu
103-
runs-on: ubuntu-22.04
103+
runs-on: ubuntu-latest
104104
steps:
105105
- uses: actions/checkout@v5
106106

@@ -136,7 +136,7 @@ jobs:
136136

137137
doppelganger-protection-failure-test:
138138
needs: dockerfile-ubuntu
139-
runs-on: ubuntu-22.04
139+
runs-on: ubuntu-latest
140140
steps:
141141
- uses: actions/checkout@v5
142142

@@ -173,7 +173,7 @@ jobs:
173173
# Tests checkpoint syncing to a live network (current fork) and a running devnet (usually next scheduled fork)
174174
checkpoint-sync-test:
175175
name: checkpoint-sync-test-${{ matrix.network }}
176-
runs-on: ubuntu-latest
176+
runs-on: ${{ github.repository == 'sigp/lighthouse' && 'warp-ubuntu-latest-x64-8x' || 'ubuntu-latest' }}
177177
needs: dockerfile-ubuntu
178178
if: contains(github.event.pull_request.labels.*.name, 'syncing')
179179
continue-on-error: true
@@ -216,7 +216,7 @@ jobs:
216216
# Test syncing from genesis on a local testnet. Aims to cover forward syncing both short and long distances.
217217
genesis-sync-test:
218218
name: genesis-sync-test-${{ matrix.fork }}-${{ matrix.offline_secs }}s
219-
runs-on: ubuntu-latest
219+
runs-on: ${{ github.repository == 'sigp/lighthouse' && 'warp-ubuntu-latest-x64-8x' || 'ubuntu-latest' }}
220220
needs: dockerfile-ubuntu
221221
strategy:
222222
matrix:
@@ -259,7 +259,7 @@ jobs:
259259
# a PR is safe to merge. New jobs should be added here.
260260
local-testnet-success:
261261
name: local-testnet-success
262-
runs-on: ubuntu-latest
262+
runs-on: ${{ github.repository == 'sigp/lighthouse' && 'warp-ubuntu-latest-x64-8x' || 'ubuntu-latest' }}
263263
needs: [
264264
'dockerfile-ubuntu',
265265
'run-local-testnet',
@@ -272,4 +272,4 @@ jobs:
272272
- name: Check that success job is dependent on all others
273273
run: |
274274
exclude_jobs='checkpoint-sync-test'
275-
./scripts/ci/check-success-job.sh ./.github/workflows/local-testnet.yml local-testnet-success "$exclude_jobs"
275+
./scripts/ci/check-success-job.sh ./.github/workflows/local-testnet.yml local-testnet-success "$exclude_jobs"

.github/workflows/release.yml

Lines changed: 1 addition & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@ jobs:
3232
matrix:
3333
arch: [aarch64-unknown-linux-gnu,
3434
x86_64-unknown-linux-gnu,
35-
aarch64-apple-darwin,
36-
x86_64-windows]
35+
aarch64-apple-darwin]
3736
include:
3837
- arch: aarch64-unknown-linux-gnu
3938
runner: ${{ github.repository == 'sigp/lighthouse' && fromJson('["self-hosted", "linux", "release", "large"]') || 'ubuntu-latest' }}
@@ -44,9 +43,6 @@ jobs:
4443
- arch: aarch64-apple-darwin
4544
runner: macos-14
4645
profile: maxperf
47-
- arch: x86_64-windows
48-
runner: ${{ github.repository == 'sigp/lighthouse' && fromJson('["self-hosted", "windows", "release"]') || 'windows-2019' }}
49-
profile: maxperf
5046

5147
runs-on: ${{ matrix.runner }}
5248
needs: extract-version
@@ -57,19 +53,6 @@ jobs:
5753
if: env.SELF_HOSTED_RUNNERS == 'false'
5854
run: rustup update stable
5955

60-
# ==============================
61-
# Windows dependencies
62-
# ==============================
63-
64-
- uses: KyleMayes/install-llvm-action@v1
65-
if: env.SELF_HOSTED_RUNNERS == 'false' && startsWith(matrix.arch, 'x86_64-windows')
66-
with:
67-
version: "17.0"
68-
directory: ${{ runner.temp }}/llvm
69-
- name: Set LIBCLANG_PATH
70-
if: startsWith(matrix.arch, 'x86_64-windows')
71-
run: echo "LIBCLANG_PATH=$((gcm clang).source -replace "clang.exe")" >> $env:GITHUB_ENV
72-
7356
# ==============================
7457
# Builds
7558
# ==============================
@@ -94,12 +77,7 @@ jobs:
9477
if: matrix.arch == 'aarch64-apple-darwin'
9578
run: cargo install --path lighthouse --force --locked --features portable,gnosis --profile ${{ matrix.profile }}
9679

97-
- name: Build Lighthouse for Windows
98-
if: matrix.arch == 'x86_64-windows'
99-
run: cargo install --path lighthouse --force --locked --features portable,gnosis --profile ${{ matrix.profile }}
100-
10180
- name: Configure GPG and create artifacts
102-
if: startsWith(matrix.arch, 'x86_64-windows') != true
10381
env:
10482
GPG_SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY }}
10583
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
@@ -118,20 +96,6 @@ jobs:
11896
done
11997
mv *tar.gz* ..
12098
121-
- name: Configure GPG and create artifacts Windows
122-
if: startsWith(matrix.arch, 'x86_64-windows')
123-
env:
124-
GPG_SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY }}
125-
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
126-
run: |
127-
echo $env:GPG_SIGNING_KEY | gpg --batch --import
128-
mkdir artifacts
129-
move $env:USERPROFILE/.cargo/bin/lighthouse.exe ./artifacts
130-
cd artifacts
131-
tar -czf lighthouse-${{ needs.extract-version.outputs.VERSION }}-${{ matrix.arch }}.tar.gz lighthouse.exe
132-
gpg --passphrase "$env:GPG_PASSPHRASE" --batch --pinentry-mode loopback -ab lighthouse-${{ needs.extract-version.outputs.VERSION }}-${{ matrix.arch }}.tar.gz
133-
move *tar.gz* ..
134-
13599
# =======================================================================
136100
# Upload artifacts
137101
# This is required to share artifacts between different jobs
@@ -239,7 +203,6 @@ jobs:
239203
| <picture> <source media="(prefers-color-scheme: dark)" srcset="https://cdn.simpleicons.org/apple/white" > <source media="(prefers-color-scheme: light)" srcset="https://cdn.simpleicons.org/apple" ><img src="https://cdn.simpleicons.org/apple" width="32" alt="Apple logo"> </picture> | aarch64 | [lighthouse-${{ env.VERSION }}-aarch64-apple-darwin.tar.gz](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/lighthouse-${{ env.VERSION }}-aarch64-apple-darwin.tar.gz) | [PGP Signature](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/lighthouse-${{ env.VERSION }}-aarch64-apple-darwin.tar.gz.asc) |
240204
| <picture> <source media="(prefers-color-scheme: dark)" srcset="https://cdn.simpleicons.org/linux/white" > <source media="(prefers-color-scheme: light)" srcset="https://cdn.simpleicons.org/linux/black" ><img src="https://cdn.simpleicons.org/linux" width="32" alt="Linux logo"> </picture> | x86_64 | [lighthouse-${{ env.VERSION }}-x86_64-unknown-linux-gnu.tar.gz](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/lighthouse-${{ env.VERSION }}-x86_64-unknown-linux-gnu.tar.gz) | [PGP Signature](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/lighthouse-${{ env.VERSION }}-x86_64-unknown-linux-gnu.tar.gz.asc) |
241205
| <picture> <source media="(prefers-color-scheme: dark)" srcset="https://cdn.simpleicons.org/raspberrypi/white" > <source media="(prefers-color-scheme: light)" srcset="https://cdn.simpleicons.org/raspberrypi/black" > <img src="https://cdn.simpleicons.org/raspberrypi" width="32" alt="Raspberrypi logo"> </picture> | aarch64 | [lighthouse-${{ env.VERSION }}-aarch64-unknown-linux-gnu.tar.gz](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/lighthouse-${{ env.VERSION }}-aarch64-unknown-linux-gnu.tar.gz) | [PGP Signature](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/lighthouse-${{ env.VERSION }}-aarch64-unknown-linux-gnu.tar.gz.asc) |
242-
| <picture> <source media="(prefers-color-scheme: dark)" srcset="https://upload.wikimedia.org/wikipedia/commons/8/87/Windows_logo_-_2021.svg"> <source media="(prefers-color-scheme: light)" srcset="https://upload.wikimedia.org/wikipedia/commons/c/c4/Windows_logo_-_2021_%28Black%29.svg"> <img src="https://upload.wikimedia.org/wikipedia/commons/c/c4/Windows_logo_-_2021_%28Black%29.svg" width="32" alt="Windows logo"> </picture> | x86_64 | [lighthouse-${{ env.VERSION }}-x86_64-windows.tar.gz](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/lighthouse-${{ env.VERSION }}-x86_64-windows.tar.gz) | [PGP Signature](https://github.com/${{ env.REPO_NAME }}/releases/download/${{ env.VERSION }}/lighthouse-${{ env.VERSION }}-x86_64-windows.tar.gz.asc) |
243206
| | | | |
244207
| **System** | **Option** | - | **Resource** |
245208
| <picture> <source media="(prefers-color-scheme: dark)" srcset="https://cdn.simpleicons.org/docker/white" > <source media="(prefers-color-scheme: light)" srcset="https://cdn.simpleicons.org/docker/black" > <img src="https://cdn.simpleicons.org/docker/black" width="32" alt="Docker logo"></picture> | Docker | [${{ env.VERSION }}](https://hub.docker.com/r/${{ env.IMAGE_NAME }}/tags?page=1&ordering=last_updated&name=${{ env.VERSION }}) | [${{ env.IMAGE_NAME }}](https://hub.docker.com/r/${{ env.IMAGE_NAME }}) |

.github/workflows/test-suite.yml

Lines changed: 6 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,6 @@ env:
2222
# NOTE: this token is a personal access token on Jimmy's account due to the default GITHUB_TOKEN
2323
# not having access to other repositories. We should eventually devise a better solution here.
2424
LIGHTHOUSE_GITHUB_TOKEN: ${{ secrets.LIGHTHOUSE_GITHUB_TOKEN }}
25-
# Enable self-hosted runners for the sigp repo only.
26-
SELF_HOSTED_RUNNERS: ${{ github.repository == 'sigp/lighthouse' }}
2725
# Disable incremental compilation
2826
CARGO_INCREMENTAL: 0
2927
# Enable portable to prevent issues with caching `blst` for the wrong CPU type
@@ -78,8 +76,7 @@ jobs:
7876
name: release-tests-ubuntu
7977
needs: [check-labels]
8078
if: needs.check-labels.outputs.skip_ci != 'true'
81-
# Use self-hosted runners only on the sigp repo.
82-
runs-on: ${{ github.repository == 'sigp/lighthouse' && fromJson('["self-hosted", "linux", "CI", "large"]') || 'ubuntu-latest' }}
79+
runs-on: ${{ github.repository == 'sigp/lighthouse' && 'warp-ubuntu-latest-x64-8x' || 'ubuntu-latest' }}
8380
steps:
8481
- uses: actions/checkout@v5
8582
# Set Java version to 21. (required since Web3Signer 24.12.0).
@@ -88,7 +85,6 @@ jobs:
8885
distribution: 'temurin'
8986
java-version: '21'
9087
- name: Get latest version of stable Rust
91-
if: env.SELF_HOSTED_RUNNERS == 'false'
9288
uses: moonrepo/setup-rust@v1
9389
with:
9490
channel: stable
@@ -97,7 +93,6 @@ jobs:
9793
env:
9894
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
9995
- name: Install Foundry (anvil)
100-
if: env.SELF_HOSTED_RUNNERS == 'false'
10196
uses: foundry-rs/foundry-toolchain@v1
10297
with:
10398
version: nightly-ca67d15f4abd46394b324c50e21e66f306a1162d
@@ -107,84 +102,40 @@ jobs:
107102
if: env.SELF_HOSTED_RUNNERS == 'true'
108103
continue-on-error: true
109104
run: sccache --show-stats
110-
release-tests-windows:
111-
name: release-tests-windows
112-
needs: [check-labels]
113-
if: needs.check-labels.outputs.skip_ci != 'true'
114-
runs-on: ${{ github.repository == 'sigp/lighthouse' && fromJson('["self-hosted", "windows", "CI"]') || 'windows-2019' }}
115-
steps:
116-
- uses: actions/checkout@v5
117-
- name: Get latest version of stable Rust
118-
if: env.SELF_HOSTED_RUNNERS == 'false'
119-
uses: moonrepo/setup-rust@v1
120-
with:
121-
channel: stable
122-
cache-target: release
123-
bins: cargo-nextest
124-
env:
125-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
126-
- name: Install Foundry (anvil)
127-
if: env.SELF_HOSTED_RUNNERS == 'false'
128-
uses: foundry-rs/foundry-toolchain@v1
129-
with:
130-
version: nightly-ca67d15f4abd46394b324c50e21e66f306a1162d
131-
- name: Install make
132-
if: env.SELF_HOSTED_RUNNERS == 'false'
133-
run: choco install -y make
134-
- name: Set LIBCLANG_PATH
135-
run: echo "LIBCLANG_PATH=$((gcm clang).source -replace "clang.exe")" >> $env:GITHUB_ENV
136-
- name: Run tests in release
137-
run: make test-release
138-
- name: Show cache stats
139-
if: env.SELF_HOSTED_RUNNERS == 'true'
140-
continue-on-error: true
141-
run: sccache --show-stats
142105
beacon-chain-tests:
143106
name: beacon-chain-tests
144107
needs: [check-labels]
145108
if: needs.check-labels.outputs.skip_ci != 'true'
146-
# Use self-hosted runners only on the sigp repo.
147-
runs-on: ${{ github.repository == 'sigp/lighthouse' && fromJson('["self-hosted", "linux", "CI", "large"]') || 'ubuntu-latest' }}
109+
runs-on: ${{ github.repository == 'sigp/lighthouse' && 'warp-ubuntu-latest-x64-8x' || 'ubuntu-latest' }}
148110
env:
149111
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
150112
steps:
151113
- uses: actions/checkout@v5
152114
- name: Get latest version of stable Rust
153-
if: env.SELF_HOSTED_RUNNERS == 'false'
154115
uses: moonrepo/setup-rust@v1
155116
with:
156117
channel: stable
157118
cache-target: release
158119
bins: cargo-nextest
159120
- name: Run beacon_chain tests for all known forks
160121
run: make test-beacon-chain
161-
- name: Show cache stats
162-
if: env.SELF_HOSTED_RUNNERS == 'true'
163-
continue-on-error: true
164-
run: sccache --show-stats
165122
http-api-tests:
166123
name: http-api-tests
167124
needs: [check-labels]
168125
if: needs.check-labels.outputs.skip_ci != 'true'
169-
# Use self-hosted runners only on the sigp repo.
170-
runs-on: ${{ github.repository == 'sigp/lighthouse' && fromJson('["self-hosted", "linux", "CI", "large"]') || 'ubuntu-latest' }}
126+
runs-on: ${{ github.repository == 'sigp/lighthouse' && 'warp-ubuntu-latest-x64-8x' || 'ubuntu-latest' }}
171127
env:
172128
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
173129
steps:
174130
- uses: actions/checkout@v5
175131
- name: Get latest version of stable Rust
176-
if: env.SELF_HOSTED_RUNNERS == 'false'
177132
uses: moonrepo/setup-rust@v1
178133
with:
179134
channel: stable
180135
cache-target: release
181136
bins: cargo-nextest
182137
- name: Run http_api tests for all recent forks
183138
run: make test-http-api
184-
- name: Show cache stats
185-
if: env.SELF_HOSTED_RUNNERS == 'true'
186-
continue-on-error: true
187-
run: sccache --show-stats
188139
op-pool-tests:
189140
name: op-pool-tests
190141
needs: [check-labels]
@@ -252,29 +203,22 @@ jobs:
252203
name: debug-tests-ubuntu
253204
needs: [check-labels]
254205
if: needs.check-labels.outputs.skip_ci != 'true'
255-
# Use self-hosted runners only on the sigp repo.
256-
runs-on: ${{ github.repository == 'sigp/lighthouse' && fromJson('["self-hosted", "linux", "CI", "large"]') || 'ubuntu-latest' }}
206+
runs-on: ${{ github.repository == 'sigp/lighthouse' && 'warp-ubuntu-latest-x64-8x' || 'ubuntu-latest' }}
257207
env:
258208
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
259209
steps:
260210
- uses: actions/checkout@v5
261211
- name: Get latest version of stable Rust
262-
if: env.SELF_HOSTED_RUNNERS == 'false'
263212
uses: moonrepo/setup-rust@v1
264213
with:
265214
channel: stable
266215
bins: cargo-nextest
267216
- name: Install Foundry (anvil)
268-
if: env.SELF_HOSTED_RUNNERS == 'false'
269217
uses: foundry-rs/foundry-toolchain@v1
270218
with:
271219
version: nightly-ca67d15f4abd46394b324c50e21e66f306a1162d
272220
- name: Run tests in debug
273221
run: make test-debug
274-
- name: Show cache stats
275-
if: env.SELF_HOSTED_RUNNERS == 'true'
276-
continue-on-error: true
277-
run: sccache --show-stats
278222
state-transition-vectors-ubuntu:
279223
name: state-transition-vectors-ubuntu
280224
needs: [check-labels]
@@ -293,25 +237,19 @@ jobs:
293237
name: ef-tests-ubuntu
294238
needs: [check-labels]
295239
if: needs.check-labels.outputs.skip_ci != 'true'
296-
# Use self-hosted runners only on the sigp repo.
297-
runs-on: ${{ github.repository == 'sigp/lighthouse' && fromJson('["self-hosted", "linux", "CI", "small"]') || 'ubuntu-latest' }}
240+
runs-on: ${{ github.repository == 'sigp/lighthouse' && 'warp-ubuntu-latest-x64-8x' || 'ubuntu-latest' }}
298241
env:
299242
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
300243
steps:
301244
- uses: actions/checkout@v5
302245
- name: Get latest version of stable Rust
303-
if: env.SELF_HOSTED_RUNNERS == 'false'
304246
uses: moonrepo/setup-rust@v1
305247
with:
306248
channel: stable
307249
cache-target: release
308250
bins: cargo-nextest
309251
- name: Run consensus-spec-tests with blst and fake_crypto
310252
run: make test-ef
311-
- name: Show cache stats
312-
if: env.SELF_HOSTED_RUNNERS == 'true'
313-
continue-on-error: true
314-
run: sccache --show-stats
315253
basic-simulator-ubuntu:
316254
name: basic-simulator-ubuntu
317255
needs: [check-labels]
@@ -360,21 +298,17 @@ jobs:
360298
name: execution-engine-integration-ubuntu
361299
needs: [check-labels]
362300
if: needs.check-labels.outputs.skip_ci != 'true'
363-
runs-on: ${{ github.repository == 'sigp/lighthouse' && fromJson('["self-hosted", "linux", "CI", "small"]') || 'ubuntu-latest' }}
301+
runs-on: ${{ github.repository == 'sigp/lighthouse' && 'warp-ubuntu-latest-x64-8x' || 'ubuntu-latest' }}
364302
steps:
365303
- uses: actions/checkout@v5
366304
- name: Get latest version of stable Rust
367-
if: env.SELF_HOSTED_RUNNERS == 'false'
368305
uses: moonrepo/setup-rust@v1
369306
with:
370307
channel: stable
371308
cache-target: release
372309
cache: false
373310
env:
374311
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
375-
- name: Add go compiler to $PATH
376-
if: env.SELF_HOSTED_RUNNERS == 'true'
377-
run: echo "/usr/local/go/bin" >> $GITHUB_PATH
378312
- name: Run exec engine integration tests in release
379313
run: make test-exec-engine
380314
check-code:
@@ -501,7 +435,6 @@ jobs:
501435
'check-labels',
502436
'target-branch-check',
503437
'release-tests-ubuntu',
504-
'release-tests-windows',
505438
'beacon-chain-tests',
506439
'op-pool-tests',
507440
'network-tests',

0 commit comments

Comments
 (0)