Commit Graph

155 Commits

Author SHA1 Message Date
Etan Kissling 702f4c6a45
add `{.push raises: [].}` to more files (#5943)
Extend `{.push raises: [].}` to all files with spec references that are
periodically updated.

- https://github.com/status-im/nimbus-eth2/pull/5942
2024-02-22 11:03:09 +01:00
Etan Kissling 698a802168
extend linter to enforce exception tracking is turned on (#5909)
Status Nim style mandates `{.push raises: []}.` at start of modules.
Add a CI task to ensure exceptions keep getting properly tracked.

- https://status-im.github.io/nim-style-guide/errors.exceptions.html
- https://github.com/status-im/nim-eth/pull/614#discussion_r1220906149
2024-02-19 11:02:36 +01:00
Etan Kissling 30b7c6153f
handle `Exception` during `EraFile.verify` (#5900)
`Taskpool.new()` is marked as `{.raises: [Exception].}`. Catch this.
2024-02-17 18:19:30 +01:00
tersec 7b5815358e
test macOS with Nim 2.0 in CI and use non-EOL macOS version (#5890) 2024-02-16 04:53:13 +00:00
Etan Kissling ed8743b986
fix standalone compilation of `trusted_node_sync.nim` (#5861)
#5544 contained a regression that broke standalone compilation of
`trusted_node_sync` as a main module. Fix it, and add to CI.
2024-02-07 19:26:29 +00:00
Etan Kissling a9ca59e074
avoid mixing versions across `upload-artifact`/`download-artifact` (#5853)
The various major versions of `action/upload-artifact` and
`action/download-artifact` are not necessarily compatible.
Align all the uploads / downloads to `v3`.
`v4` exists but is not currently supported on GHES yet.
2024-02-07 09:54:58 +01:00
Etan Kissling 388b865aac
add `-d:has_deposit_root_checks` build to CI (#5856)
To prevent accidental breakage of builds with non-standard developer
flags, add the `-d:has_deposit_root_checks` build to CI. This is only
a quick compilation check, and is only run on Linux.
2024-02-07 00:11:51 +00:00
andri lim a45609c4a3
Switch to llvm-mingw for faster Windows CI (#5729)
* Switch to llvm-mingw for faster Windows CI

* Enable ubsan of Windows CI
2024-01-13 11:45:20 +02:00
jangko a5297a352c
Use GITHUB_OUTPUT to replace set output in main CI 2024-01-11 10:14:32 +07:00
Jacek Sieka 3f525acb87
chronos: bump (#5684)
This PR causes a few new warnings to appear - these are harmless but
will need addressing separately as they span several libraries.

* new asyncraises syntax
* asyncraises support in several modules
* `sink` usage reduces spurious copying
* `?` compatiblity for `async` + `results`
* remove `-d:chronosStrictException` (obsolete)
2024-01-05 10:08:38 +01:00
Etan Kissling 0639eaafd0
in lint, fix timestamp comparison when timezone does not match (#5688)
Git by defaults returns commit timestamp according to the committer's
time zone instead of the local one, breaking the simple alphanumeric
comparison for timestamps that we use in lint. Force the timezone to
UTC so that comparison is correct regardless of committer timezone.
2024-01-03 00:34:39 +00:00
tersec aa6c13cd67
use newer geth testnet binary directory names (#5575)
* use newer geth testnet binary directory names

* linting; Geth requires merged genesis
2023-11-07 16:52:30 +01:00
tersec 95b22e3a4f
Revert "Revert "ci: adding self-hosted tag for github-runner (#4886)" (#5494)"
This reverts commit 722deedd2b.
2023-10-13 13:45:07 +02:00
tersec 722deedd2b
Revert "ci: adding self-hosted tag for github-runner (#4886)" (#5494)
This reverts commit acbfef9852.
2023-10-11 20:27:45 +00:00
apentori acbfef9852
ci: adding self-hosted tag for github-runner (#4886)
Signed-off-by: Alexis Pentori <alexis@status.im>
2023-10-11 20:26:18 +00:00
Etan Kissling a261384efc
exclude `*.service` files from lint check (#5440)
These `*.service` files are installed on user installations, so
referring to a license file outside their installation doesn't make
too much sense.
2023-09-18 21:54:06 +00:00
tersec a06c0c550f
enable Windows GitHub Actions with Nim 20 (#5413) 2023-09-12 04:57:20 +00:00
tersec 59ccd25d8d
disable GitHub Actions Windows CI harder 2023-09-08 16:35:39 +00:00
tersec b424d214c2
Windows GitHub Action builds OOM; disable (#5410) 2023-09-08 16:13:25 +00:00
Etan Kissling b8db44d761
update tested Nim versions (#5142)
Add `version-2-0` testing, and make upstream version testing Linux only.

Co-authored-by: tersec <tersec@users.noreply.github.com>
2023-09-06 19:00:15 +00:00
Etan Kissling f420f09ac1
less confusing lint error msg when bumping to very recent commit (#5400)
When bumping to a more recent commit than the configured `branch`,
currently the lint error message is confusing:

```
fatal: error processing shallow info: 4
Submodule 'vendor/nim-chronos': Failed to fetch 'master':
```

This happens when the selected commit is more recent than the latest
one on the `branch`. Comparing the commit dates allows a better message.
2023-09-06 18:52:31 +00:00
Etan Kissling 4d2fd8c2b6
fix branch check when bumping to commit outside of shallow range (#5349)
CI Lint check failed when bumping to a commit outside default shallow
range. Deepen the checkout through the bumped commit date to ensure
history is available for the ancestry check.
2023-08-24 18:23:05 +00:00
Etan Kissling bee0342f35
fix branch check in CI (#5326)
Use explicit refs to avoid occasional issues with branch check reporting
incorrectly that commit is not an ancestor of upstream head.
2023-08-19 20:49:52 +00:00
Etan Kissling 1fa3941aa5
set `WITH_UBSAN` correctly when running on GA (#5299)
GitHub actions script was not setting `WITH_UBSAN` correctly. Fix it.
2023-08-16 16:56:05 +00:00
Etan Kissling c26e8132fc
fix ubsan for `test_libnimbus_lc` (#5258)
Pass `-fsanitize=undefined` flag when compiling `test_libnimbus_lc`
when building in ubsan mode.
2023-08-07 07:57:56 +02:00
Etan Kissling 722b7f6f6b
move lint checks to separate job (#5200)
Running the lint checks separately allows running tests to check code
correctness even when targeting non-master branches or having outdated
copyright headers.
2023-07-19 13:55:23 +02:00
Etan Kissling 971b4483c5
add `libnimbus_lc.a` C library (#5122)
Add a new C library for processing light client data based on the Nimbus
implementation. This can be used from other, non-Nimbus components.
2023-07-19 09:48:39 +02:00
Etan Kissling 3c3a4ff3f3
run tests against both submodule and latest Nim (#5140)
Currently CI only tests against status `version-1-6` branch.
Update to test against the selected commit through submodule lock,
as well as the latest upstream `version-1-6` instead.
2023-06-28 23:24:23 +02:00
Zahary Karadjov af3ef5a9b0
Re-enable the ARM packaging 2023-06-27 03:58:10 +03:00
Zahary Karadjov 1bc9f3a67a
Disable the 32-bit ARM packaging 2023-06-22 11:19:16 +03:00
Etan Kissling 845bd3d570
ensure that submodule bumps are reachable (#5070)
It occurs sometimes that a submodule is bumped to a PR commit instead of
the corresponding canonical branch (as registered in `.gitmodules`).
Because we typically use `squash`, that PR commit can subsequently
become unreachable, randomly breaking the build of `nimbus-eth2`.
Prevent these accidents by only allowing submodule bumps to commits
on the branch registered in `.gitmodules`. On private branches, simply
update `.gitmodules` to match the personal dev branch.
2023-06-14 01:34:49 +00:00
tersec 3810c1b7d6
Revert "switch back to 20.04 build image (#4976)" (#5006)
This reverts commit f3719621ca.
2023-05-30 22:00:46 +00:00
tersec f3719621ca
switch back to 20.04 build image (#4976) 2023-05-30 21:27:22 +00:00
zah c22962f382
Tentative fix for the nightly build 2023-05-19 13:03:32 +03:00
tersec 8b7ec932cb
ideally temporarily switch GitHub Actions Linux CI build image 2023-05-18 21:16:25 +00:00
Etan Kissling 3a1c468991
use merge-base for copyright year check (#4907)
Instead of comparing against current base branch head, use the common
ancestor of the PR and the base branch to avoid false positives when
a year was bumped in the base branch but not yet merged into the PR.
2023-05-09 04:07:47 +02:00
Etan Kissling 28968c11ba
remove `SAFE_SLOTS_TO_UPDATE_JUSTIFIED` (#4897)
The `SAFE_SLOTS_TO_UPDATE_JUSTIFIED` constant is no longer used as the
bouncing attack fix was removed:
https://github.com/ethereum/consensus-specs/pull/3290

Note: Some test networks still define the constant, ignoring the config
constant for now until it is no longer used.
2023-05-05 18:11:38 +00:00
Etan Kissling 4a1b94bc2e
update Deneb ANSI art for readability 🐟 (#4885)
Make "L" characters wider to improve readability.

Thanks to http://beatscribe.com (beatscribe#1008 on Discord)
2023-05-03 22:25:01 +02:00
Etan Kissling ee1bda63fa
fix copyright year check if only submodules bumped (#4879)
When only submodules were bumped but no other changes are committed,
`git diff` returns empty list, and `grep` returns 1. Suppress `grep`
error to prevent CI fail in that case.
2023-04-29 18:39:39 +00:00
Etan Kissling 8ef6223026
ignore submodules in copyright check (#4874)
Otherwise, they get reported as missing copyright header whenever
selecting a new commit for a submodule.
2023-04-28 16:57:51 +02:00
Zahary Karadjov 1027b98ea0
Merge branch 'stable' into unstable 2023-04-28 11:00:15 +03:00
Zahary Karadjov c558dca726
Remove the 386 build from the Nightly release as it's no longer available 2023-04-28 10:59:46 +03:00
Zahary Karadjov 3b58711e6b
Merge branch 'stable' into unstable 2023-04-28 00:12:37 +03:00
Etan Kissling 40eb7477ae
only run copyright year check in pull requests (#4871)
On `unstable`, the `git diff` doesn't work, so only check during PR.
2023-04-27 16:46:09 +00:00
Zahary Karadjov e5a5731be6
Fix the cross-compilation for macOS and re-enable its packaging 2023-04-27 19:29:52 +03:00
Etan Kissling 351f043a61
check current copyright year in modified files (#4868)
On PR, ensure current year is listed in copyright of modified files.
Runs on Linux GitHub.
2023-04-27 17:55:11 +02:00
tersec 6a0a5c03ed
only run expensive UBSAN with probability 6.25% (#4781) 2023-04-03 16:27:07 +00:00
tersec 7892aaf08b
use UBSAN for `make test` in CI (#4763)
* use UBSAN for make test in CI

* none of the non-x86 Linux combinations works
2023-03-23 16:45:13 +02:00
tersec adeaa9e6c4
build make all targets in debug mode on GitHub Actions CI (#4655) 2023-02-27 11:30:13 +00:00
tersec c71bddb612
try not requiring brew install gnu-getopt (#4569) 2023-01-31 15:22:57 +02:00