From d43783f76e907c8d923c3beced45b4e60823e508 Mon Sep 17 00:00:00 2001 From: muit Date: Sun, 1 Oct 2023 15:34:43 +0200 Subject: [PATCH 01/13] [CICD] Test disable clang 16 macos --- .github/workflows/build.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6ac76b60..69e63ef4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -44,7 +44,7 @@ jobs: cxx: g++-13 cc: gcc-13 - name: macos-clang - os: macos-13 + os: macos-latest os-name: macos compiler: clang cxx: clang++ @@ -75,11 +75,11 @@ jobs: version: "16.0" directory: ${{ runner.temp }}/llvm cached: ${{ steps.cache-llvm.outputs.cache-hit }} - - name: Install LLVM (macos) - if: ${{ matrix.compiler == 'clang' && matrix.os-name == 'macos' }} - run: | - brew install llvm@16 - echo /usr/local/opt/llvm@16/bin >> $GITHUB_PATH + #- name: Install LLVM (macos) + # if: ${{ matrix.compiler == 'clang' && matrix.os-name == 'macos' }} + # run: | + # brew install llvm@16 + # echo /usr/local/opt/llvm@16/bin >> $GITHUB_PATH - name: Install GCC (linux) if: ${{ matrix.os-name == 'linux' }} From fc883e7e2b69dab1558a31b469b5827d8d8fb723 Mon Sep 17 00:00:00 2001 From: muit Date: Sun, 1 Oct 2023 15:38:11 +0200 Subject: [PATCH 02/13] [CICD] Try disable macos llvm cache --- .github/workflows/build.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 69e63ef4..659e2b85 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -62,7 +62,7 @@ jobs: if: ${{ matrix.compiler == 'cl' }} - name: Cache Clang - if: ${{ matrix.compiler == 'clang' }} + if: ${{ matrix.compiler == 'clang' && matrix.os-name != 'macos' }} id: cache-llvm uses: actions/cache@v3 with: @@ -75,11 +75,11 @@ jobs: version: "16.0" directory: ${{ runner.temp }}/llvm cached: ${{ steps.cache-llvm.outputs.cache-hit }} - #- name: Install LLVM (macos) - # if: ${{ matrix.compiler == 'clang' && matrix.os-name == 'macos' }} - # run: | - # brew install llvm@16 - # echo /usr/local/opt/llvm@16/bin >> $GITHUB_PATH + - name: Install LLVM (macos) + if: ${{ matrix.compiler == 'clang' && matrix.os-name == 'macos' }} + run: | + brew install llvm@16 + echo /usr/local/opt/llvm@16/bin >> $GITHUB_PATH - name: Install GCC (linux) if: ${{ matrix.os-name == 'linux' }} From 6e90e28018baac06c7bbc292eed1dd43ccd5e298 Mon Sep 17 00:00:00 2001 From: muit Date: Sun, 1 Oct 2023 15:43:35 +0200 Subject: [PATCH 03/13] [CICD] Try disable clang install --- .github/workflows/build.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 659e2b85..6c936f34 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -75,14 +75,14 @@ jobs: version: "16.0" directory: ${{ runner.temp }}/llvm cached: ${{ steps.cache-llvm.outputs.cache-hit }} - - name: Install LLVM (macos) - if: ${{ matrix.compiler == 'clang' && matrix.os-name == 'macos' }} - run: | - brew install llvm@16 - echo /usr/local/opt/llvm@16/bin >> $GITHUB_PATH + #- name: Install LLVM (macos) + # if: ${{ matrix.compiler == 'clang' && matrix.os-name == 'macos' }} + # run: | + # brew install llvm@16 + # echo /usr/local/opt/llvm@16/bin >> $GITHUB_PATH - name: Install GCC (linux) - if: ${{ matrix.os-name == 'linux' }} + if: ${{ matrix.compiler == 'gcc' && matrix.os-name == 'linux' }} run: | sudo apt install g++-13 gcc-13 -y sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 13 From 59a59bfabf60daa932a7d3cccf870d4c5ae86918 Mon Sep 17 00:00:00 2001 From: muit Date: Sun, 1 Oct 2023 16:16:48 +0200 Subject: [PATCH 04/13] [CICD] Add clang linker vars for macos --- .github/workflows/build.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6c936f34..72c5bfbf 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -75,14 +75,17 @@ jobs: version: "16.0" directory: ${{ runner.temp }}/llvm cached: ${{ steps.cache-llvm.outputs.cache-hit }} - #- name: Install LLVM (macos) - # if: ${{ matrix.compiler == 'clang' && matrix.os-name == 'macos' }} - # run: | - # brew install llvm@16 - # echo /usr/local/opt/llvm@16/bin >> $GITHUB_PATH + - name: Install LLVM (macos) + if: ${{ matrix.compiler == 'clang' && matrix.os-name == 'macos' }} + run: | + brew install llvm@16 + echo /usr/local/opt/llvm@16/bin >> $GITHUB_PATH + echo "LD_LIBRARY_PATH=/usr/local/opt/llvm@16/lib/:$LD_LIBRARY_PATH" >> $GITHUB_ENV + echo "DYLD_LIBRARY_PATH=/usr/local/opt/llvm@16/lib/:$DYLD_LIBRARY_PATH" >> $GITHUB_ENV + - name: Install GCC (linux) - if: ${{ matrix.compiler == 'gcc' && matrix.os-name == 'linux' }} + if: ${{ matrix.os-name == 'linux' }} run: | sudo apt install g++-13 gcc-13 -y sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 13 From eabcbe166a2adc137a7182f441cd453e40f07700 Mon Sep 17 00:00:00 2001 From: muit Date: Sun, 1 Oct 2023 16:55:47 +0200 Subject: [PATCH 05/13] [CICD] Use setup-cpp --- .github/workflows/build.yml | 63 +++++++------------------------------ 1 file changed, 12 insertions(+), 51 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 72c5bfbf..b485a6d2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,74 +22,35 @@ jobs: - name: windows-msvc os: windows-latest os-name: windows - compiler: msvc - cxx: cl - cc: cl + compiler: msvc-17 - name: windows-clang os: windows-latest os-name: windows - compiler: clang - cxx: clang-cl - cc: clang-cl + compiler: clang-16 - name: linux-clang os: ubuntu-latest os-name: linux - compiler: clang - cxx: clang++ - cc: clang + compiler: clang-16 - name: linux-gcc os: ubuntu-latest os-name: linux - compiler: gcc - cxx: g++-13 - cc: gcc-13 + compiler: gcc-13 - name: macos-clang os: macos-latest os-name: macos - compiler: clang - cxx: clang++ - cc: clang + compiler: clang-16 steps: - name: Checkout repository uses: actions/checkout@v3 with: submodules: 'recursive' - - name: Get CMake - uses: lukka/get-cmake@latest - - - uses: ilammy/msvc-dev-cmd@v1 - if: ${{ matrix.compiler == 'cl' }} - - - name: Cache Clang - if: ${{ matrix.compiler == 'clang' && matrix.os-name != 'macos' }} - id: cache-llvm - uses: actions/cache@v3 + - name: Setup Cpp + uses: aminya/setup-cpp@v1 with: - path: ${{ runner.temp }}/llvm - key: llvm-16-${{ matrix.os-name }} - - name: Install Clang - if: ${{ matrix.compiler == 'clang' && matrix.os-name != 'macos' }} - uses: KyleMayes/install-llvm-action@v1 - with: - version: "16.0" - directory: ${{ runner.temp }}/llvm - cached: ${{ steps.cache-llvm.outputs.cache-hit }} - - name: Install LLVM (macos) - if: ${{ matrix.compiler == 'clang' && matrix.os-name == 'macos' }} - run: | - brew install llvm@16 - echo /usr/local/opt/llvm@16/bin >> $GITHUB_PATH - echo "LD_LIBRARY_PATH=/usr/local/opt/llvm@16/lib/:$LD_LIBRARY_PATH" >> $GITHUB_ENV - echo "DYLD_LIBRARY_PATH=/usr/local/opt/llvm@16/lib/:$DYLD_LIBRARY_PATH" >> $GITHUB_ENV - - - - name: Install GCC (linux) - if: ${{ matrix.os-name == 'linux' }} - run: | - sudo apt install g++-13 gcc-13 -y - sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 13 - sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-13 13 + compiler: ${{ matrix.compiler }} + vcvarsall: ${{ contains(matrix.os, 'windows') }} + cmake: true - name: Cache Build uses: actions/cache@v3 @@ -98,14 +59,14 @@ jobs: key: ${{ matrix.os-name }}-${{ matrix.compiler }}-${{ matrix.config }}-build-${{ secrets.VCACHE}} - name: Configure - run: cmake -S . -B Build -DCMAKE_BUILD_TYPE=${{ matrix.config }} -DCMAKE_C_COMPILER=${{ matrix.cc }} -DCMAKE_CXX_COMPILER=${{ matrix.cxx }} + run: cmake -S . -B Build -DCMAKE_BUILD_TYPE=${{ matrix.config }} - name: Build run: cmake --build Build --config ${{ matrix.config }} - name: Upload binaries as artifacts uses: actions/upload-artifact@v3 - if: ${{ matrix.config == 'Release' && matrix.compiler == 'clang' }} # Only clang artifacts are stored + if: ${{ matrix.config == 'Release' && contains(matrix.compiler, 'clang') }} # Only clang artifacts are stored with: name: pipe-${{ matrix.os-name }} path: Build/Bin From 5ac7210a882fe212929d98a21418a5c232c3cdd1 Mon Sep 17 00:00:00 2001 From: muit Date: Sun, 1 Oct 2023 16:57:28 +0200 Subject: [PATCH 06/13] [CICD] Try fix clang version --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b485a6d2..67fe626c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -38,7 +38,7 @@ jobs: - name: macos-clang os: macos-latest os-name: macos - compiler: clang-16 + compiler: clang-16.0.6 steps: - name: Checkout repository uses: actions/checkout@v3 From b7c6f475d4749f2f1b7f8fb77c77c2d91b1ea8fc Mon Sep 17 00:00:00 2001 From: muit Date: Sun, 1 Oct 2023 17:03:42 +0200 Subject: [PATCH 07/13] [CICD] Try LLVM 17 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 67fe626c..40d71a20 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -38,7 +38,7 @@ jobs: - name: macos-clang os: macos-latest os-name: macos - compiler: clang-16.0.6 + compiler: clang-17 steps: - name: Checkout repository uses: actions/checkout@v3 From 64ef14a34dcade8a8a453c7cee44229ee9a4e102 Mon Sep 17 00:00:00 2001 From: muit Date: Sun, 1 Oct 2023 17:08:29 +0200 Subject: [PATCH 08/13] [CICD] Try clang 15 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 40d71a20..ab8c83d5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -38,7 +38,7 @@ jobs: - name: macos-clang os: macos-latest os-name: macos - compiler: clang-17 + compiler: clang-15 steps: - name: Checkout repository uses: actions/checkout@v3 From 044b1331e5943062f9bc09934d8350db510bb1a3 Mon Sep 17 00:00:00 2001 From: muit Date: Sun, 1 Oct 2023 17:27:26 +0200 Subject: [PATCH 09/13] [CICD] Fix compiler on windows --- .github/workflows/build.yml | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ab8c83d5..aa103a2c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,7 +12,7 @@ on: jobs: Build: name: ${{ matrix.os-name }} (${{ matrix.compiler }}, ${{ matrix.config }}) - runs-on: ${{ matrix.os }} + runs-on: ${{ matrix.os-name }}-latest strategy: fail-fast: false matrix: @@ -20,25 +20,30 @@ jobs: config: [Release, Debug] include: - name: windows-msvc - os: windows-latest os-name: windows compiler: msvc-17 + cxx: cl + cc: cl - name: windows-clang - os: windows-latest os-name: windows compiler: clang-16 + cxx: clang-cl + cc: clang-cl - name: linux-clang - os: ubuntu-latest os-name: linux compiler: clang-16 + cxx: clang++ + cc: clang - name: linux-gcc - os: ubuntu-latest os-name: linux compiler: gcc-13 + cxx: g++ + cc: gcc - name: macos-clang - os: macos-latest os-name: macos - compiler: clang-15 + compiler: clang-16 + cxx: clang++ + cc: clang steps: - name: Checkout repository uses: actions/checkout@v3 @@ -49,7 +54,7 @@ jobs: uses: aminya/setup-cpp@v1 with: compiler: ${{ matrix.compiler }} - vcvarsall: ${{ contains(matrix.os, 'windows') }} + vcvarsall: ${{ matrix.os-name == 'windows' }} cmake: true - name: Cache Build @@ -59,7 +64,7 @@ jobs: key: ${{ matrix.os-name }}-${{ matrix.compiler }}-${{ matrix.config }}-build-${{ secrets.VCACHE}} - name: Configure - run: cmake -S . -B Build -DCMAKE_BUILD_TYPE=${{ matrix.config }} + run: cmake -GNinja -S . -B Build -DCMAKE_BUILD_TYPE=${{ matrix.config }} -DCMAKE_C_COMPILER=${{ matrix.cc }} -DCMAKE_CXX_COMPILER=${{matrix.cxx}} - name: Build run: cmake --build Build --config ${{ matrix.config }} From 715e0cf1d8d8dc7e70578f7c55cd3cbf60b936ff Mon Sep 17 00:00:00 2001 From: muit Date: Sun, 1 Oct 2023 17:39:08 +0200 Subject: [PATCH 10/13] [CICD] Try macos gcc with setup-cpp --- .github/workflows/build.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index aa103a2c..23578d4c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - name: [windows-msvc, windows-clang, linux-clang, linux-gcc, macos-clang] + name: [windows-msvc, windows-clang, linux-clang, linux-gcc, macos-clang, macos-gcc] config: [Release, Debug] include: - name: windows-msvc @@ -44,6 +44,11 @@ jobs: compiler: clang-16 cxx: clang++ cc: clang + - name: macos-gcc + os-name: macos + compiler: gcc-13 + cxx: g++ + cc: gcc steps: - name: Checkout repository uses: actions/checkout@v3 From cff6e88ef6790a237c64ed68e5e32285855e5adf Mon Sep 17 00:00:00 2001 From: muit Date: Sun, 1 Oct 2023 17:41:04 +0200 Subject: [PATCH 11/13] [CICD] Install ninja --- .github/workflows/build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 23578d4c..a74055b0 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -61,6 +61,7 @@ jobs: compiler: ${{ matrix.compiler }} vcvarsall: ${{ matrix.os-name == 'windows' }} cmake: true + ninja: true - name: Cache Build uses: actions/cache@v3 From 9dd3ac140cf1d209408eda2b4bbdbd883282a76e Mon Sep 17 00:00:00 2001 From: muit Date: Sun, 1 Oct 2023 17:45:19 +0200 Subject: [PATCH 12/13] [CICD] Use full path for macos gcc --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a74055b0..833edebb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -47,8 +47,8 @@ jobs: - name: macos-gcc os-name: macos compiler: gcc-13 - cxx: g++ - cc: gcc + cxx: /usr/bin/g++ + cc: /usr/bin/gcc steps: - name: Checkout repository uses: actions/checkout@v3 From 27c2fd124e8dc749563c8cd3685a0502a542b9d9 Mon Sep 17 00:00:00 2001 From: muit Date: Sun, 1 Oct 2023 17:55:35 +0200 Subject: [PATCH 13/13] [CICD] Disable gcc on macos (not supported by setup-cpp) --- .github/workflows/build.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 833edebb..916d7618 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - name: [windows-msvc, windows-clang, linux-clang, linux-gcc, macos-clang, macos-gcc] + name: [windows-msvc, windows-clang, linux-clang, linux-gcc, macos-clang] config: [Release, Debug] include: - name: windows-msvc @@ -44,11 +44,11 @@ jobs: compiler: clang-16 cxx: clang++ cc: clang - - name: macos-gcc - os-name: macos - compiler: gcc-13 - cxx: /usr/bin/g++ - cc: /usr/bin/gcc + #- name: macos-gcc + # os-name: macos + # compiler: gcc-13 + # cxx: /usr/bin/g++ + # cc: /usr/bin/gcc steps: - name: Checkout repository uses: actions/checkout@v3