Skip to content

Commit 039332f

Browse files
authored
Merge branch 'main' into change_cmake
2 parents d3752df + ebe0527 commit 039332f

19 files changed

+667
-344
lines changed

.github/pull_request_template.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Description
2+
3+
Please include a summary of changes, motivation and context for this PR.
4+
5+
Fixes # (issue)
6+
7+
## Type of change
8+
9+
Please tick all options which are relevant.
10+
11+
- [ ] Bug fix
12+
- [ ] New feature
13+
- [ ] Requires documentation updates
14+
15+
## Testing
16+
17+
Please describe the test(s) that you added and ran to verify your changes.
18+
19+
## Checklist
20+
21+
- [ ] I have read the contribution guide recently

.github/workflows/ci.yml

Lines changed: 83 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -86,40 +86,40 @@ jobs:
8686
cppyy: Off
8787
llvm_enable_projects: "clang"
8888
llvm_targets_to_build: "host;NVPTX"
89-
- name: osx14-arm-clang-clang-repl-19
90-
os: macos-14
89+
- name: osx15-arm-clang-clang-repl-19
90+
os: macos-15
9191
compiler: clang
9292
clang-runtime: '19'
9393
cling: Off
9494
cppyy: On
9595
llvm_enable_projects: "clang;lld"
9696
llvm_targets_to_build: "WebAssembly;host;NVPTX"
97-
- name: osx14-arm-clang-clang-repl-18
98-
os: macos-14
97+
- name: osx15-arm-clang-clang-repl-18
98+
os: macos-15
9999
compiler: clang
100100
clang-runtime: '18'
101101
cling: Off
102102
cppyy: On
103103
llvm_enable_projects: "clang"
104104
llvm_targets_to_build: "host;NVPTX"
105-
- name: osx14-arm-clang-clang-repl-17
106-
os: macos-14
105+
- name: osx15-arm-clang-clang-repl-17
106+
os: macos-15
107107
compiler: clang
108108
clang-runtime: '17'
109109
cling: Off
110110
cppyy: On
111111
llvm_enable_projects: "clang"
112112
llvm_targets_to_build: "host;NVPTX"
113-
- name: osx14-arm-clang-clang-repl-16
114-
os: macos-14
113+
- name: osx15-arm-clang-clang-repl-16
114+
os: macos-15
115115
compiler: clang
116116
clang-runtime: '16'
117117
cling: Off
118118
cppyy: On
119119
llvm_enable_projects: "clang"
120120
llvm_targets_to_build: "host;NVPTX"
121-
- name: osx14-arm-clang-clang13-cling
122-
os: macos-14
121+
- name: osx15-arm-clang-clang13-cling
122+
os: macos-15
123123
compiler: clang
124124
clang-runtime: '13'
125125
cling: On
@@ -291,13 +291,31 @@ jobs:
291291
echo "CC=gcc-${vers}" >> $GITHUB_ENV
292292
echo "CXX=g++-${vers}" >> $GITHUB_ENV
293293
else
294-
echo "SDKROOT=$(xcrun --sdk macosx --show-sdk-path)" >> $GITHUB_ENV
295-
#Use clang-15 and clang++-15 compiler that is installed on runner, instead of one
296-
#provided by MacOS (could brew install clang-16/17 to use consistent version
297-
#of clang)
298-
echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
299-
echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
294+
export ARCHITECHURE=$(uname -m)
295+
if [[ "$ARCHITECHURE" == "arm64" ]]; then
296+
cling_on=$(echo "${{ matrix.cling }}" | tr '[:lower:]' '[:upper:]')
297+
if [[ "${cling_on}" == "ON" ]]; then
298+
brew install llvm@15
299+
brew remove llvm@18
300+
brew cleanup
301+
#FIXME: Do not believe setting all these environment variables are necessary
302+
# They were set to avoid using Xcodes libc++ and to stop CppInterOp using llvm@18 in tests
303+
echo 'LDFLAGS="-L/opt/homebrew/opt/llvm@15/lib/ -L/opt/homebrew/opt/llvm@15/c++/"' >> $GITHUB_ENV
304+
echo 'CPPFLAGS="-I/opt/homebrew/opt/llvm@15/include"' >> $GITHUB_ENV
305+
echo 'CPATH="/opt/homebrew/include/"' >> $GITHUB_ENV
306+
echo 'LIBRARY_PATH="/opt/homebrew/lib/"' >> $GITHUB_ENV
307+
echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
308+
echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
309+
else
310+
echo "CC=$(brew --prefix llvm@18)/bin/clang" >> $GITHUB_ENV
311+
echo "CXX=$(brew --prefix llvm@18)/bin/clang++" >> $GITHUB_ENV
312+
fi
313+
else
314+
echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
315+
echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
316+
fi
300317
fi
318+
echo "SDKROOT=$(xcrun --sdk macosx --show-sdk-path)" >> $GITHUB_ENV
301319
env:
302320
compiler: ${{ matrix.compiler }}
303321

@@ -345,10 +363,11 @@ jobs:
345363
if: ${{ runner.os == 'macOS' && steps.cache.outputs.cache-hit != 'true' }}
346364
run: |
347365
brew update
348-
brew remove [email protected]
349366
export ARCHITECHURE=$(uname -m)
350367
if [[ "$ARCHITECHURE" != "x86_64" ]]; then
351368
brew remove unxip
369+
else
370+
brew remove [email protected]
352371
fi
353372
# workaround for https://github.com/actions/setup-python/issues/577
354373
for pkg in $(brew list | grep '^python@'); do
@@ -585,32 +604,32 @@ jobs:
585604
# clang-runtime: '17'
586605
# cling: Off
587606
# cppyy: On
588-
- name: osx14-arm-clang-clang-repl-19-cppyy
589-
os: macos-14
607+
- name: osx15-arm-clang-clang-repl-19-cppyy
608+
os: macos-15
590609
compiler: clang
591610
clang-runtime: '19'
592611
cling: Off
593612
cppyy: On
594-
- name: osx14-arm-clang-clang-repl-18-cppyy
595-
os: macos-14
613+
- name: osx15-arm-clang-clang-repl-18-cppyy
614+
os: macos-15
596615
compiler: clang
597616
clang-runtime: '18'
598617
cling: Off
599618
cppyy: On
600-
- name: osx14-arm-clang-clang-repl-17-cppyy
601-
os: macos-14
619+
- name: osx15-arm-clang-clang-repl-17-cppyy
620+
os: macos-15
602621
compiler: clang
603622
clang-runtime: '17'
604623
cling: Off
605624
cppyy: On
606-
- name: osx14-arm-clang-clang-repl-16
607-
os: macos-14
625+
- name: osx15-arm-clang-clang-repl-16
626+
os: macos-15
608627
compiler: clang
609628
clang-runtime: '16'
610629
cling: Off
611630
cppyy: Off
612-
- name: osx14-arm-clang-clang13-cling-cppyy
613-
os: macos-14
631+
- name: osx15-arm-clang-clang13-cling-cppyy
632+
os: macos-15
614633
compiler: clang
615634
clang-runtime: '13'
616635
cling: On
@@ -761,11 +780,29 @@ jobs:
761780
echo "CXX=g++-${vers}" >> $GITHUB_ENV
762781
else
763782
echo "SDKROOT=$(xcrun --sdk macosx --show-sdk-path)" >> $GITHUB_ENV
764-
#Use clang-15 and clang++-15 compiler that is installed on runner, instead of one
765-
#provided by MacOS (could brew install clang-16/17 to use consistent version
766-
#of clang)
767-
echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
768-
echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
783+
export ARCHITECHURE=$(uname -m)
784+
if [[ "$ARCHITECHURE" == "arm64" ]]; then
785+
cling_on=$(echo "${{ matrix.cling }}" | tr '[:lower:]' '[:upper:]')
786+
if [[ "${cling_on}" == "ON" ]]; then
787+
brew install llvm@15
788+
brew remove llvm@18
789+
brew cleanup
790+
#FIXME: Do not believe setting all these environment variables are necessary
791+
# They were set to avoid using Xcodes libc++ and to stop CppInterOp using llvm@18 in tests
792+
echo 'LDFLAGS="-L/opt/homebrew/opt/llvm@15/lib/ -L/opt/homebrew/opt/llvm@15/c++/"' >> $GITHUB_ENV
793+
echo 'CPPFLAGS="-I/opt/homebrew/opt/llvm@15/include"' >> $GITHUB_ENV
794+
echo 'CPATH="/opt/homebrew/include/"' >> $GITHUB_ENV
795+
echo 'LIBRARY_PATH="/opt/homebrew/lib/"' >> $GITHUB_ENV
796+
echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
797+
echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
798+
else
799+
echo "CC=$(brew --prefix llvm@18)/bin/clang" >> $GITHUB_ENV
800+
echo "CXX=$(brew --prefix llvm@18)/bin/clang++" >> $GITHUB_ENV
801+
fi
802+
else
803+
echo "CC=$(brew --prefix llvm@15)/bin/clang" >> $GITHUB_ENV
804+
echo "CXX=$(brew --prefix llvm@15)/bin/clang++" >> $GITHUB_ENV
805+
fi
769806
fi
770807
env:
771808
compiler: ${{ matrix.compiler }}
@@ -813,9 +850,9 @@ jobs:
813850
if: runner.os == 'macOS'
814851
run: |
815852
brew update --force
816-
brew remove [email protected]
817853
export ARCHITECHURE=$(uname -m)
818854
if [[ "$ARCHITECHURE" == "x86_64" ]]; then
855+
brew remove [email protected]
819856
brew remove swiftlint
820857
else
821858
brew remove unxip
@@ -897,6 +934,7 @@ jobs:
897934
docs_on=$(echo "${{ matrix.documentation }}" | tr '[:lower:]' '[:upper:]')
898935
if [[ "${docs_on}" == "ON" ]]; then
899936
cmake --build . --target doxygen-cppinterop --parallel ${{ env.ncpus }}
937+
cmake --build . --target sphinx-cppinterop --parallel ${{ env.ncpus }}
900938
else
901939
cmake --build . --target check-cppinterop --parallel ${{ env.ncpus }}
902940
if [[ ("${os}" == "ubuntu"*) ]]; then
@@ -1145,18 +1183,21 @@ jobs:
11451183
clang-runtime: '19'
11461184
cling: Off
11471185
micromamba_shell_init: bash
1148-
- name: osx14-arm-clang-clang-repl-19-emscripten_wasm
1149-
os: macos-14
1186+
emsdk_ver: "3.1.45"
1187+
- name: osx15-arm-clang-clang-repl-19-emscripten_wasm
1188+
os: macos-15
11501189
compiler: clang
11511190
clang-runtime: '19'
11521191
cling: Off
11531192
micromamba_shell_init: bash
1193+
emsdk_ver: "3.1.45"
11541194
- name: osx13-x86-clang-clang-repl-19-emscripten_wasm
11551195
os: macos-13
11561196
compiler: clang
11571197
clang-runtime: '19'
11581198
cling: Off
11591199
micromamba_shell_init: bash
1200+
emsdk_ver: "3.1.45"
11601201

