Skip to content

Merge branch 'master' into move-stateroot-check #5020

Merge branch 'master' into move-stateroot-check

Merge branch 'master' into move-stateroot-check #5020

# Nimbus
# Copyright (c) 2021-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 verified proxy CI
on:
push:
paths:
- '.github/workflows/nimbus_verified_proxy.yml'
- 'nimbus_verified_proxy/**'
- '!nimbus_verified_proxy/**.md'
- '!nimbus_verified_proxy/docs/**'
- 'execution_chain/db/**'
- 'vendor/**'
- 'Makefile'
- 'nimbus.nimble'
pull_request:
paths:
- '.github/workflows/nimbus_verified_proxy.yml'
- 'nimbus_verified_proxy/**'
- '!nimbus_verified_proxy/**.md'
- '!nimbus_verified_proxy/docs/**'
- 'execution_chain/db/**'
- 'vendor/**'
- 'Makefile'
- 'nimbus.nimble'
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: false
- name: Run verified proxy tests (Windows)
if: runner.os == 'Windows'
run: |
gcc --version
DEFAULT_MAKE_FLAGS="-j${ncpu}"
mingw32-make ${DEFAULT_MAKE_FLAGS} nimbus_verified_proxy libverifproxy
build/nimbus_verified_proxy.exe --help
mingw32-make ${DEFAULT_MAKE_FLAGS} nimbus-verified-proxy-test
- name: Run verified proxy tests (Linux)
if: runner.os == 'Linux'
run: |
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/lib"
DEFAULT_MAKE_FLAGS="-j${ncpu}"
env CC=gcc make ${DEFAULT_MAKE_FLAGS} nimbus_verified_proxy libverifproxy
build/nimbus_verified_proxy --help
# CC is needed to select correct compiler 32/64 bit
env CC=gcc CXX=g++ make ${DEFAULT_MAKE_FLAGS} nimbus-verified-proxy-test
- name: Run verified proxy tests (Macos)
if: runner.os == 'Macos'
run: |
DEFAULT_MAKE_FLAGS="-j${ncpu}"
make ${DEFAULT_MAKE_FLAGS} nimbus_verified_proxy libverifproxy
build/nimbus_verified_proxy --help
# "-static" option will not work for osx unless static system libraries are provided
make ${DEFAULT_MAKE_FLAGS} nimbus-verified-proxy-test
lint:
name: "Lint verified proxy"
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 nph formatting
# Pin nph to a specific version to avoid sudden style differences.
# Updating nph version should be accompanied with running the new
# version on the nimbus_verified_proxy directory.
run: |
VERSION="v0.6.1"
ARCHIVE="nph-linux_x64.tar.gz"
curl -L "https://github.com/arnetheduck/nph/releases/download/${VERSION}/${ARCHIVE}" -o ${ARCHIVE}
tar -xzf ${ARCHIVE}
./nph nimbus_verified_proxy/
git diff --exit-code
- name: Check copyright year
if: ${{ !cancelled() }} && github.event_name == 'pull_request'
run: |
bash scripts/check_copyright_year.sh