Skip to content

Update codeql.yml from template #234

Update codeql.yml from template

Update codeql.yml from template #234

Workflow file for this run

name: All OS
on: [push, pull_request]
jobs:
apple-clang:
name: AppleClang XCode ${{ matrix.xcode }} MacOS
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
arch: [x64]
os: [macos-12]
xcode: [13, 14]
steps:
- uses: actions/checkout@v2
- name: get-cmake
uses: lukka/get-cmake@v3.23.0
- name: Run vcpkg
uses: lukka/run-vcpkg@v10
with:
# Location of the vcpkg as submodule of the repository.
vcpkgDirectory: '${{ github.workspace }}/vcpkg'
vcpkgGitCommitId: 'a34c873a9717a888f58dc05268dea15592c2f0ff'
# Since the cache must be invalidated when content of the vcpkg.json file changes, let's
# compute its hash and append this to the computed cache's key.
appendedCacheKey: ${{ hashFiles( '**/vcpkg.json' ) }}
- uses: maxim-lobanov/setup-xcode@v1.5.1
with:
xcode-version: ${{ matrix.xcode }}
- name: 'Run CMake'
uses: lukka/run-cmake@v10
with:
configurePreset: 'ci'
buildPreset: 'ci'
testPreset: 'ci'
configurePresetCmdString: '[`--preset`, `$[env.CONFIGURE_PRESET_NAME]`]'
linux-clang:
name: Clang ${{ matrix.clang }} Linux (hash-mode ${{ matrix.hash-typeid }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
cxx14: [On]
cxx17: [On]
arch: [x64]
hash-typeid: [Off, On]
os: [ubuntu-20.04]
clang: [6.0, 7, 8, 9, 10, 11, 12, 13, 14, 15]
steps:
- uses: actions/checkout@v2
# Minimum GCC version required for vcpkg
- uses: egor-tensin/setup-gcc@v1
with:
version: 7
platform: ${{ matrix.arch }}
- name: get-cmake
uses: lukka/get-cmake@v3.23.0
- name: Run vcpkg
uses: lukka/run-vcpkg@v10
with:
# Location of the vcpkg as submodule of the repository.
vcpkgDirectory: '${{ github.workspace }}/vcpkg'
vcpkgGitCommitId: 'c1b768b0d6bc9b05d6272d604496d33a3faedd90'
# Since the cache must be invalidated when content of the vcpkg.json file changes, let's
# compute its hash and append this to the computed cache's key.
appendedCacheKey: ${{ hashFiles( '**/vcpkg.json' ) }}
- uses: egor-tensin/setup-clang@v1
with:
version: ${{ matrix.clang }}
platform: ${{ matrix.arch }}
- name: 'Run CMake'
uses: lukka/run-cmake@v10
with:
configurePreset: 'ci'
buildPreset: 'ci'
testPreset: 'ci'
configurePresetCmdString: '[`--preset`, `$[env.CONFIGURE_PRESET_NAME]`, `-DKANGARU_TEST_CXX14=${{ matrix.cxx14 }}`, `-DKANGARU_TEST_CXX17=${{ matrix.cxx17 }}`, `-DKANGARU_HASH_TYPE_ID=${{ matrix.hash-typeid }}`]'
linux-gcc:
name: GCC ${{ matrix.gcc }} Linux (hash-mode ${{ matrix.hash-typeid }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
cxx14: [Ôn]
cxx17: [On]
arch: [x64]
hash-typeid: [Off, On]
os: [ubuntu-20.04]
gcc: [7, 8, 9, 10, 11]
exclude:
- gcc: 7
hash-typeid: On
- gcc: 8
hash-typeid: On
steps:
- uses: actions/checkout@v2
# Minimum GCC version required for vcpkg
- uses: egor-tensin/setup-gcc@v1
with:
version: 7
platform: ${{ matrix.arch }}
- name: get-cmake
uses: lukka/get-cmake@v3.23.0
- name: Run vcpkg
uses: lukka/run-vcpkg@v10
with:
# Location of the vcpkg as submodule of the repository.
vcpkgDirectory: '${{ github.workspace }}/vcpkg'
vcpkgGitCommitId: 'c1b768b0d6bc9b05d6272d604496d33a3faedd90'
# Since the cache must be invalidated when content of the vcpkg.json file changes, let's
# compute its hash and append this to the computed cache's key.
appendedCacheKey: ${{ hashFiles( '**/vcpkg.json' ) }}
- uses: egor-tensin/setup-gcc@v1
with:
version: ${{ matrix.gcc }}
platform: ${{ matrix.arch }}
- name: 'Run CMake'
uses: lukka/run-cmake@v10
with:
configurePreset: 'ci'
buildPreset: 'ci'
testPreset: 'ci'
configurePresetCmdString: '[`--preset`, `$[env.CONFIGURE_PRESET_NAME]`, `-DKANGARU_TEST_CXX14=${{ matrix.cxx14 }}`, `-DKANGARU_TEST_CXX17=${{ matrix.cxx17 }}`, `-DKANGARU_HASH_TYPE_ID=${{ matrix.hash-typeid }}`]'
windows-msvc:
runs-on: windows-latest
name: MSVC ${{ matrix.msvc-version }} Windows (${{ matrix.arch }}, ${{ matrix.msvc-cxx }}, ${{ matrix.permissive }}, hash-mode ${{ matrix.hash-typeid }})
strategy:
fail-fast: false
matrix:
cxx14: [On]
cxx17: [On, Off]
hash-typeid: [Off]
permissive: [/permissive-, /permissive]
os: [windows-2016, windows-2019]
arch: [x64]
include:
- os: windows-2016
msvc-version: 2017
- os: windows-2019
msvc-version: 2019
- arch: x64
triplet: x64-windows
- cxx17: Off
msvc-cxx: /std:c++14
- cxx17: On
msvc-cxx: /std:c++17
- os: windows-2016
msvc-version: 2017
arch: x64
cxx14: On
cxx17: On
hash-typeid: Off
permissive: /permissive-
msvc-cxx: /std:c++latest
- os: windows-2016
msvc-version: 2017
arch: x64
cxx14: On
cxx17: On
hash-typeid: On
permissive: /permissive-
msvc-cxx: /std:c++latest
- os: windows-2019
msvc-version: 2019
arch: x64
cxx14: On
cxx17: On
hash-typeid: Off
permissive: /permissive-
msvc-cxx: /std:c++latest
- os: windows-2019
msvc-version: 2019
arch: x64
cxx14: On
cxx17: On
hash-typeid: On
permissive: /permissive-
msvc-cxx: /std:c++17
steps:
- uses: actions/checkout@v4
- uses: egor-tensin/vs-shell@v2
with:
arch: ${{ matrix.arch }}
- name: get-cmake
uses: lukka/get-cmake@v3.26.0
- name: Run vcpkg
uses: lukka/run-vcpkg@v11
with:
# Location of the vcpkg as submodule of the repository.
vcpkgDirectory: '${{ github.workspace }}/vcpkg'
vcpkgGitCommitId: 'a34c873a9717a888f58dc05268dea15592c2f0ff'
useVcpkgToolchainFile: true
# Since the cache must be invalidated when content of the vcpkg.json file changes, let's
# compute its hash and append this to the computed cache's key.
appendedCacheKey: ${{ hashFiles( '**/vcpkg.json' ) }}
- name: 'Run CMake'
uses: lukka/run-cmake@v10
with:
configurePreset: 'ci'
buildPreset: 'ci'
testPreset: 'ci'
configurePresetCmdString: '[`--preset`, `$[env.CONFIGURE_PRESET_NAME]`, `-DKANGARU_TEST_CXX14=${{ matrix.cxx14 }}`, `-DKANGARU_TEST_CXX17=${{ matrix.cxx17 }}`, `-DKANGARU_HASH_TYPE_ID=${{ matrix.hash-typeid }}`]'