Skip to content

Commit a60c55b

Browse files
committed
try macos-15
1 parent f137a1c commit a60c55b

File tree

1 file changed

+61
-21
lines changed

1 file changed

+61
-21
lines changed

.github/workflows/ci.yml

Lines changed: 61 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)