@@ -50,20 +50,73 @@ jobs:
5050 run : |
5151 ./scripts/stop-influxdb.sh
5252
53+ # macos-13: Commented out - testing macos-15 instead (has native C++20 support)
54+ # macos:
55+ # runs-on: macos-13
56+ # # Note: macos-13 is Intel-based and will be deprecated Dec 2025. Docker is not available on any GitHub macOS runners.
57+ # # Integration tests run only on Linux. macOS job verifies build compiles on macOS.
58+ # # We install newer LLVM/Clang via Homebrew for better C++20 support.
59+ #
60+ # steps:
61+ # - uses: actions/checkout@v4
62+ #
63+ # - name: Install Homebrew LLVM (newer Clang for C++20 support)
64+ # run: |
65+ # brew install llvm
66+ # echo "$(brew --prefix llvm)/bin" >> $GITHUB_PATH
67+ #
68+ # - name: Cache Conan
69+ # uses: actions/cache@v4
70+ # with:
71+ # path: ~/.conan2
72+ # key: conan-${{ runner.os }}-${{ hashFiles('**/conanfile.py') }}
73+ # restore-keys: |
74+ # conan-${{ runner.os }}-
75+ #
76+ # - name: Install Conan
77+ # run: |
78+ # pip install conan
79+ #
80+ # - name: Configure Conan for C++20
81+ # run: |
82+ # conan profile detect --force
83+ # # Use Homebrew's llvm clang
84+ # brew_llvm=$(brew --prefix llvm)
85+ # sed -i '' "s|compiler=.*|compiler=clang|" ~/.conan2/profiles/default || true
86+ # sed -i '' "s|compiler\.version=.*|compiler.version=17|" ~/.conan2/profiles/default || true
87+ # sed -i '' "s|compiler\.libcxx=.*|compiler.libcxx=libc++|" ~/.conan2/profiles/default || true
88+ # # Override to C++20 (not gnu20 to match CMAKE_CXX_EXTENSIONS=OFF)
89+ # sed -i '' 's/compiler\.cppstd=.*/compiler.cppstd=20/' ~/.conan2/profiles/default || true
90+ # echo "compiler.cppstd=20" >> ~/.conan2/profiles/default || true
91+ # # Set compiler paths
92+ # echo "CC=${brew_llvm}/bin/clang" >> ~/.conan2/profiles/default
93+ # echo "CXX=${brew_llvm}/bin/clang++" >> ~/.conan2/profiles/default
94+ #
95+ # - name: Build project
96+ # run: |
97+ # # Ensure we're using Homebrew's clang
98+ # brew_llvm=$(brew --prefix llvm)
99+ # export CC="${brew_llvm}/bin/clang"
100+ # export CXX="${brew_llvm}/bin/clang++"
101+ # export PATH="${brew_llvm}/bin:${PATH}"
102+ # chmod +x scripts/build.sh scripts/test.sh scripts/start-influxdb.sh scripts/stop-influxdb.sh
103+ # ./scripts/build.sh Release
104+ #
105+ # - name: Skip integration tests (Docker unavailable on macOS)
106+ # run: |
107+ # echo "⚠️ Docker is not available on GitHub Actions macOS runners"
108+ # echo "Build completed successfully, but integration tests were skipped."
109+ # echo "For full test coverage, see the Linux runner which supports Docker natively."
110+
53111 macos :
54- runs-on : macos-13
55- # Note: macos-13 is Intel-based and will be deprecated Dec 2025. Docker is not available on any GitHub macOS runners.
112+ runs-on : macos-15
113+ # Note: Docker is not available on any GitHub macOS runners.
56114 # Integration tests run only on Linux. macOS job verifies build compiles on macOS.
57- # We install newer LLVM/Clang via Homebrew for better C++20 support .
115+ # macos-15 has native C++20 support, so no need for Homebrew LLVM installation .
58116
59117 steps :
60118 - uses : actions/checkout@v4
61119
62- - name : Install Homebrew LLVM (newer Clang for C++20 support)
63- run : |
64- brew install llvm
65- echo "$(brew --prefix llvm)/bin" >> $GITHUB_PATH
66-
67120 - name : Cache Conan
68121 uses : actions/cache@v4
69122 with :
@@ -79,25 +132,12 @@ jobs:
79132 - name : Configure Conan for C++20
80133 run : |
81134 conan profile detect --force
82- # Use Homebrew's llvm clang
83- brew_llvm=$(brew --prefix llvm)
84- sed -i '' "s|compiler=.*|compiler=clang|" ~/.conan2/profiles/default || true
85- sed -i '' "s|compiler\.version=.*|compiler.version=17|" ~/.conan2/profiles/default || true
86- sed -i '' "s|compiler\.libcxx=.*|compiler.libcxx=libc++|" ~/.conan2/profiles/default || true
87135 # Override to C++20 (not gnu20 to match CMAKE_CXX_EXTENSIONS=OFF)
88136 sed -i '' 's/compiler\.cppstd=.*/compiler.cppstd=20/' ~/.conan2/profiles/default || true
89137 echo "compiler.cppstd=20" >> ~/.conan2/profiles/default || true
90- # Set compiler paths
91- echo "CC=${brew_llvm}/bin/clang" >> ~/.conan2/profiles/default
92- echo "CXX=${brew_llvm}/bin/clang++" >> ~/.conan2/profiles/default
93138
94139 - name : Build project
95140 run : |
96- # Ensure we're using Homebrew's clang
97- brew_llvm=$(brew --prefix llvm)
98- export CC="${brew_llvm}/bin/clang"
99- export CXX="${brew_llvm}/bin/clang++"
100- export PATH="${brew_llvm}/bin:${PATH}"
101141 chmod +x scripts/build.sh scripts/test.sh scripts/start-influxdb.sh scripts/stop-influxdb.sh
102142 ./scripts/build.sh Release
103143
0 commit comments