Skip to content

[CI] Regression test jobs now include the C++ standard version and (if applicable) the standard library to link with #1080

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

Merged
merged 2 commits into from
May 24, 2024

Conversation

bluetarpmedia
Copy link
Contributor

  • Jobs now specify the C++ standard version to compile for, and (if applicable) the standard library to link with
  • Add a new job to test clang with libc++ on ubuntu. (All other ubuntu jobs for gcc & clang link with libstdc++.)
  • Add a new msvc job so that we now test both c++latest and c++20.
  • Reorder jobs so that GCC are first, then clang on ubuntu & macOS, and then msvc on Windows

Job names now have this format:
<short os name> | <compiler> | <c++ std> | <std library> | <full os name>

The summary job list shows them like this (which unfortunately still crops the end):
image

Full name when you click into a job:
image

The test-results directories now include the C++ standard and, only for libc++ on ubuntu, the standard library name.

image

…licable) the standard library to link with

* Add a new job to test clang with libc++ on ubuntu. (All other ubuntu jobs for gcc & clang link with libstdc++.)

* Add a new msvc job so that we now test `c++latest` and `c++20`.

* Job names now include more information:
<short os name> | <compiler> | <c++ std> | <std library> | <full os name>

* Reorder jobs so that GCC are first, then clang on ubuntu & macOS, and then msvc on Windows

e.g.
ubu-24 | g++-14 | c++2b | libstdc++ | ubuntu-24.04
mac-13 | clang++ | c++2b | default | macos-13
win-22 | cl.exe | c++latest | default | windows-2022
Copy link
Contributor

@jarzec jarzec left a comment

Choose a reason for hiding this comment

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

LGTM
Cool, thanks! I was thinking of adding std lib version but never had time.
BTW as usual https://github.com/hsutter/cppfront/pull/1080/files is not very responsive for big diffs and freezes after some time.
I suggest reviewing in VSCode through https://github.dev/hsutter/cppfront/pull/1080/files.

REM cl /std:c++latest /EHsc /nologo /W4 /MD /c "%VCToolsInstallDir%\modules\std.ixx"
REM cl /std:c++latest /EHsc /nologo /W4 /MD /c "%VCToolsInstallDir%\modules\std.compat.ixx"
REM cl /std:c++20 /EHsc /nologo /W4 /MD /c "%VCToolsInstallDir%\modules\std.ixx"
REM cl /std:c++20 /EHsc /nologo /W4 /MD /c "%VCToolsInstallDir%\modules\std.compat.ixx"
Copy link
Contributor

Choose a reason for hiding this comment

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

I overlooked this change in my first review. It is OK with me, but @hsutter please confirm this is something you want. I guess you use this script a lot, don't you?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

That change is in the new msvc c++20 directory. The original bat file is unchanged but its directory now has c++latest in its name.

Copy link
Contributor

Choose a reason for hiding this comment

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

Sorry, my bad.

@hsutter
Copy link
Owner

hsutter commented May 24, 2024

Thanks! Sounds like this has been reviewed and is all set to go.

@hsutter hsutter merged commit c8e097a into hsutter:main May 24, 2024
25 checks passed
@bluetarpmedia bluetarpmedia deleted the ci-cxxstd-stdlib branch June 13, 2024 02:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants