mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-03 00:31:50 +00:00
CI workflows to use warpbuild ci runner (#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>
This commit is contained in:
18
.github/workflows/local-testnet.yml
vendored
18
.github/workflows/local-testnet.yml
vendored
@@ -14,7 +14,7 @@ concurrency:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
dockerfile-ubuntu:
|
dockerfile-ubuntu:
|
||||||
runs-on: ${{ github.repository == 'sigp/lighthouse' && fromJson('["self-hosted", "linux", "CI", "large"]') || 'ubuntu-latest' }}
|
runs-on: ${{ github.repository == 'sigp/lighthouse' && 'warp-ubuntu-latest-x64-8x' || 'ubuntu-latest' }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v5
|
||||||
|
|
||||||
@@ -31,7 +31,7 @@ jobs:
|
|||||||
retention-days: 3
|
retention-days: 3
|
||||||
|
|
||||||
run-local-testnet:
|
run-local-testnet:
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ${{ github.repository == 'sigp/lighthouse' && 'warp-ubuntu-latest-x64-8x' || 'ubuntu-latest' }}
|
||||||
needs: dockerfile-ubuntu
|
needs: dockerfile-ubuntu
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v5
|
||||||
@@ -89,7 +89,7 @@ jobs:
|
|||||||
${{ steps.assertoor_test_result.outputs.failed_test_details }}
|
${{ steps.assertoor_test_result.outputs.failed_test_details }}
|
||||||
EOF
|
EOF
|
||||||
)
|
)
|
||||||
|
|
||||||
echo "Test Result: $test_result"
|
echo "Test Result: $test_result"
|
||||||
echo "$test_status"
|
echo "$test_status"
|
||||||
if ! [ "$test_result" == "success" ]; then
|
if ! [ "$test_result" == "success" ]; then
|
||||||
@@ -100,7 +100,7 @@ jobs:
|
|||||||
|
|
||||||
doppelganger-protection-success-test:
|
doppelganger-protection-success-test:
|
||||||
needs: dockerfile-ubuntu
|
needs: dockerfile-ubuntu
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v5
|
||||||
|
|
||||||
@@ -136,7 +136,7 @@ jobs:
|
|||||||
|
|
||||||
doppelganger-protection-failure-test:
|
doppelganger-protection-failure-test:
|
||||||
needs: dockerfile-ubuntu
|
needs: dockerfile-ubuntu
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v5
|
||||||
|
|
||||||
@@ -173,7 +173,7 @@ jobs:
|
|||||||
# Tests checkpoint syncing to a live network (current fork) and a running devnet (usually next scheduled fork)
|
# Tests checkpoint syncing to a live network (current fork) and a running devnet (usually next scheduled fork)
|
||||||
checkpoint-sync-test:
|
checkpoint-sync-test:
|
||||||
name: checkpoint-sync-test-${{ matrix.network }}
|
name: checkpoint-sync-test-${{ matrix.network }}
|
||||||
runs-on: ubuntu-latest
|
runs-on: ${{ github.repository == 'sigp/lighthouse' && 'warp-ubuntu-latest-x64-8x' || 'ubuntu-latest' }}
|
||||||
needs: dockerfile-ubuntu
|
needs: dockerfile-ubuntu
|
||||||
if: contains(github.event.pull_request.labels.*.name, 'syncing')
|
if: contains(github.event.pull_request.labels.*.name, 'syncing')
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
@@ -216,7 +216,7 @@ jobs:
|
|||||||
# Test syncing from genesis on a local testnet. Aims to cover forward syncing both short and long distances.
|
# Test syncing from genesis on a local testnet. Aims to cover forward syncing both short and long distances.
|
||||||
genesis-sync-test:
|
genesis-sync-test:
|
||||||
name: genesis-sync-test-${{ matrix.fork }}-${{ matrix.offline_secs }}s
|
name: genesis-sync-test-${{ matrix.fork }}-${{ matrix.offline_secs }}s
|
||||||
runs-on: ubuntu-latest
|
runs-on: ${{ github.repository == 'sigp/lighthouse' && 'warp-ubuntu-latest-x64-8x' || 'ubuntu-latest' }}
|
||||||
needs: dockerfile-ubuntu
|
needs: dockerfile-ubuntu
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
@@ -259,7 +259,7 @@ jobs:
|
|||||||
# a PR is safe to merge. New jobs should be added here.
|
# a PR is safe to merge. New jobs should be added here.
|
||||||
local-testnet-success:
|
local-testnet-success:
|
||||||
name: local-testnet-success
|
name: local-testnet-success
|
||||||
runs-on: ubuntu-latest
|
runs-on: ${{ github.repository == 'sigp/lighthouse' && 'warp-ubuntu-latest-x64-8x' || 'ubuntu-latest' }}
|
||||||
needs: [
|
needs: [
|
||||||
'dockerfile-ubuntu',
|
'dockerfile-ubuntu',
|
||||||
'run-local-testnet',
|
'run-local-testnet',
|
||||||
@@ -272,4 +272,4 @@ jobs:
|
|||||||
- name: Check that success job is dependent on all others
|
- name: Check that success job is dependent on all others
|
||||||
run: |
|
run: |
|
||||||
exclude_jobs='checkpoint-sync-test'
|
exclude_jobs='checkpoint-sync-test'
|
||||||
./scripts/ci/check-success-job.sh ./.github/workflows/local-testnet.yml local-testnet-success "$exclude_jobs"
|
./scripts/ci/check-success-job.sh ./.github/workflows/local-testnet.yml local-testnet-success "$exclude_jobs"
|
||||||
|
|||||||
46
.github/workflows/test-suite.yml
vendored
46
.github/workflows/test-suite.yml
vendored
@@ -22,8 +22,6 @@ env:
|
|||||||
# NOTE: this token is a personal access token on Jimmy's account due to the default GITHUB_TOKEN
|
# NOTE: this token is a personal access token on Jimmy's account due to the default GITHUB_TOKEN
|
||||||
# not having access to other repositories. We should eventually devise a better solution here.
|
# not having access to other repositories. We should eventually devise a better solution here.
|
||||||
LIGHTHOUSE_GITHUB_TOKEN: ${{ secrets.LIGHTHOUSE_GITHUB_TOKEN }}
|
LIGHTHOUSE_GITHUB_TOKEN: ${{ secrets.LIGHTHOUSE_GITHUB_TOKEN }}
|
||||||
# Enable self-hosted runners for the sigp repo only.
|
|
||||||
SELF_HOSTED_RUNNERS: ${{ github.repository == 'sigp/lighthouse' }}
|
|
||||||
# Disable incremental compilation
|
# Disable incremental compilation
|
||||||
CARGO_INCREMENTAL: 0
|
CARGO_INCREMENTAL: 0
|
||||||
# Enable portable to prevent issues with caching `blst` for the wrong CPU type
|
# Enable portable to prevent issues with caching `blst` for the wrong CPU type
|
||||||
@@ -78,8 +76,7 @@ jobs:
|
|||||||
name: release-tests-ubuntu
|
name: release-tests-ubuntu
|
||||||
needs: [check-labels]
|
needs: [check-labels]
|
||||||
if: needs.check-labels.outputs.skip_ci != 'true'
|
if: needs.check-labels.outputs.skip_ci != 'true'
|
||||||
# Use self-hosted runners only on the sigp repo.
|
runs-on: ${{ github.repository == 'sigp/lighthouse' && 'warp-ubuntu-latest-x64-8x' || 'ubuntu-latest' }}
|
||||||
runs-on: ${{ github.repository == 'sigp/lighthouse' && fromJson('["self-hosted", "linux", "CI", "large"]') || 'ubuntu-latest' }}
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v5
|
||||||
# Set Java version to 21. (required since Web3Signer 24.12.0).
|
# Set Java version to 21. (required since Web3Signer 24.12.0).
|
||||||
@@ -88,7 +85,6 @@ jobs:
|
|||||||
distribution: 'temurin'
|
distribution: 'temurin'
|
||||||
java-version: '21'
|
java-version: '21'
|
||||||
- name: Get latest version of stable Rust
|
- name: Get latest version of stable Rust
|
||||||
if: env.SELF_HOSTED_RUNNERS == 'false'
|
|
||||||
uses: moonrepo/setup-rust@v1
|
uses: moonrepo/setup-rust@v1
|
||||||
with:
|
with:
|
||||||
channel: stable
|
channel: stable
|
||||||
@@ -97,7 +93,6 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Install Foundry (anvil)
|
- name: Install Foundry (anvil)
|
||||||
if: env.SELF_HOSTED_RUNNERS == 'false'
|
|
||||||
uses: foundry-rs/foundry-toolchain@v1
|
uses: foundry-rs/foundry-toolchain@v1
|
||||||
with:
|
with:
|
||||||
version: nightly-ca67d15f4abd46394b324c50e21e66f306a1162d
|
version: nightly-ca67d15f4abd46394b324c50e21e66f306a1162d
|
||||||
@@ -111,14 +106,12 @@ jobs:
|
|||||||
name: beacon-chain-tests
|
name: beacon-chain-tests
|
||||||
needs: [check-labels]
|
needs: [check-labels]
|
||||||
if: needs.check-labels.outputs.skip_ci != 'true'
|
if: needs.check-labels.outputs.skip_ci != 'true'
|
||||||
# Use self-hosted runners only on the sigp repo.
|
runs-on: ${{ github.repository == 'sigp/lighthouse' && 'warp-ubuntu-latest-x64-8x' || 'ubuntu-latest' }}
|
||||||
runs-on: ${{ github.repository == 'sigp/lighthouse' && fromJson('["self-hosted", "linux", "CI", "large"]') || 'ubuntu-latest' }}
|
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v5
|
||||||
- name: Get latest version of stable Rust
|
- name: Get latest version of stable Rust
|
||||||
if: env.SELF_HOSTED_RUNNERS == 'false'
|
|
||||||
uses: moonrepo/setup-rust@v1
|
uses: moonrepo/setup-rust@v1
|
||||||
with:
|
with:
|
||||||
channel: stable
|
channel: stable
|
||||||
@@ -126,22 +119,16 @@ jobs:
|
|||||||
bins: cargo-nextest
|
bins: cargo-nextest
|
||||||
- name: Run beacon_chain tests for all known forks
|
- name: Run beacon_chain tests for all known forks
|
||||||
run: make test-beacon-chain
|
run: make test-beacon-chain
|
||||||
- name: Show cache stats
|
|
||||||
if: env.SELF_HOSTED_RUNNERS == 'true'
|
|
||||||
continue-on-error: true
|
|
||||||
run: sccache --show-stats
|
|
||||||
http-api-tests:
|
http-api-tests:
|
||||||
name: http-api-tests
|
name: http-api-tests
|
||||||
needs: [check-labels]
|
needs: [check-labels]
|
||||||
if: needs.check-labels.outputs.skip_ci != 'true'
|
if: needs.check-labels.outputs.skip_ci != 'true'
|
||||||
# Use self-hosted runners only on the sigp repo.
|
runs-on: ${{ github.repository == 'sigp/lighthouse' && 'warp-ubuntu-latest-x64-8x' || 'ubuntu-latest' }}
|
||||||
runs-on: ${{ github.repository == 'sigp/lighthouse' && fromJson('["self-hosted", "linux", "CI", "large"]') || 'ubuntu-latest' }}
|
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v5
|
||||||
- name: Get latest version of stable Rust
|
- name: Get latest version of stable Rust
|
||||||
if: env.SELF_HOSTED_RUNNERS == 'false'
|
|
||||||
uses: moonrepo/setup-rust@v1
|
uses: moonrepo/setup-rust@v1
|
||||||
with:
|
with:
|
||||||
channel: stable
|
channel: stable
|
||||||
@@ -149,10 +136,6 @@ jobs:
|
|||||||
bins: cargo-nextest
|
bins: cargo-nextest
|
||||||
- name: Run http_api tests for all recent forks
|
- name: Run http_api tests for all recent forks
|
||||||
run: make test-http-api
|
run: make test-http-api
|
||||||
- name: Show cache stats
|
|
||||||
if: env.SELF_HOSTED_RUNNERS == 'true'
|
|
||||||
continue-on-error: true
|
|
||||||
run: sccache --show-stats
|
|
||||||
op-pool-tests:
|
op-pool-tests:
|
||||||
name: op-pool-tests
|
name: op-pool-tests
|
||||||
needs: [check-labels]
|
needs: [check-labels]
|
||||||
@@ -220,29 +203,22 @@ jobs:
|
|||||||
name: debug-tests-ubuntu
|
name: debug-tests-ubuntu
|
||||||
needs: [check-labels]
|
needs: [check-labels]
|
||||||
if: needs.check-labels.outputs.skip_ci != 'true'
|
if: needs.check-labels.outputs.skip_ci != 'true'
|
||||||
# Use self-hosted runners only on the sigp repo.
|
runs-on: ${{ github.repository == 'sigp/lighthouse' && 'warp-ubuntu-latest-x64-8x' || 'ubuntu-latest' }}
|
||||||
runs-on: ${{ github.repository == 'sigp/lighthouse' && fromJson('["self-hosted", "linux", "CI", "large"]') || 'ubuntu-latest' }}
|
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v5
|
||||||
- name: Get latest version of stable Rust
|
- name: Get latest version of stable Rust
|
||||||
if: env.SELF_HOSTED_RUNNERS == 'false'
|
|
||||||
uses: moonrepo/setup-rust@v1
|
uses: moonrepo/setup-rust@v1
|
||||||
with:
|
with:
|
||||||
channel: stable
|
channel: stable
|
||||||
bins: cargo-nextest
|
bins: cargo-nextest
|
||||||
- name: Install Foundry (anvil)
|
- name: Install Foundry (anvil)
|
||||||
if: env.SELF_HOSTED_RUNNERS == 'false'
|
|
||||||
uses: foundry-rs/foundry-toolchain@v1
|
uses: foundry-rs/foundry-toolchain@v1
|
||||||
with:
|
with:
|
||||||
version: nightly-ca67d15f4abd46394b324c50e21e66f306a1162d
|
version: nightly-ca67d15f4abd46394b324c50e21e66f306a1162d
|
||||||
- name: Run tests in debug
|
- name: Run tests in debug
|
||||||
run: make test-debug
|
run: make test-debug
|
||||||
- name: Show cache stats
|
|
||||||
if: env.SELF_HOSTED_RUNNERS == 'true'
|
|
||||||
continue-on-error: true
|
|
||||||
run: sccache --show-stats
|
|
||||||
state-transition-vectors-ubuntu:
|
state-transition-vectors-ubuntu:
|
||||||
name: state-transition-vectors-ubuntu
|
name: state-transition-vectors-ubuntu
|
||||||
needs: [check-labels]
|
needs: [check-labels]
|
||||||
@@ -261,14 +237,12 @@ jobs:
|
|||||||
name: ef-tests-ubuntu
|
name: ef-tests-ubuntu
|
||||||
needs: [check-labels]
|
needs: [check-labels]
|
||||||
if: needs.check-labels.outputs.skip_ci != 'true'
|
if: needs.check-labels.outputs.skip_ci != 'true'
|
||||||
# Use self-hosted runners only on the sigp repo.
|
runs-on: ${{ github.repository == 'sigp/lighthouse' && 'warp-ubuntu-latest-x64-8x' || 'ubuntu-latest' }}
|
||||||
runs-on: ${{ github.repository == 'sigp/lighthouse' && fromJson('["self-hosted", "linux", "CI", "small"]') || 'ubuntu-latest' }}
|
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v5
|
||||||
- name: Get latest version of stable Rust
|
- name: Get latest version of stable Rust
|
||||||
if: env.SELF_HOSTED_RUNNERS == 'false'
|
|
||||||
uses: moonrepo/setup-rust@v1
|
uses: moonrepo/setup-rust@v1
|
||||||
with:
|
with:
|
||||||
channel: stable
|
channel: stable
|
||||||
@@ -276,10 +250,6 @@ jobs:
|
|||||||
bins: cargo-nextest
|
bins: cargo-nextest
|
||||||
- name: Run consensus-spec-tests with blst and fake_crypto
|
- name: Run consensus-spec-tests with blst and fake_crypto
|
||||||
run: make test-ef
|
run: make test-ef
|
||||||
- name: Show cache stats
|
|
||||||
if: env.SELF_HOSTED_RUNNERS == 'true'
|
|
||||||
continue-on-error: true
|
|
||||||
run: sccache --show-stats
|
|
||||||
basic-simulator-ubuntu:
|
basic-simulator-ubuntu:
|
||||||
name: basic-simulator-ubuntu
|
name: basic-simulator-ubuntu
|
||||||
needs: [check-labels]
|
needs: [check-labels]
|
||||||
@@ -328,11 +298,10 @@ jobs:
|
|||||||
name: execution-engine-integration-ubuntu
|
name: execution-engine-integration-ubuntu
|
||||||
needs: [check-labels]
|
needs: [check-labels]
|
||||||
if: needs.check-labels.outputs.skip_ci != 'true'
|
if: needs.check-labels.outputs.skip_ci != 'true'
|
||||||
runs-on: ${{ github.repository == 'sigp/lighthouse' && fromJson('["self-hosted", "linux", "CI", "small"]') || 'ubuntu-latest' }}
|
runs-on: ${{ github.repository == 'sigp/lighthouse' && 'warp-ubuntu-latest-x64-8x' || 'ubuntu-latest' }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v5
|
- uses: actions/checkout@v5
|
||||||
- name: Get latest version of stable Rust
|
- name: Get latest version of stable Rust
|
||||||
if: env.SELF_HOSTED_RUNNERS == 'false'
|
|
||||||
uses: moonrepo/setup-rust@v1
|
uses: moonrepo/setup-rust@v1
|
||||||
with:
|
with:
|
||||||
channel: stable
|
channel: stable
|
||||||
@@ -340,9 +309,6 @@ jobs:
|
|||||||
cache: false
|
cache: false
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Add go compiler to $PATH
|
|
||||||
if: env.SELF_HOSTED_RUNNERS == 'true'
|
|
||||||
run: echo "/usr/local/go/bin" >> $GITHUB_PATH
|
|
||||||
- name: Run exec engine integration tests in release
|
- name: Run exec engine integration tests in release
|
||||||
run: make test-exec-engine
|
run: make test-exec-engine
|
||||||
check-code:
|
check-code:
|
||||||
|
|||||||
Reference in New Issue
Block a user