Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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
1 change: 1 addition & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ jobs:
bully-build:
name: Bully build
runs-on: self-hosted
needs: test
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

This is unrelated to the opt-level change, but seems to make CI run better (prevents some kind of race causing a file to be deleted which is still needed by other tests).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Hmm, that's interesting.
I suspect that, unfortunately, this will not solve the problem. Two or more concurrent "test" jobs can possibly produce the same issue.
Let me explain: each job is launched on random free runner (1 of 16), so each of them have it's own isolated workdir. Except only moment - they still share target/release and target/debug directories (you can see that I made them as symlinks), and this directories are shared for all runs and all jobs (even concurrent). I did a little research before doing it, it was stated that cargo target dir is OK for concurrent builds, but after seeing this - I doubt a lot. I mean, it's impossible to explain those races another way (because those are only files that are shared/concurrently used). I should probably redesign this part...
Do you know which particular file was under race? If it's under target/release or target/debug - it's definitely my fault here :)

steps:
- name: Clone the repository
uses: actions/checkout@v2
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ autobenches = false
crate-type = ["cdylib", "rlib"]

[profile.release]
opt-level = "z"
opt-level = 3
debug = false
debug-assertions = false
overflow-checks = true
Expand Down