Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(ci,eof): include eofwrap in EOF prerelease #962

Merged
merged 5 commits into from
Nov 25, 2024

Conversation

pdobacz
Copy link
Collaborator

@pdobacz pdobacz commented Nov 20, 2024

πŸ—’οΈ Description

Follows up #896 with a new build step which adds eofwrapped ethereum/tests to the EOF tests prerelease. Depends on #961 , hence opening as draft.

πŸ”— Related Issues

na

βœ… Checklist

  • All: Set appropriate labels for the changes.
  • All: Considered squashing commits to improve commit history.
  • All: Added an entry to CHANGELOG.md.

Copy link
Member

@danceratopz danceratopz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for cracking on with this @pdobacz!

Looks good so far, just a minor comment below.

ICYMI: Did you know that you test this action locally before pushing using nectos/act? See:
https://ethereum.github.io/execution-spec-tests/main/dev/test_actions_locally/

.github/actions/build-fixtures/action.yaml Outdated Show resolved Hide resolved
.github/actions/build-fixtures/action.yaml Outdated Show resolved Hide resolved
.github/configs/feature.yaml Show resolved Hide resolved
@danceratopz danceratopz self-assigned this Nov 21, 2024
@danceratopz danceratopz added scope:ci Scope: Continuous Integration type:feat type: Feature labels Nov 21, 2024
@danceratopz danceratopz changed the title new(ci): include eofwrap in EOF prerelease feat(ci,eof): include eofwrap in EOF prerelease Nov 21, 2024
@pdobacz
Copy link
Collaborator Author

pdobacz commented Nov 21, 2024

ICYMI: Did you know that you test this action locally before pushing using nectos/act? See: https://ethereum.github.io/execution-spec-tests/main/dev/test_actions_locally/

I am already using nectos/act (it's very flaky though, breaks 80% of runs because of network hiccups 🀷 ). I have the artifacts locally on disk and have eyeballed them for correctness.

@danceratopz BTW, any clues what might have caused the cancel of the tag build? Can I rerun? I think it will draft the release under ipsilon fork so should not cause disruption?

@danceratopz
Copy link
Member

I am already using nectos/act (it's very flaky though, breaks 80% of runs because of network hiccups 🀷 ). I have the artifacts locally on disk and have eyeballed them for correctness.

Shame about the flakiness, must admit I haven't used it for testing a release flow. Perhaps Mario has (but he's ooo at the mo).

@danceratopz BTW, any clues what might have caused the cancel of the tag build? Can I rerun? I think it will draft the release under ipsilon fork so should not cause disruption?

Feel free to make a release whereever you like for "shorter" lived releases. If it will be a longer lasting and communicated to other clients, it's probably doing it from ethereum/execution-spec-tests (main?) for transparency.

Below, I'm looking at this raw log from this run:
https://github.com/ipsilon/execution-spec-tests/actions/runs/11940860199/job/33284456025

2024-11-20T20:05:35.7024316Z [ 96%] Building CXX object test/unittests/CMakeFiles/evmone-unittests.dir/statetest_loader_tx_test.cpp.o
2024-11-20T20:05:35.7504170Z [ 96%] Building CXX object test/unittests/CMakeFiles/evmone-unittests.dir/statetest_logs_hash_test.cpp.o
2024-11-20T20:05:35.7986322Z [ 97%] Building CXX object test/unittests/CMakeFiles/evmone-unittests.dir/statetest_withdrawals_test.cpp.o
2024-11-20T20:05:35.9732743Z [ 97%] Building CXX object test/unittests/CMakeFiles/evmone-unittests.dir/tracing_test.cpp.o
2024-11-20T20:10:03.5046844Z c++: fatal error: Killed signal terminated program cc1plus
2024-11-20T20:10:03.5100459Z compilation terminated.
2024-11-20T20:10:03.5839370Z gmake[2]: *** [test/t8n/CMakeFiles/evmone-t8n.dir/build.make:79: test/t8n/CMakeFiles/evmone-t8n.dir/t8n.cpp.o] Error 1
2024-11-20T20:10:03.5914231Z gmake[1]: *** [CMakeFiles/Makefile2:1505: test/t8n/CMakeFiles/evmone-t8n.dir/all] Error 2
2024-11-20T20:10:03.5955009Z gmake[1]: *** Waiting for unfinished jobs....
2024-11-20T20:10:03.5977568Z gmake[2]: *** [test/statetest/CMakeFiles/evmone-statetest.dir/build.make:93: test/statetest/CMakeFiles/evmone-statetest.dir/statetest_runner.cpp.o] Terminated
2024-11-20T20:10:03.5993821Z gmake[2]: *** [test/unittests/CMakeFiles/evmone-unittests.dir/build.make:79: test/unittests/CMakeFiles/evmone-unittests.dir/analysis_test.cpp.o] Terminated
2024-11-20T20:10:03.6016019Z gmake[1]: *** [CMakeFiles/Makefile2:1373: test/statetest/CMakeFiles/evmone-statetest.dir/all] Terminated
2024-11-20T20:10:03.6042835Z gmake: *** [Makefile:166: all] Terminated
2024-11-20T20:10:03.6083982Z gmake[2]: *** [test/blockchaintest/CMakeFiles/evmone-blockchaintest.dir/build.make:79: test/blockchaintest/CMakeFiles/evmone-blockchaintest.dir/blockchaintest.cpp.o] Terminated
2024-11-20T20:10:03.6096468Z gmake[2]: *** [test/bench/CMakeFiles/evmone-bench.dir/build.make:93: test/bench/CMakeFiles/evmone-bench.dir/synthetic_benchmarks.cpp.o] Terminated
2024-11-20T20:10:03.6983245Z ##[error]The runner has received a shutdown signal. This can happen when the runner service is stopped, or a manually started runner is canceled.
2024-11-20T20:10:04.3089431Z ##[error]The operation was canceled.
2024-11-20T20:10:04.4374385Z Cleaning up orphan processes

@winsvega had similiar issues building evmone relatively recently. I think he suspected that the runner was running out of memory while trying to build evmone. I've got a feeling it was stopping at exactly the same point in the build every time. I think he solved it in his Github Workflow by reducing the scope of evmone targets built?

I managed to track down one of failing builds that he was struggling with:
https://github.com/ethereum/execution-spec-tests/actions/runs/11443961401/job/31838359104#step:14:1088

This failed in exactly the same line as your tag build above:

[ 96%] Building CXX object test/unittests/CMakeFiles/evmone-unittests.dir/tracing_test.cpp.o

Def worth discussing with @winsvega in the chat.


Probably unrelated and I know these are only deprecation warnings, but it's probably a good idea to clean these up? There's a lot of them ))

