Browse Source

CI: upgrade Ubuntu version to get newer Clang. Add C++26 build test. (#7954)

ocornut 1 year ago
parent
commit
e3cb016328
2 changed files with 15 additions and 4 deletions
  1. 14 3
      .github/workflows/build.yml
  2. 1 1
      examples/example_null/Makefile

+ 14 - 3
.github/workflows/build.yml

@@ -218,7 +218,7 @@ jobs:
         run: '"%MSBUILD_PATH%\MSBuild.exe" examples/example_win32_directx12/example_win32_directx12.vcxproj /p:Platform=x64 /p:Configuration=Release'
 
   Linux:
-    runs-on: ubuntu-22.04
+    runs-on: ubuntu-24.04
     steps:
     - uses: actions/checkout@v4
 
@@ -433,6 +433,17 @@ jobs:
         EOF
         clang++ -I. -std=c++11 -Wall -Wformat -o example_single_file example_single_file.cpp
 
+    - name: Build example_null (single file build, c++26)
+      run: |
+        cat > example_single_file.cpp <<'EOF'
+
+        #define IMGUI_IMPLEMENTATION
+        #include "misc/single_file/imgui_single_file.h"
+        #include "examples/example_null/main.cpp"
+
+        EOF
+        clang++ -I. -std=c++26 -Wall -Wformat -o example_single_file example_single_file.cpp
+
     - name: Build example_null (without c++ runtime)
       run: |
         cat > example_single_file.cpp <<'EOF'
@@ -481,7 +492,7 @@ jobs:
         xcodebuild -project examples/example_apple_metal/example_apple_metal.xcodeproj -target example_apple_metal_ios CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO
 
   Emscripten:
-    runs-on: ubuntu-22.04
+    runs-on: ubuntu-24.04
     steps:
     - uses: actions/checkout@v4
 
@@ -508,7 +519,7 @@ jobs:
         make -C examples/example_glfw_wgpu -f Makefile.emscripten
 
   Android:
-    runs-on: ubuntu-22.04
+    runs-on: ubuntu-24.04
     steps:
     - uses: actions/checkout@v4
 

+ 1 - 1
examples/example_null/Makefile

@@ -1,6 +1,6 @@
 #
 # Cross Platform Makefile
-# Compatible with MSYS2/MINGW, Ubuntu 14.04.1 and Mac OS X
+# Compatible with MSYS2/MINGW, Ubuntu 14.04.1+ and Mac OS X
 #
 # Important: This is a "null backend" application, with no visible output or interaction!
 # This is used for testing purpose and continuous integration, and has little use for end-user.