Merge branch 'master' into move-stateroot-check #7622
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Nimbus | |
# Copyright (c) 2020-2025 Status Research & Development GmbH | |
# Licensed under either of | |
# * Apache License, version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or | |
# http://www.apache.org/licenses/LICENSE-2.0) | |
# * MIT license ([LICENSE-MIT](LICENSE-MIT) or | |
# http://opensource.org/licenses/MIT) | |
# at your option. This file may not be copied, modified, or distributed except | |
# according to those terms. | |
name: Nimbus CI | |
on: | |
push: | |
paths-ignore: | |
- 'doc/**' | |
- 'portal/docs/**' | |
- '**/*.md' | |
- 'hive_integration/**' | |
- 'nimbus_verified_proxy/**' | |
- '.github/workflows/nimbus_verified_proxy.yml' | |
- '.github/workflows/build_base_image.yml' | |
- 'docker/**' | |
pull_request: | |
paths-ignore: | |
- 'doc/**' | |
- 'portal/docs/**' | |
- '**/*.md' | |
- 'hive_integration/**' | |
- 'nimbus_verified_proxy/**' | |
- '.github/workflows/nimbus_verified_proxy.yml' | |
- '.github/workflows/build_base_image.yml' | |
- 'docker/**' | |
workflow_dispatch: | |
jobs: | |
matrix_config: | |
uses: ./.github/workflows/matrix_config.yml | |
build: | |
needs: matrix_config | |
strategy: | |
fail-fast: false | |
matrix: ${{ fromJSON(needs.matrix_config.outputs.matrix) }} | |
defaults: | |
run: | |
shell: bash | |
name: '${{ matrix.os }}-${{ matrix.cpu }}' | |
runs-on: ${{ matrix.builder }} | |
steps: | |
- name: Checkout nimbus-eth1 | |
uses: actions/checkout@v4 | |
- id: shared-action | |
uses: ./.github/actions/shared | |
with: | |
llvm-mingw: true | |
nim-cache: true | |
rocksdb-cache: true | |
eest-cache: true | |
- name: Run nimbus-eth1 tests (Windows) | |
if: runner.os == 'Windows' | |
run: | | |
gcc --version | |
DEFAULT_MAKE_FLAGS="-j${ncpu} ENABLE_VMLOWMEM=${ENABLE_VMLOWMEM} ROCKSDB_CI_CACHE=RocksBinCache" | |
mingw32-make ${DEFAULT_MAKE_FLAGS} all test_import build_fuzzers check_revision | |
find . -type d -name "nimcache" -exec rm -rf {} + | |
mingw32-make ${DEFAULT_MAKE_FLAGS} test t8n_test eest_full_test | |
- name: Run nimbus-eth1 tests (Linux) | |
if: runner.os == 'Linux' | |
run: | | |
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/lib" | |
DEFAULT_MAKE_FLAGS="-j${ncpu} ROCKSDB_CI_CACHE=RocksBinCache" | |
env CC=gcc make ${DEFAULT_MAKE_FLAGS} all test_import build_fuzzers check_revision | |
build/nimbus_execution_client --help | |
# CC, GOARCH, and CGO_ENABLED are needed to select correct compiler 32/64 bit | |
env CC=gcc GOARCH=${GOARCH} CXX=g++ CGO_ENABLED=1 make ${DEFAULT_MAKE_FLAGS} test t8n_test eest_full_test | |
- name: Run nimbus-eth1 tests (Macos) | |
if: runner.os == 'Macos' | |
run: | | |
export ZERO_AR_DATE=1 # avoid timestamps in binaries | |
DEFAULT_MAKE_FLAGS="-j${ncpu} ROCKSDB_CI_CACHE=RocksBinCache" | |
make ${DEFAULT_MAKE_FLAGS} all test_import build_fuzzers check_revision | |
# "-static" option will not work for osx unless static system libraries are provided | |
make ${DEFAULT_MAKE_FLAGS} test t8n_test eest_full_test | |
lint: | |
name: "Lint" | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 2 # In PR, has extra merge commit: ^1 = PR, ^2 = base | |
- name: Check copyright year | |
if: ${{ !cancelled() }} && github.event_name == 'pull_request' | |
run: | | |
bash scripts/check_copyright_year.sh | |
bash scripts/check_version.sh |