martinmoene / expected-lite

expected lite - Expected objects in C++11 and later in a single-file header-only library
Boost Software License 1.0
389 stars 35 forks source link

Update actions/checkout in GitHub Actions to v4 #63

Closed striezel closed 10 months ago

striezel commented 10 months ago

This updates actions/checkout in the GitHub Actions workflows to v4, it's current version.

Changelog:

v4.1.0

  • Add support for partial checkout filters

v4.0.0

  • Support fetching without the --progress option
  • Update to node20
striezel commented 10 months ago

The logs of the failed clang jobs contain (among others) the following error messages:

In file included from /home/runner/work/expected-lite/expected-lite/test/expected-main.t.cpp:8:
In file included from /home/runner/work/expected-lite/expected-lite/test/./expected-main.t.hpp:45:
In file included from /home/runner/work/expected-lite/expected-lite/test/lest/lest.hpp:13:
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/chrono:2320:48: error: call to consteval function 'std::chrono::hh_mm_ss::_S_fractional_width' is not a constant expression
        static constexpr unsigned fractional_width = {_S_fractional_width()};
                                                      ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/chrono:2320:48: note: undefined function '_S_fractional_width' cannot be used in a constant expression
/usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/chrono:2275:2: note: declared here
        _S_fractional_width()
        ^
1 error generated.

I am not completely sure, but it may be related to an open issue with the GitHub runner images: https://github.com/actions/runner-images/issues/8659 As far as I understand it (and I may be wrong here), Clang uses libstdc++, the C++ standard library implementation of GCC, and those particular versions seem to be incompatible with each other. So a possible workaround may be to try different versions of libstdc++.

striezel commented 10 months ago

I've just added a workaround for the above issue in commit 97feee76121baf373031131b9c41fcb0162288b4. Let's see whether this works.

striezel commented 10 months ago

It seems to work, both clang build jobs are green. :)