From 1d7300232b851e7bfed392dc1aad1a248bd38432 Mon Sep 17 00:00:00 2001 From: Guillaume Ballet <3272758+gballet@users.noreply.github.com> Date: Tue, 14 Oct 2025 17:15:32 +0200 Subject: [PATCH 01/13] .github/workflows: activate keeper build + revive 32bit tests --- .github/workflows/go.yml | 47 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index b8cf7f75e0dd..600d9bdcf92f 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -34,6 +34,53 @@ jobs: go run build/ci.go check_generate go run build/ci.go check_baddeps + build-386: + name: 32bit build + needs: test + runs-on: [self-hosted-ghr, size-l-x64] + steps: + - uses: actions/checkout@v4 + with: + submodules: true + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.25' + cache: false + + - name: Run tests + run: go build ./cmd/geth + env: + GOARCH: 386 + + keeper-build-ziren: + name: Keeper + needs: build-386 + runs-on: [self-hosted-ghr, size-l-x64] + strategy: + matrix: + include: + - env: + GOARCH: mips + GOOS: linux + GOMIPS: softfloat + tags: "ziren" + steps: + - uses: actions/checkout@v4 + with: + submodules: true + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.25' + cache: false + + - name: Run tests + run: cd cmd/keeper && go build -tags ${{ matrix.tags }} . + env: ${{ matrix.env }} + test: name: Test needs: lint From 33cd9b8ff672ff667bb8fa7f57e778da71310dc1 Mon Sep 17 00:00:00 2001 From: Guillaume Ballet <3272758+gballet@users.noreply.github.com> Date: Tue, 14 Oct 2025 17:56:13 +0200 Subject: [PATCH 02/13] fix arch name + also test example --- .github/workflows/go.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 600d9bdcf92f..d9cfc976b2a5 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -62,10 +62,12 @@ jobs: matrix: include: - env: - GOARCH: mips + GOARCH: mipsle GOOS: linux GOMIPS: softfloat tags: "ziren" + - env: + tags: "example" steps: - uses: actions/checkout@v4 with: From 86c1c7ee43402ee3634c1f57b6fbe893f185117b Mon Sep 17 00:00:00 2001 From: Guillaume Ballet <3272758+gballet@users.noreply.github.com> Date: Tue, 14 Oct 2025 20:55:16 +0200 Subject: [PATCH 03/13] add GOARCH for example to fix build --- .github/workflows/go.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index d9cfc976b2a5..cd3132ad429c 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -67,6 +67,8 @@ jobs: GOMIPS: softfloat tags: "ziren" - env: + GOARCH: amd64 + GOOS: linux tags: "example" steps: - uses: actions/checkout@v4 From 6954ba8713273ab0b1525b61b23ffbee1e4d8e5f Mon Sep 17 00:00:00 2001 From: Guillaume Ballet <3272758+gballet@users.noreply.github.com> Date: Mon, 20 Oct 2025 18:05:56 +0200 Subject: [PATCH 04/13] only keep the 32 bit build --- .github/workflows/go.yml | 31 ------------------------------- 1 file changed, 31 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index cd3132ad429c..5313583bc087 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -54,37 +54,6 @@ jobs: env: GOARCH: 386 - keeper-build-ziren: - name: Keeper - needs: build-386 - runs-on: [self-hosted-ghr, size-l-x64] - strategy: - matrix: - include: - - env: - GOARCH: mipsle - GOOS: linux - GOMIPS: softfloat - tags: "ziren" - - env: - GOARCH: amd64 - GOOS: linux - tags: "example" - steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - name: Set up Go - uses: actions/setup-go@v5 - with: - go-version: '1.25' - cache: false - - - name: Run tests - run: cd cmd/keeper && go build -tags ${{ matrix.tags }} . - env: ${{ matrix.env }} - test: name: Test needs: lint From d2acc9fe1b155c1b8533162af22790a07ac37c35 Mon Sep 17 00:00:00 2001 From: Guillaume Ballet <3272758+gballet@users.noreply.github.com> Date: Mon, 20 Oct 2025 20:39:37 +0200 Subject: [PATCH 05/13] also run tests --- .github/workflows/go.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 5313583bc087..20f5c9cf4ba3 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -50,7 +50,7 @@ jobs: cache: false - name: Run tests - run: go build ./cmd/geth + run: go test ./... env: GOARCH: 386 From 9dbe84dfcc6fe41e505979587634eacb48122b52 Mon Sep 17 00:00:00 2001 From: Guillaume Ballet <3272758+gballet@users.noreply.github.com> Date: Fri, 24 Oct 2025 08:25:51 -0400 Subject: [PATCH 06/13] fix int bitlength issue in TestChainConfig_LoadForks --- beacon/params/config.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/beacon/params/config.go b/beacon/params/config.go index 492ee53308fd..b01b739e07fe 100644 --- a/beacon/params/config.go +++ b/beacon/params/config.go @@ -108,6 +108,8 @@ func (c *ChainConfig) LoadForks(file []byte) error { switch version := value.(type) { case int: versions[name] = new(big.Int).SetUint64(uint64(version)).FillBytes(make([]byte, 4)) + case int64: + versions[name] = new(big.Int).SetUint64(uint64(version)).FillBytes(make([]byte, 4)) case uint64: versions[name] = new(big.Int).SetUint64(version).FillBytes(make([]byte, 4)) case string: @@ -125,6 +127,8 @@ func (c *ChainConfig) LoadForks(file []byte) error { switch epoch := value.(type) { case int: epochs[name] = uint64(epoch) + case int64: + epochs[name] = uint64(epoch) case uint64: epochs[name] = epoch case string: From beb58f25cf88e65b306e0b6b9e83a9c401abffc5 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Fri, 24 Oct 2025 17:27:51 +0200 Subject: [PATCH 07/13] .github: update to add keeper build --- .github/workflows/go.yml | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 20f5c9cf4ba3..c840baa041d5 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -34,8 +34,8 @@ jobs: go run build/ci.go check_generate go run build/ci.go check_baddeps - build-386: - name: 32bit build + keeper: + name: Keeper Builds needs: test runs-on: [self-hosted-ghr, size-l-x64] steps: @@ -49,10 +49,26 @@ jobs: go-version: '1.25' cache: false - - name: Run tests - run: go test ./... - env: - GOARCH: 386 + - name: Build + run: go run build/ci.go keeper + + 32bit-tests: + name: 32bit tests + needs: test + runs-on: [self-hosted-ghr, size-l-x64] + steps: + - uses: actions/checkout@v4 + with: + submodules: true + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.25' + cache: false + + - name: Build + run: go run build ci.go test -arch 386 test: name: Test From f1c1dc6ea1a7385b3e870764f64ac66d47d9a6e9 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Fri, 24 Oct 2025 17:30:49 +0200 Subject: [PATCH 08/13] .github: update --- .github/workflows/go.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index c840baa041d5..47531bee1ab3 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -52,8 +52,8 @@ jobs: - name: Build run: go run build/ci.go keeper - 32bit-tests: - name: 32bit tests + test-32bit: + name: "32bit tests" needs: test runs-on: [self-hosted-ghr, size-l-x64] steps: From 538b17a72d5afb56b164f360b9e815da2e1aab08 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Tue, 28 Oct 2025 11:18:10 +0100 Subject: [PATCH 09/13] .github: update --- .github/workflows/go.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 47531bee1ab3..f4e8ce70879f 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -68,7 +68,7 @@ jobs: cache: false - name: Build - run: go run build ci.go test -arch 386 + run: go run build/ci.go test -arch 386 test: name: Test From d763df3a5838b376a8a00c9703cd0d68c51a76bc Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Tue, 28 Oct 2025 12:03:47 +0100 Subject: [PATCH 10/13] .github: install cross toolchain --- .github/workflows/go.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index f4e8ce70879f..e24dc9a7fb8e 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -67,6 +67,11 @@ jobs: go-version: '1.25' cache: false + - name: Install cross toolchain + run: | + apt-get update + apt-get -yq --no-install-suggests --no-install-recommends install gcc-multilib + - name: Build run: go run build/ci.go test -arch 386 From fc951099448f13b74c4ecf074e74b5cfd87046d9 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Tue, 28 Oct 2025 13:03:56 +0100 Subject: [PATCH 11/13] build: skip spectests with -short flag --- build/ci.go | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/build/ci.go b/build/ci.go index 156626a82df7..59c948acb386 100644 --- a/build/ci.go +++ b/build/ci.go @@ -348,16 +348,15 @@ func buildFlags(env build.Environment, staticLinking bool, buildTags []string) ( func doTest(cmdline []string) { var ( - dlgo = flag.Bool("dlgo", false, "Download Go and build with it") - arch = flag.String("arch", "", "Run tests for given architecture") - cc = flag.String("cc", "", "Sets C compiler binary") - coverage = flag.Bool("coverage", false, "Whether to record code coverage") - verbose = flag.Bool("v", false, "Whether to log verbosely") - race = flag.Bool("race", false, "Execute the race detector") - short = flag.Bool("short", false, "Pass the 'short'-flag to go test") - cachedir = flag.String("cachedir", "./build/cache", "directory for caching downloads") - skipspectests = flag.Bool("skip-spectests", false, "Skip downloading execution-spec-tests fixtures") - threads = flag.Int("p", 1, "Number of CPU threads to use for testing") + dlgo = flag.Bool("dlgo", false, "Download Go and build with it") + arch = flag.String("arch", "", "Run tests for given architecture") + cc = flag.String("cc", "", "Sets C compiler binary") + coverage = flag.Bool("coverage", false, "Whether to record code coverage") + verbose = flag.Bool("v", false, "Whether to log verbosely") + race = flag.Bool("race", false, "Execute the race detector") + short = flag.Bool("short", false, "Pass the 'short'-flag to go test") + cachedir = flag.String("cachedir", "./build/cache", "directory for caching downloads") + threads = flag.Int("p", 1, "Number of CPU threads to use for testing") ) flag.CommandLine.Parse(cmdline) @@ -365,7 +364,7 @@ func doTest(cmdline []string) { csdb := download.MustLoadChecksums("build/checksums.txt") // Get test fixtures. - if !*skipspectests { + if !*short { downloadSpecTestFixtures(csdb, *cachedir) } From 78a1bae94d94e2bd35cfaf355f543d1226e63693 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Tue, 28 Oct 2025 13:04:49 +0100 Subject: [PATCH 12/13] .github: update test config for 32-bit --- .github/workflows/go.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index e24dc9a7fb8e..50c9fe7f7511 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -59,7 +59,7 @@ jobs: steps: - uses: actions/checkout@v4 with: - submodules: true + submodules: false - name: Set up Go uses: actions/setup-go@v5 @@ -73,7 +73,7 @@ jobs: apt-get -yq --no-install-suggests --no-install-recommends install gcc-multilib - name: Build - run: go run build/ci.go test -arch 386 + run: go run build/ci.go test -arch 386 -short -p 8 test: name: Test From e60e32fe29b232ab811a40ab22ffeec20ae5e40d Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Tue, 28 Oct 2025 13:13:49 +0100 Subject: [PATCH 13/13] appveyor.yml: remove -skip-spectests --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 8dce7f30a29c..aeafcfc8380b 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -36,4 +36,4 @@ for: - go run build/ci.go archive -arch %GETH_ARCH% -type zip -signer WINDOWS_SIGNING_KEY -upload gethstore/builds - go run build/ci.go nsis -arch %GETH_ARCH% -signer WINDOWS_SIGNING_KEY -upload gethstore/builds test_script: - - go run build/ci.go test -dlgo -arch %GETH_ARCH% -cc %GETH_CC% -short -skip-spectests + - go run build/ci.go test -dlgo -arch %GETH_ARCH% -cc %GETH_CC% -short