From ff3a65d3781015619c8dc2bc0e61323ea1e98188 Mon Sep 17 00:00:00 2001 From: Nicholas Frechette Date: Sat, 16 Mar 2024 14:53:03 -0400 Subject: [PATCH 1/4] chore: add support for clang 16, 17, and 18 --- make.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/make.py b/make.py index be0ee07..7d9bceb 100644 --- a/make.py +++ b/make.py @@ -16,7 +16,7 @@ def parse_argv(): actions.add_argument('-unit_test', action='store_true') target = parser.add_argument_group(title='Target') - target.add_argument('-compiler', choices=['vs2015', 'vs2017', 'vs2019', 'vs2019-clang', 'vs2022', 'vs2022-clang', 'android', 'clang4', 'clang5', 'clang6', 'clang7', 'clang8', 'clang9', 'clang10', 'clang11', 'clang12', 'clang13', 'clang14', 'clang15', 'gcc4.8', 'gcc4.9', 'gcc5', 'gcc6', 'gcc7', 'gcc8', 'gcc9', 'gcc10', 'gcc11', 'gcc12', 'gcc13', 'osx', 'ios', 'emscripten'], help='Defaults to the host system\'s default compiler') + target.add_argument('-compiler', choices=['vs2015', 'vs2017', 'vs2019', 'vs2019-clang', 'vs2022', 'vs2022-clang', 'android', 'clang4', 'clang5', 'clang6', 'clang7', 'clang8', 'clang9', 'clang10', 'clang11', 'clang12', 'clang13', 'clang14', 'clang15', 'clang16', 'clang17', 'clang18', 'gcc4.8', 'gcc4.9', 'gcc5', 'gcc6', 'gcc7', 'gcc8', 'gcc9', 'gcc10', 'gcc11', 'gcc12', 'gcc13', 'osx', 'ios', 'emscripten'], help='Defaults to the host system\'s default compiler') target.add_argument('-config', choices=['Debug', 'Release'], type=str.capitalize) target.add_argument('-cpu', choices=['x86', 'x64', 'armv7', 'arm64', 'wasm'], help='Defaults to the host system\'s architecture') target.add_argument('-cpp_version', choices=['11', '14', '17', '20'], help='Defaults to C++11') @@ -233,6 +233,15 @@ def set_compiler_env(compiler, args): elif compiler == 'clang15': os.environ['CC'] = 'clang-15' os.environ['CXX'] = 'clang++-15' + elif compiler == 'clang16': + os.environ['CC'] = 'clang-16' + os.environ['CXX'] = 'clang++-16' + elif compiler == 'clang17': + os.environ['CC'] = 'clang-17' + os.environ['CXX'] = 'clang++-17' + elif compiler == 'clang18': + os.environ['CC'] = 'clang-18' + os.environ['CXX'] = 'clang++-18' elif compiler == 'gcc4.8': os.environ['CC'] = 'gcc-4.8' os.environ['CXX'] = 'g++-4.8' From 4102570184bab1a05e2f44eec8324422631cd36a Mon Sep 17 00:00:00 2001 From: Nicholas Frechette Date: Sat, 16 Mar 2024 14:56:53 -0400 Subject: [PATCH 2/4] chore: update to clang 18 --- .github/workflows/test_cpp_versions.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test_cpp_versions.yml b/.github/workflows/test_cpp_versions.yml index e48259e..5e2d625 100644 --- a/.github/workflows/test_cpp_versions.yml +++ b/.github/workflows/test_cpp_versions.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - compiler: [gcc13, clang15] + compiler: [gcc13, clang18] cpp_version: [14, 17, 20] steps: - name: Git checkout @@ -20,15 +20,15 @@ jobs: with: submodules: 'recursive' - name: Building (release-x86) - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Release -cpu x86 -cpp_version ${{ matrix.cpp_version }} -build' - name: Clean - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -clean_only' - name: Building (release-x64) - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Release -cpu x64 -cpp_version ${{ matrix.cpp_version }} -build' From c84ade154a067a9e450966ce7194e0884c79776a Mon Sep 17 00:00:00 2001 From: Nicholas Frechette Date: Sat, 16 Mar 2024 14:57:49 -0400 Subject: [PATCH 3/4] chore: update CI to clang 18 --- .github/workflows/build_push.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build_push.yml b/.github/workflows/build_push.yml index 8fcd1bf..5437577 100644 --- a/.github/workflows/build_push.yml +++ b/.github/workflows/build_push.yml @@ -12,54 +12,54 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - compiler: [gcc13, clang15] + compiler: [gcc13, clang18] steps: - name: Git checkout uses: actions/checkout@v3 with: submodules: 'recursive' - name: Building (debug-x86) - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Debug -cpu x86 -build' - name: Running unit tests (debug-x86) - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Debug -cpu x86 -unit_test' - name: Clean - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -clean_only' - name: Building (debug-x64) - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Debug -cpu x64 -build' - name: Running unit tests (debug-x64) - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Debug -cpu x64 -unit_test' - name: Clean - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -clean_only' - name: Building (release-x86) - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Release -cpu x86 -build' - name: Running unit tests (release-x86) - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Release -cpu x86 -unit_test' - name: Clean - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -clean_only' - name: Building (release-x64) - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Release -cpu x64 -build' - name: Running unit tests (release-x64) - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Release -cpu x64 -unit_test' From 6f4103a4f665baa5a0eb7fd5ed7541e1b7b7c669 Mon Sep 17 00:00:00 2001 From: Nicholas Frechette Date: Sat, 16 Mar 2024 15:00:05 -0400 Subject: [PATCH 4/4] chore: update CI to latest lunar/clang --- .github/workflows/build_pull_request.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build_pull_request.yml b/.github/workflows/build_pull_request.yml index 8ec622b..b5ca0e8 100644 --- a/.github/workflows/build_pull_request.yml +++ b/.github/workflows/build_pull_request.yml @@ -177,54 +177,54 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - compiler: [gcc12, gcc13, clang15] + compiler: [gcc12, gcc13, clang15, clang16, clang17, clang18] steps: - name: Git checkout uses: actions/checkout@v3 with: submodules: 'recursive' - name: Building (debug-x86) - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Debug -cpu x86 -build' - name: Running unit tests (debug-x86) - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Debug -cpu x86 -unit_test' - name: Clean - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -clean_only' - name: Building (debug-x64) - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Debug -cpu x64 -build' - name: Running unit tests (debug-x64) - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Debug -cpu x64 -unit_test' - name: Clean - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -clean_only' - name: Building (release-x86) - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Release -cpu x86 -build' - name: Running unit tests (release-x86) - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Release -cpu x86 -unit_test' - name: Clean - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -clean_only' - name: Building (release-x64) - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Release -cpu x64 -build' - name: Running unit tests (release-x64) - uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v1 + uses: docker://ghcr.io/nfrechette/toolchain-amd64-lunar:v2 with: args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Release -cpu x64 -unit_test'