11611202
steps:
11621203
- uses: actions/checkout@v4
@@ -1212,7 +1253,9 @@ jobs:
12121253
- name: Setup emsdk
12131254
shell: bash -l {0}
12141255
run: |
1215-
emsdk install 3.1.45
1256+
git clone https://github.com/emscripten-core/emsdk.git
1257+
cd emsdk
1258+
./emsdk install ${{ matrix.emsdk_ver }}
12161259
12171260
- name: Restore Cache LLVM/Clang runtime build directory
12181261
uses: actions/cache/restore@v4
@@ -1227,11 +1270,10 @@ jobs:
12271270
if: ${{ runner.os != 'windows' }}
12281271
shell: bash -l {0}
12291272
run: |
1230-
emsdk activate 3.1.45
1231-
source $CONDA_EMSDK_DIR/emsdk_env.sh
1273+
./emsdk/emsdk activate ${{matrix.emsdk_ver}}
1274+
source ./emsdk/emsdk_env.sh
12321275
micromamba create -f environment-wasm.yml --platform=emscripten-wasm32
12331276
1234-
export EMPACK_PREFIX=$MAMBA_ROOT_PREFIX/envs/CppInterOp-wasm-build
12351277
export PREFIX=$MAMBA_ROOT_PREFIX/envs/CppInterOp-wasm
12361278
export CMAKE_PREFIX_PATH=$PREFIX
12371279
export CMAKE_SYSTEM_PREFIX_PATH=$PREFIX
@@ -1296,14 +1338,13 @@ jobs:
12961338
- name: Build xeus-cpp
12971339
shell: bash -l {0}
12981340
run: |
1299-
emsdk activate 3.1.45
1300-
source $CONDA_EMSDK_DIR/emsdk_env.sh
1341+
./emsdk/emsdk activate ${{matrix.emsdk_ver}}
1342+
source ./emsdk/emsdk_env.sh
13011343
micromamba activate CppInterOp-wasm
13021344
git clone https://github.com/compiler-research/xeus-cpp.git
13031345
cd ./xeus-cpp
13041346
mkdir build
13051347
pushd build
1306-
export EMPACK_PREFIX=$MAMBA_ROOT_PREFIX/envs/CppInterOp-wasm-build
13071348
export CMAKE_PREFIX_PATH=${{ env.PREFIX }}
13081349
export CMAKE_SYSTEM_PREFIX_PATH=${{ env.PREFIX }}
13091350
emcmake cmake \

.github/workflows/clang-tidy-review-post.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ concurrency:
1616

1717
jobs:
1818
build:
19-
runs-on: ubuntu-latest
19+
runs-on: ubuntu-22.04
2020

2121
steps:
2222
- name: Post review comments

.github/workflows/clang-tidy-review.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ concurrency:
1212

1313
jobs:
1414
review:
15-
runs-on: ubuntu-latest
15+
runs-on: ubuntu-22.04
1616
steps:
1717
- name: Checkout PR branch
1818
uses: actions/checkout@v4

0 commit comments

Comments
 (0)