]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
GHA/macos: add macos-26, llvm20, gcc15, drop macos-14, gcc14
authorViktor Szakats <commit@vsz.me>
Tue, 23 Sep 2025 13:45:49 +0000 (15:45 +0200)
committerViktor Szakats <commit@vsz.me>
Tue, 23 Sep 2025 18:24:21 +0000 (20:24 +0200)
Number of combo jobs down to 22 from 24.

Also:
- update the version matrix.
- update exclusion matrix.
- include verbose compiler configuration dump.
  It makes the Apple-included, default `-I/usr/local/include` visible.
  Ref: #18683

Closes #18698

.github/workflows/macos.yml

index 0fd9d20f5b38b042915052d0cd07d8cfe858ef6b..0eb8f7e8423ebb705a7c2bd24a967c23a28b5636 100644 (file)
@@ -104,6 +104,7 @@ jobs:
           xcodebuild -sdk -version | grep '^Path:' || true
           xcrun --sdk iphoneos --show-sdk-path 2>/dev/null || true
           xcrun --sdk iphoneos --show-sdk-version || true
+          echo '::group::compiler defaults'; echo 'int main(void) {}' | "${CC}" -v -x c -; echo '::endgroup::'
           echo '::group::macros predefined'; "${CC}" -dM -E - < /dev/null | sort || true; echo '::endgroup::'
           echo '::group::brew packages installed'; ls -l /opt/homebrew/opt; echo '::endgroup::'
 
@@ -555,18 +556,24 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        compiler: [gcc-12, gcc-13, gcc-14, llvm@15, llvm@18, clang]
+        # Sources:
+        # https://github.com/actions/runner-images/blob/main/images/macos/macos-13-arm64-Readme.md
+        # https://github.com/actions/runner-images/blob/main/images/macos/macos-14-arm64-Readme.md
+        # https://github.com/actions/runner-images/blob/main/images/macos/macos-15-arm64-Readme.md
+        # https://github.com/actions/runner-images/blob/main/images/macos/macos-26-arm64-Readme.md
+        compiler: [gcc-12, gcc-13, gcc-15, llvm@15, llvm@18, llvm@20, clang]
         # Xcode support matrix as of 2024-07, with default macOS SDK versions and OS names, years:
         # * = default Xcode on the runner.
         # macos-13: 14.1, 14.2, 14.3.1, 15.0.1, 15.1,*15.2
         # macos-14:                     15.0.1, 15.1, 15.2, 15.3,*15.4
-        # macos-15:                                                    *16.0, 16.1
-        # macOSSDK: 13.0, 13.1, 13.3,   14.0,   14.2, 14.2, 14.4, 14.5, 15.0, 15.1
-        #           Ventura (2022)      Sonoma (2023)                   Sequoia (2024)
+        # macos-15:                                                     16.0, 16.1, 16.2, 16.3,*16.4, 26.0
+        # macos-26:                                                                             16.4 *26.0
+        # macOSSDK: 13.0, 13.1, 13.3,   14.0,   14.2, 14.2, 14.4, 14.5, 15.0, 15.1, 15.2, 15.4, 15.5, 26.0
+        #           Ventura (2022)      Sonoma (2023)                   Sequoia (2024)                Tahoe (2025)
         # https://github.com/actions/runner-images/tree/main/images/macos
         # https://en.wikipedia.org/wiki/MacOS_version_history
         # TODO when dropping macos-13: replace '$(brew --prefix ...' with /opt/homebrew
-        image: [macos-13, macos-14, macos-15]
+        image: [macos-13, macos-15, macos-26]
         # Can skip these to reduce jobs:
         #   15.1 has the same default macOS SDK as 15.2 and identical test results.
         #   14.1, 15.4 not revealing new fallouts.
@@ -582,11 +589,19 @@ jobs:
           - { image: macos-13, xcode: '15.4'   }
           - { image: macos-13, xcode: '16.0'   }
           - { image: macos-13, xcode: '16.1'   }
+          - { image: macos-13, xcode: '16.2'   }
+          - { image: macos-13, xcode: '16.3'   }
+          - { image: macos-13, xcode: '16.4'   }
+          - { image: macos-13, xcode: '26.0'   }
           - { image: macos-14, xcode: '14.1'   }
           - { image: macos-14, xcode: '14.2'   }
           - { image: macos-14, xcode: '14.3.1' }
           - { image: macos-14, xcode: '16.0'   }
           - { image: macos-14, xcode: '16.1'   }
+          - { image: macos-14, xcode: '16.2'   }
+          - { image: macos-14, xcode: '16.3'   }
+          - { image: macos-14, xcode: '16.4'   }
+          - { image: macos-14, xcode: '26.0'   }
           - { image: macos-15, xcode: '14.1'   }
           - { image: macos-15, xcode: '14.2'   }
           - { image: macos-15, xcode: '14.3.1' }
@@ -595,12 +610,31 @@ jobs:
           - { image: macos-15, xcode: '15.2'   }
           - { image: macos-15, xcode: '15.3'   }
           - { image: macos-15, xcode: '15.4'   }
+          - { image: macos-26, xcode: '14.1'   }
+          - { image: macos-26, xcode: '14.2'   }
+          - { image: macos-26, xcode: '14.3.1' }
+          - { image: macos-26, xcode: '15.0.1' }
+          - { image: macos-26, xcode: '15.1'   }
+          - { image: macos-26, xcode: '15.2'   }
+          - { image: macos-26, xcode: '15.3'   }
+          - { image: macos-26, xcode: '15.4'   }
+          - { image: macos-26, xcode: '16.0'   }
+          - { image: macos-26, xcode: '16.1'   }
+          - { image: macos-26, xcode: '16.2'   }
+          - { image: macos-26, xcode: '16.3'   }
           - { image: macos-13, compiler: 'llvm@18' }
+          - { image: macos-13, compiler: 'llvm@20' }
           - { image: macos-14, compiler: 'llvm@18' }
+          - { image: macos-14, compiler: 'llvm@20' }
           - { image: macos-15, compiler: 'llvm@15' }
+          - { image: macos-15, compiler: 'llvm@20' }
+          - { image: macos-26, compiler: 'llvm@15' }
+          - { image: macos-26, compiler: 'llvm@18' }
+          - { image: macos-26, compiler: 'gcc-12' }
           # Reduce build combinations, by dropping less interesting ones
           - { compiler: gcc-13, build: cmake }
           - { compiler: gcc-14, build: autotools }
+          - { compiler: gcc-15, build: autotools }
     steps:
       - name: 'install autotools'
         if: ${{ matrix.build == 'autotools' }}
@@ -617,6 +651,7 @@ jobs:
           xcrun --sdk macosx --show-sdk-path 2>/dev/null || true
           xcrun --sdk macosx --show-sdk-version || true
           ls -l /Library/Developer/CommandLineTools/SDKs || true
+          echo '::group::compiler defaults'; echo 'int main(void) {}' | "${CC}" -v -x c -; echo '::endgroup::'
           echo '::group::macros predefined'; "${CC}" -dM -E - < /dev/null | sort || true; echo '::endgroup::'
           echo '::group::brew packages preinstalled'; ls -l "$(brew --prefix)/opt"; echo '::endgroup::'