-
Notifications
You must be signed in to change notification settings - Fork 82
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
[INFRA] CI and Compilers #3270
[INFRA] CI and Compilers #3270
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #3270 +/- ##
==========================================
- Coverage 98.18% 98.12% -0.07%
==========================================
Files 270 270
Lines 11885 11921 +36
Branches 0 105 +105
==========================================
+ Hits 11669 11697 +28
- Misses 216 224 +8 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks all good to me.
I have only some open questions. Otherwise this can be merged after squahsing the debug commit.
- name: Install CMake | ||
uses: seqan/actions/setup-cmake@main | ||
with: | ||
cmake: 3.16.9 | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not running inside a docker container?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not yet, because I didnt do doxygen-containers, and we don't need compilers for the documentation build.
I just use the default cmake version.
if: github.repository_owner == 'seqan' || github.event_name == 'workflow_dispatch' || github.event.label.name == 'lint' | ||
strategy: | ||
fail-fast: true | ||
fail-fast: false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this change necessary?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not necessary, but I come to find it rather annoying that all jobs are cancelled when a single job fails :)
@@ -4,6 +4,8 @@ | |||
|
|||
cmake_minimum_required (VERSION 3.14) | |||
|
|||
cmake_policy (SET CMP0135 NEW) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you please add a comment what this policy is for.
Maybe that explains why it is set already. Otherwise, please enlighten me :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll add a link to https://cmake.org/cmake/help/latest/policy/CMP0135.html
There was a segfault in `enforce_random_iterator_test::adaptor`. `auto v3 = test_range | seqan3::views::enforce_random_access | std::views::drop(1);` llvm-18 caches some iterator. It will then call `begin() + pos`, where position is the cached distance, in this case 1 from the drop view. This then calls `operator+` from, at some point, the inherited_iterator_base. The actual iterator is `sentinel_pseudo_random_access_range::test_iterator`. With `derived_t{as_base() - skip}`, the constructor with only the base iterator is called `inherited_iterator_base(base_t it)`. However, the `test_iterator` also has a member `last`, which in this case would be defaulted to a `nullptr` (the std::vector<int> iterator decays to a int*). This means that for `std::ranges::copy` `first != last` will always be false. The fix is to properly implement `inherited_iterator_base`'s operators that return a copy to first copy the derived iterator instead of constructing a new one.
SEQAN3_VERBOSE_TESTS
toOFF
.ON
is a bad default because we basically always set it toOFF
explicitlyI did not yet update the cron jobs (follow-up).