Skip to content
Open
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 10 additions & 18 deletions .config/nextest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@ rsync -av gear-cli-and-runtime-release/ target/release/
chmod +x target/release/gear
''']

[scripts.setup.set-envs]
command = ["bash", "-c", '''
echo "CARGO_BUILD_JOBS=1" >> $NEXTEST_ENV
Comment thread
ark0f marked this conversation as resolved.
Outdated
echo "RAYON_NUM_THREADS=1" >> $NEXTEST_ENV
''']

[profile.default]
leak-timeout = { period = "5s", result = "fail" }
slow-timeout = { period = "1m", terminate-after = 5 }
Expand All @@ -15,6 +21,10 @@ path = "junit.xml"
store-success-output = false
store-failure-output = true

[[profile.default.scripts]]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

Given the PR title chore(ci): Limited parallelism, it seems these parallelism limits are intended only for the CI environment. Applying this to the default profile will also slow down local test runs for all developers, which might be an unintended side effect.

To scope this change only to CI, consider applying this script to the ci profile instead.

Suggested change
[[profile.default.scripts]]
[[profile.ci.scripts]]

filter = 'all()'
setup = "set-envs"

[profile.ci]
fail-fast = false
archive.include = [
Expand All @@ -26,25 +36,7 @@ path = "junit.xml"
store-success-output = false
store-failure-output = true

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

While limiting parallelism is a good strategy to improve test stability, removing all retries might be too aggressive. Retries can still be valuable for handling transient, non-resource-contention-related flakes (e.g., network glitches).

Consider re-introducing the [[profile.ci.overrides]] blocks but with a reduced number of retries (e.g., retries = 2) and without the threads-required setting, which is now globally controlled.

# sdk
[[profile.ci.overrides]]
filter = 'package(gsdk) or package(gcli)'
retries = 5

[[profile.ci.scripts]]
filter = 'package(gsdk) or package(gcli)'
platform = "cfg(unix)"
setup = "replace-node-and-runtime"

# sometimes fails on CI machine in debug profile
# due to an inconsistent machine load and unoptimized code
[[profile.ci.overrides]]
filter = 'package(gear-authorship)'
retries = 5
threads-required = 4

# ethexe
[[profile.ci.overrides]]
filter = 'package(ethexe-service) or package(ethexe-observer)'
retries = 5
threads-required = 4
Loading