Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
236 changes: 1 addition & 235 deletions .github/workflows/build_pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,171 +8,6 @@ on:
- '**/*.md'

jobs:
linux-xenial:
runs-on: ubuntu-latest
strategy:
matrix:
compiler: [clang4]
steps:
- name: Git checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Building (debug-x86)
uses: docker://ghcr.io/nfrechette/toolchain-amd64-xenial:v1
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-xenial:v1
with:
args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Debug -cpu x86 -unit_test'
- name: Clean
uses: docker://ghcr.io/nfrechette/toolchain-amd64-xenial:v1
with:
args: 'python3 make.py -clean_only'
- name: Building (debug-x64)
uses: docker://ghcr.io/nfrechette/toolchain-amd64-xenial:v1
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-xenial:v1
with:
args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Debug -cpu x64 -unit_test'
- name: Clean
uses: docker://ghcr.io/nfrechette/toolchain-amd64-xenial:v1
with:
args: 'python3 make.py -clean_only'
- name: Building (release-x86)
uses: docker://ghcr.io/nfrechette/toolchain-amd64-xenial:v1
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-xenial:v1
with:
args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Release -cpu x86 -unit_test'
- name: Clean
uses: docker://ghcr.io/nfrechette/toolchain-amd64-xenial:v1
with:
args: 'python3 make.py -clean_only'
- name: Building (release-x64)
uses: docker://ghcr.io/nfrechette/toolchain-amd64-xenial:v1
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-xenial:v1
with:
args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Release -cpu x64 -unit_test'

linux-bionic:
runs-on: ubuntu-latest
strategy:
matrix:
compiler: [gcc5, gcc6, gcc7, gcc8, clang5, clang6, clang7, clang8, clang9, clang10]
steps:
- name: Git checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Building (debug-x86)
uses: docker://ghcr.io/nfrechette/toolchain-amd64-bionic:v1
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-bionic:v1
with:
args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Debug -cpu x86 -unit_test'
- name: Clean
uses: docker://ghcr.io/nfrechette/toolchain-amd64-bionic:v1
with:
args: 'python3 make.py -clean_only'
- name: Building (debug-x64)
uses: docker://ghcr.io/nfrechette/toolchain-amd64-bionic:v1
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-bionic:v1
with:
args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Debug -cpu x64 -unit_test'
- name: Clean
uses: docker://ghcr.io/nfrechette/toolchain-amd64-bionic:v1
with:
args: 'python3 make.py -clean_only'
- name: Building (release-x86)
uses: docker://ghcr.io/nfrechette/toolchain-amd64-bionic:v1
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-bionic:v1
with:
args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Release -cpu x86 -unit_test'
- name: Clean
uses: docker://ghcr.io/nfrechette/toolchain-amd64-bionic:v1
with:
args: 'python3 make.py -clean_only'
- name: Building (release-x64)
uses: docker://ghcr.io/nfrechette/toolchain-amd64-bionic:v1
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-bionic:v1
with:
args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Release -cpu x64 -unit_test'

linux-focal:
runs-on: ubuntu-latest
strategy:
matrix:
compiler: [gcc9, gcc10, gcc11, clang11, clang12, clang13, clang14]
steps:
- name: Git checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Building (debug-x86)
uses: docker://ghcr.io/nfrechette/toolchain-amd64-focal:v1
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-focal:v1
with:
args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Debug -cpu x86 -unit_test'
- name: Clean
uses: docker://ghcr.io/nfrechette/toolchain-amd64-focal:v1
with:
args: 'python3 make.py -clean_only'
- name: Building (debug-x64)
uses: docker://ghcr.io/nfrechette/toolchain-amd64-focal:v1
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-focal:v1
with:
args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Debug -cpu x64 -unit_test'
- name: Clean
uses: docker://ghcr.io/nfrechette/toolchain-amd64-focal:v1
with:
args: 'python3 make.py -clean_only'
- name: Building (release-x86)
uses: docker://ghcr.io/nfrechette/toolchain-amd64-focal:v1
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-focal:v1
with:
args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Release -cpu x86 -unit_test'
- name: Clean
uses: docker://ghcr.io/nfrechette/toolchain-amd64-focal:v1
with:
args: 'python3 make.py -clean_only'
- name: Building (release-x64)
uses: docker://ghcr.io/nfrechette/toolchain-amd64-focal:v1
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-focal:v1
with:
args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Release -cpu x64 -unit_test'

linux-lunar:
runs-on: ubuntu-latest
strategy:
Expand Down Expand Up @@ -228,42 +63,11 @@ jobs:
with:
args: 'python3 make.py -ci -compiler ${{ matrix.compiler }} -config Release -cpu x64 -unit_test'

osx-12:
runs-on: macos-12
strategy:
matrix:
compiler: [xcode13]
steps:
- name: Git checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Setup ${{ matrix.compiler }} compiler
run: ./tools/setup_osx_compiler.sh ${{ matrix.compiler }}
- name: Building (debug-x64)
run: python3 make.py -ci -compiler osx -config Debug -cpu x64 -build
- name: Running unit tests (debug-x64)
run: python3 make.py -ci -compiler osx -config Debug -cpu x64 -unit_test
- name: Clean
run: python3 make.py -clean_only
- name: Building (release-x64)
run: python3 make.py -ci -compiler osx -config Release -cpu x64 -build
- name: Running unit tests (release-x64)
run: python3 make.py -ci -compiler osx -config Release -cpu x64 -unit_test
- name: Clean
run: python3 make.py -clean_only
- name: Building for iOS (debug-arm64)
run: python3 make.py -ci -compiler ios -config Debug -build
- name: Clean
run: python3 make.py -clean_only
- name: Building for iOS (release-arm64)
run: python3 make.py -ci -compiler ios -config Release -build

osx-14:
runs-on: macos-14
strategy:
matrix:
compiler: [xcode14, xcode15]
compiler: [xcode15, xcode16]
steps:
- name: Git checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -318,44 +122,6 @@ jobs:
with:
args: 'python3 make.py -ci -compiler emscripten -config release -unit_test'

vs2019:
runs-on: windows-2019
steps:
- name: Git checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Building (debug-x64)
run: python3 make.py -ci -compiler vs2019 -config Debug -cpu x64 -build
- name: Running unit tests (debug-x64)
run: python3 make.py -ci -compiler vs2019 -config Debug -cpu x64 -unit_test
- name: Clean
run: python3 make.py -clean_only
- name: Building (release-x64)
run: python3 make.py -ci -compiler vs2019 -config Release -cpu x64 -build
- name: Running unit tests (release-x64)
run: python3 make.py -ci -compiler vs2019 -config Release -cpu x64 -unit_test
- name: Clean
run: python3 make.py -clean_only
- name: Building (debug-arm64)
run: python3 make.py -ci -compiler vs2019 -config Debug -cpu arm64 -build
- name: Clean
run: python3 make.py -clean_only
- name: Building (release-arm64)
run: python3 make.py -ci -compiler vs2019 -config Release -cpu arm64 -build
- name: Clean
run: python3 make.py -clean_only
- name: Building (debug-x64) with Clang
run: python3 make.py -ci -compiler vs2019-clang -config Debug -cpu x64 -build
- name: Running unit tests (debug-x64) with Clang
run: python3 make.py -ci -compiler vs2019-clang -config Debug -cpu x64 -unit_test
- name: Clean
run: python3 make.py -clean_only
- name: Building (release-x64) with Clang
run: python3 make.py -ci -compiler vs2019-clang -config Release -cpu x64 -build
- name: Running unit tests (release-x64) with Clang
run: python3 make.py -ci -compiler vs2019-clang -config Release -cpu x64 -unit_test

vs2022:
runs-on: windows-2022
steps:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/msvc-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
runs-on: windows-2022
steps:
- name: Git checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Generate solution (release-x64)
Expand All @@ -42,11 +42,11 @@ jobs:
- name: Upload SARIF to GitHub
# Can only upload SARIF if we don't come from a fork
if: ${{ needs.condition-check.outputs.ok == 'true' }}
uses: github/codeql-action/upload-sarif@v2
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: ${{ steps.run-analysis.outputs.sarif }}
- name: Upload SARIF as an Artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: sarif-file
path: ${{ steps.run-analysis.outputs.sarif }}
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required (VERSION 3.2)
cmake_minimum_required(VERSION 3.2...3.25)
project(sjson-cpp CXX)

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake")
Expand Down
2 changes: 0 additions & 2 deletions cmake/CMakeCompiler.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
cmake_minimum_required (VERSION 3.2)

macro(setup_default_compiler_flags _project_name)
if(MSVC)
# Replace some default compiler switches and add new ones
Expand Down
2 changes: 0 additions & 2 deletions cmake/CMakePlatforms.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
cmake_minimum_required(VERSION 3.2)

if(PLATFORM_NAME)
return() # Already set
endif()
Expand Down
2 changes: 0 additions & 2 deletions cmake/CMakeUtils.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
cmake_minimum_required (VERSION 3.2)

# Create groups for the test source files, this creates the proper directory structure under the
# Visual Studio filters
macro(create_source_groups _source_files _relative_directory)
Expand Down
2 changes: 0 additions & 2 deletions cmake/Toolchain-Android.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
cmake_minimum_required(VERSION 3.2)

# For Android, we just set the platform name as we won't be using CMake to build anything.
# Instead Gradle is used through CMake.

Expand Down
2 changes: 0 additions & 2 deletions cmake/Toolchain-iOS.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
cmake_minimum_required (VERSION 3.2)

set(CMAKE_SYSTEM_NAME Darwin)

# Set here instead of CMakePlatforms.cmake since we can't distinguis otherwise
Expand Down
1 change: 0 additions & 1 deletion tests/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
cmake_minimum_required (VERSION 3.2)
project(sjson-cpp_unit_tests_root NONE)

if(PLATFORM_ANDROID)
Expand Down
1 change: 0 additions & 1 deletion tests/main_android/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
cmake_minimum_required(VERSION 3.2)
project(sjson-cpp_unit_tests_gradle_shim NONE)

# Set our project root since our gradle files used to build live in the binary output directory
Expand Down
2 changes: 1 addition & 1 deletion tests/main_android/app/src/main/cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.2)
cmake_minimum_required(VERSION 3.2...3.25)
project(sjson-cpp_unit_tests CXX)

# Project root is <sjson-cpp-dir>\tests\main_android
Expand Down
1 change: 0 additions & 1 deletion tests/main_emscripten/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
cmake_minimum_required (VERSION 3.2)
project(sjson-cpp_unit_tests CXX)

include_directories("${PROJECT_SOURCE_DIR}/../../includes")
Expand Down
1 change: 0 additions & 1 deletion tests/main_generic/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
cmake_minimum_required (VERSION 3.2)
project(sjson-cpp_unit_tests CXX)

include_directories("${PROJECT_SOURCE_DIR}/../../includes")
Expand Down
1 change: 0 additions & 1 deletion tests/main_ios/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
cmake_minimum_required (VERSION 3.2)
project(sjson-cpp_unit_tests)

# iOS cmake toolchain does not support CMAKE_CXX_STANDARD
Expand Down
1 change: 0 additions & 1 deletion tests/validate_includes/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
cmake_minimum_required (VERSION 3.2)
project(sjson-cpp_validate_includes CXX)

# The goal of this project is to generate a single cpp file for every public header
Expand Down
6 changes: 3 additions & 3 deletions tools/setup_osx_compiler.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ COMPILER=$1

# See Github hosted runners:
# macos-14: https://github.com/actions/runner-images/blob/main/images/macos/macos-14-arm64-Readme.md
# xcode 14.3.1, 15.0.1, 15.1, 15.2, 15.3, 15.4, 16.0
# xcode 15.0.1, 15.1, 15.2, 15.3, 15.4, 16.1, 16.2
# macos-13: https://github.com/actions/runner-images/blob/main/images/macos/macos-13-Readme.md
# xcode 14.1, 14.2, 14.3.1, 15.0.1, 15.1, 15.2
# macos-12: https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md
Expand All @@ -28,9 +28,9 @@ elif [[ $COMPILER == xcode13 ]]; then
elif [[ $COMPILER == xcode14 ]]; then
XCODE_PATH="/Applications/Xcode_14.3.1.app"
elif [[ $COMPILER == xcode15 ]]; then
XCODE_PATH="/Applications/Xcode_15.2.app"
XCODE_PATH="/Applications/Xcode_15.4.app"
elif [[ $COMPILER == xcode16 ]]; then
XCODE_PATH="/Applications/Xcode_16.0.app"
XCODE_PATH="/Applications/Xcode_16.2.app"
fi

# Select our XCode version
Expand Down
Loading