-
Notifications
You must be signed in to change notification settings - Fork 119
ci: experiment with new mingw clang64 #808
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
base: main
Are you sure you want to change the base?
Changes from all commits
aa5245f
22fe051
5151829
f270b4e
fa486a2
77af0b5
14ccc57
4276e58
2c663c1
38a5a41
a1fa459
089385a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,57 @@ | ||||||||||||||||||
| name: MinGW Clang64 Full Pipeline | ||||||||||||||||||
|
|
||||||||||||||||||
| on: | ||||||||||||||||||
| push: | ||||||||||||||||||
| branches: [ main ] | ||||||||||||||||||
| pull_request: | ||||||||||||||||||
| branches: [ main ] | ||||||||||||||||||
|
|
||||||||||||||||||
| jobs: | ||||||||||||||||||
| build: | ||||||||||||||||||
| strategy: | ||||||||||||||||||
| fail-fast: false | ||||||||||||||||||
| matrix: | ||||||||||||||||||
| profile: [RelWithDebInfo, Debug] | ||||||||||||||||||
|
|
||||||||||||||||||
| name: MinGW Clang64 Build (${{ matrix.profile }}) | ||||||||||||||||||
| runs-on: windows-2025 | ||||||||||||||||||
|
|
||||||||||||||||||
|
||||||||||||||||||
| steps: | ||||||||||||||||||
| - name: Checkout code | ||||||||||||||||||
| uses: actions/checkout@v4 | ||||||||||||||||||
|
|
||||||||||||||||||
|
|
||||||||||||||||||
| - name: Setup MSYS2 | ||||||||||||||||||
| id: msys2 | ||||||||||||||||||
| uses: msys2/setup-msys2@v2 | ||||||||||||||||||
|
Comment on lines
+23
to
+26
|
||||||||||||||||||
| - name: Setup MSYS2 | |
| id: msys2 | |
| uses: msys2/setup-msys2@v2 | |
| - name: Setup MSYS2 | |
| id: msys2 | |
| uses: msys2/setup-msys2@v2 | |
| uses: msys2/setup-msys2@v2 |
Copilot
AI
Feb 3, 2026
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.
The configure step is missing the -DSNMALLOC_CI_BUILD=ON flag that is consistently used in other CI workflows. This flag enables additional debug information and backtrace support in CI builds, which would be beneficial for debugging failures in this workflow as well.
| -DCMAKE_C_COMPILER=clang | |
| -DCMAKE_C_COMPILER=clang | |
| -DSNMALLOC_CI_BUILD=ON |
Copilot
AI
Feb 3, 2026
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.
There is trailing whitespace at the end of this line. Removing it would improve consistency.
Copilot
AI
Feb 3, 2026
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.
The ctest invocation is missing common flags used in other workflows. It should include --output-on-failure to provide better debugging information when tests fail, -j 4 for parallel execution, and --timeout 400 to prevent hanging tests. For consistency with other workflows (see .github/workflows/reusable-cmake-build.yml:115), consider using: ctest --output-on-failure -j 4 -C ${{ matrix.profile }} --timeout 400
| ctest | |
| ctest --output-on-failure -j 4 -C ${{ matrix.profile }} --timeout 400 |
Copilot
AI
Feb 3, 2026
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.
There is trailing whitespace at the end of this line. Removing it would improve consistency.
| Original file line number | Diff line number | Diff line change | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -280,6 +280,12 @@ if(MSVC) | |||||||||
| target_compile_options(snmalloc INTERFACE "/Zc:__cplusplus") | ||||||||||
| endif() | ||||||||||
|
|
||||||||||
| if(MINGW) | ||||||||||
| if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") | ||||||||||
| target_compile_options(snmalloc INTERFACE "-fms-extensions") | ||||||||||
| endif() | ||||||||||
| endif() | ||||||||||
|
|
||||||||||
| if (CMAKE_SYSTEM_NAME STREQUAL NetBSD) | ||||||||||
| target_include_directories(snmalloc INTERFACE /usr/pkg/include) | ||||||||||
| target_link_directories(snmalloc INTERFACE /usr/pkg/lib) | ||||||||||
|
|
@@ -381,9 +387,10 @@ function(add_warning_flags name) | |||||||||
| $<$<CXX_COMPILER_ID:MSVC>:/Zi /W4 /WX /wd4127 /wd4324 /wd4201> | ||||||||||
| $<$<NOT:$<OR:$<CXX_COMPILER_ID:MSVC>,$<STREQUAL:${CMAKE_CXX_SIMULATE_ID},MSVC>>>:-fno-rtti -Wall -Wextra -Werror -Wundef> | ||||||||||
| $<$<CXX_COMPILER_ID:Clang>:-Wsign-conversion -Wconversion>) | ||||||||||
|
|
||||||||||
| target_link_options(${name} PRIVATE | ||||||||||
|
Comment on lines
+390
to
391
|
||||||||||
| target_link_options(${name} PRIVATE | |
| target_link_options(${name} PRIVATE |
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.
The job is missing a timeout-minutes configuration. Other workflows in this repository consistently set timeout-minutes (e.g., 30 minutes for similar build jobs in reusable-cmake-build.yml). This is important to prevent jobs from hanging indefinitely and consuming runner resources.