2024-11-20T20:04:20.4000445Z CMake Deprecation Warning at /home/runner/.hunter/_Base/Download/Hunter/0.25.3/0dfbc2c/Unpacked/cmake/modules/hunter_apply_gate_settings.cmake:4 (cmake_minimum_required):
2024-11-20T20:04:20.4001659Z   Compatibility with CMake < 3.10 will be removed from a future version of
2024-11-20T20:04:20.4002233Z   CMake.
2024-11-20T20:04:20.4002396Z 
2024-11-20T20:04:20.4002778Z   Update the VERSION argument <min> value or use a ...<max> suffix to tell
2024-11-20T20:04:20.4003908Z   CMake that the project does not need compatibility with older versions.
2024-11-20T20:04:20.4004515Z Call Stack (most recent call first):
2024-11-20T20:04:20.4005417Z   /home/runner/.hunter/_Base/Download/Hunter/0.25.3/0dfbc2c/Unpacked/cmake/modules/hunter_finalize.cmake:5 (include)
2024-11-20T20:04:20.4006771Z   /home/runner/.hunter/_Base/Download/Hunter/0.25.3/0dfbc2c/Unpacked/cmake/modules/hunter_add_package.cmake:7 (include)
2024-11-20T20:04:20.4007873Z   /home/runner/.hunter/_Base/Download/Hunter/0.25.3/0dfbc2c/Unpacked/cmake/modules/hunter_cache_run.cmake:6 (include)
2024-11-20T20:04:20.4009113Z   /home/runner/.hunter/_Base/Download/Hunter/0.25.3/0dfbc2c/Unpacked/cmake/modules/hunter_load_from_cache.cmake:5 (include)
2024-11-20T20:04:20.4010247Z   /home/runner/.hunter/_Base/Download/Hunter/0.25.3/0dfbc2c/Unpacked/cmake/modules/hunter_download.cmake:22 (include)
2024-11-20T20:04:20.4011315Z   /home/runner/.hunter/_Base/Download/Hunter/0.25.3/0dfbc2c/Unpacked/cmake/projects/ethash/hunter.cmake:8 (include)
2024-11-20T20:04:20.4012534Z   /home/runner/.hunter/_Base/Download/Hunter/0.25.3/0dfbc2c/Unpacked/cmake/modules/hunter_add_package.cmake:62 (include)
2024-11-20T20:04:20.4013339Z   CMakeLists.txt:39 (hunter_add_package)
``

@pdobacz
Copy link
Collaborator Author

pdobacz commented Nov 21, 2024

runner was running out of memory while trying to build evmone. I've got a feeling it was stopping at exactly the same point in the build every time. I think he solved it in his Github Workflow by reducing the scope of evmone targets built?

Ah yes, that might be it, thanks! When working locally I need to limit the parallelism in cmake build command. I'll do that in the CI maybe as well, I already have it for nektos/act's sake

@winsvega
Copy link
Collaborator

You don't need to build unittests in evmone. Select only the desired target (t8n, statetest runner) it saves the time and avoid this issue

Copy link
Member

@danceratopz danceratopz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Glad you could clear up the evmone build issue so quickly. Thanks @winsvega for the help!

Feel free to merge, if/when you're happy with the releases generated!

.github/configs/feature.yaml Show resolved Hide resolved
.github/configs/feature.yaml Show resolved Hide resolved
@pdobacz pdobacz marked this pull request as ready for review November 25, 2024 10:16
@pdobacz pdobacz merged commit 1b30c33 into ethereum:main Nov 25, 2024
3 checks passed
@pdobacz pdobacz deleted the eofwrap-ci branch November 25, 2024 11:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope:ci Scope: Continuous Integration type:feat type: Feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants