mirror of
https://github.com/g-truc/glm.git
synced 2024-11-22 08:54:35 +00:00
Run on multiple platforms to test multiple compiler versions
This commit is contained in:
parent
5700afbbf8
commit
423a9de3ba
186
.github/workflows/ci.yml
vendored
186
.github/workflows/ci.yml
vendored
@ -3,160 +3,66 @@ run-name: ${{ github.actor }} is testing out GitHub Actions 🚀
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
types: [opened]
|
||||
pull_request_target:
|
||||
types: [opened, edited, reopened]
|
||||
|
||||
jobs:
|
||||
windows-latest:
|
||||
runs-on: windows-latest
|
||||
platforms:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
std: [98, 11, 14, 17, 20]
|
||||
config: [Debug, Release]
|
||||
platform: [ubuntu-latest, ubuntu-20.04, macos-latest, macos-11, windows-latest, windows-2019]
|
||||
|
||||
runs-on: ${{matrix.platform}}
|
||||
|
||||
steps:
|
||||
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
|
||||
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
|
||||
- run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
|
||||
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
|
||||
- name: Github Actions init
|
||||
run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
|
||||
run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
|
||||
run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
|
||||
run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
|
||||
run: echo "🖥️ The workflow is now ready to test your code on the runner."
|
||||
run: echo "🍏 This job's status is ${{ job.status }}."
|
||||
- name: List files in the repository
|
||||
run: |
|
||||
ls ${{ github.workspace }}
|
||||
- run: echo "🍏 This job's status is ${{ job.status }}."
|
||||
- name: CMake Version
|
||||
run: cmake --version
|
||||
- run: cmake -S. -B ./build_auto
|
||||
- run: cmake -S. -B ./build_pure_std -DGLM_TEST_FORCE_PURE=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON
|
||||
- run: cmake -S. -B ./build_pure_ext -DGLM_TEST_FORCE_PURE=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON
|
||||
- run: cmake -S. -B ./build_sse2_std -DGLM_TEST_ENABLE_SIMD_SSE2=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON
|
||||
- run: cmake -S. -B ./build_sse2_ext -DGLM_TEST_ENABLE_SIMD_SSE2=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON
|
||||
- run: cmake -S. -B ./build_avx1_std -DGLM_TEST_ENABLE_SIMD_AVX=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON
|
||||
- run: cmake -S. -B ./build_avx1_ext -DGLM_TEST_ENABLE_SIMD_AVX=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON
|
||||
- run: cmake -S. -B ./build_avx2_std -DGLM_TEST_ENABLE_SIMD_AVX2=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON
|
||||
- run: cmake -S. -B ./build_avx2_ext -DGLM_TEST_ENABLE_SIMD_AVX2=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON
|
||||
- run: cmake --build ./build_auto --config ${{matrix.config}}
|
||||
- run: cmake --build ./build_pure_std --config ${{matrix.config}}
|
||||
- run: cmake --build ./build_pure_ext --config ${{matrix.config}}
|
||||
- run: cmake --build ./build_sse2_std --config ${{matrix.config}}
|
||||
- run: cmake --build ./build_sse2_ext --config ${{matrix.config}}
|
||||
- run: cmake --build ./build_avx1_std --config ${{matrix.config}}
|
||||
- run: cmake --build ./build_avx1_ext --config ${{matrix.config}}
|
||||
- run: cmake --build ./build_avx2_std --config ${{matrix.config}}
|
||||
- run: cmake --build ./build_avx2_ext --config ${{matrix.config}}
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_auto
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_pure_std
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_pure_ext
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_sse2_std
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_sse2_ext
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_avx1_std
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_avx1_ext
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_avx2_std
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_avx2_ext
|
||||
ubuntu-latest:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
# compiler: [gcc, clang]
|
||||
std: [98, 11, 14, 17, 20]
|
||||
config: [Debug, Release]
|
||||
|
||||
steps:
|
||||
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
|
||||
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
|
||||
- run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
|
||||
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
|
||||
- name: List files in the repository
|
||||
run: |
|
||||
ls ${{ github.workspace }}
|
||||
- run: echo "🍏 This job's status is ${{ job.status }}."
|
||||
# - name: make (with ${{matrix.compiler}}, for ${{matrix.os}})
|
||||
# env:
|
||||
# CC: ${{ matrix.compiler }}
|
||||
# - name: Compiler Version
|
||||
# run: ${{matrix.compiler}} --version
|
||||
- name: CMake Version
|
||||
run: cmake --version
|
||||
- run: cmake -S. -B ./build_unknown -DGLM_DISABLE_AUTO_DETECTION=ON
|
||||
- run: cmake -S. -B ./build_auto
|
||||
- run: cmake -S. -B ./build_pure_std -DGLM_TEST_FORCE_PURE=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON
|
||||
- run: cmake -S. -B ./build_pure_ext -DGLM_TEST_FORCE_PURE=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON
|
||||
- run: cmake -S. -B ./build_sse2_std -DGLM_TEST_ENABLE_SIMD_SSE2=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON
|
||||
- run: cmake -S. -B ./build_sse2_ext -DGLM_TEST_ENABLE_SIMD_SSE2=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON
|
||||
- run: cmake -S. -B ./build_avx1_std -DGLM_TEST_ENABLE_SIMD_AVX=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON
|
||||
- run: cmake -S. -B ./build_avx1_ext -DGLM_TEST_ENABLE_SIMD_AVX=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON
|
||||
- run: cmake -S. -B ./build_avx2_std -DGLM_TEST_ENABLE_SIMD_AVX2=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON
|
||||
- run: cmake -S. -B ./build_avx2_ext -DGLM_TEST_ENABLE_SIMD_AVX2=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON
|
||||
- run: cmake --build ./build_auto --config ${{matrix.config}}
|
||||
- run: cmake --build ./build_pure_std --config ${{matrix.config}}
|
||||
- run: cmake --build ./build_pure_ext --config ${{matrix.config}}
|
||||
- run: cmake --build ./build_sse2_std --config ${{matrix.config}}
|
||||
- run: cmake --build ./build_sse2_ext --config ${{matrix.config}}
|
||||
- run: cmake --build ./build_avx1_std --config ${{matrix.config}}
|
||||
- run: cmake --build ./build_avx1_ext --config ${{matrix.config}}
|
||||
- run: cmake --build ./build_avx2_std --config ${{matrix.config}}
|
||||
- run: cmake --build ./build_avx2_ext --config ${{matrix.config}}
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_auto
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_pure_std
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_pure_ext
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_sse2_std
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_sse2_ext
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_avx1_std
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_avx1_ext
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_avx2_std
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_avx2_ext
|
||||
macos-latest:
|
||||
runs-on: macos-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
std: [98, 11, 14, 17, 20]
|
||||
config: [Debug, Release]
|
||||
- name: Build and Test with automatic detection
|
||||
run: cmake -S. -B ./build_auto
|
||||
run: cmake --build ./build_auto --config ${{matrix.config}}
|
||||
run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_auto
|
||||
- name: Build and Test GLM_TEST_FORCE_PURE
|
||||
run: cmake -S. -B ./build_pure_std -DGLM_TEST_FORCE_PURE=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON
|
||||
run: cmake -S. -B ./build_pure_ext -DGLM_TEST_FORCE_PURE=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON
|
||||
run: cmake --build ./build_pure_std --config ${{matrix.config}}
|
||||
run: cmake --build ./build_pure_ext --config ${{matrix.config}}
|
||||
run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_pure_std
|
||||
run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_pure_ext
|
||||
- name: Build and Test GLM_TEST_ENABLE_SIMD_SSE2
|
||||
run: cmake -S. -B ./build_sse2_std -DGLM_TEST_ENABLE_SIMD_SSE2=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON
|
||||
run: cmake -S. -B ./build_sse2_ext -DGLM_TEST_ENABLE_SIMD_SSE2=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON
|
||||
run: cmake --build ./build_sse2_std --config ${{matrix.config}}
|
||||
run: cmake --build ./build_sse2_ext --config ${{matrix.config}}
|
||||
run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_sse2_std
|
||||
run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_sse2_ext
|
||||
- name: Build and Test GLM_TEST_ENABLE_SIMD_AVX
|
||||
run: cmake -S. -B ./build_avx1_std -DGLM_TEST_ENABLE_SIMD_AVX=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON
|
||||
run: cmake -S. -B ./build_avx1_ext -DGLM_TEST_ENABLE_SIMD_AVX=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON
|
||||
run: cmake --build ./build_avx1_std --config ${{matrix.config}}
|
||||
run: cmake --build ./build_avx1_ext --config ${{matrix.config}}
|
||||
run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_avx1_std
|
||||
run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_avx1_ext
|
||||
- if: "contains(${{matrix.platform}}, 'ubuntu') || contains(${{matrix.platform}}, 'windows')"
|
||||
name: Build and Test GLM_TEST_ENABLE_SIMD_AVX
|
||||
run: cmake -S. -B ./build_avx2_std -DGLM_TEST_ENABLE_SIMD_AVX2=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON
|
||||
run: cmake -S. -B ./build_avx2_ext -DGLM_TEST_ENABLE_SIMD_AVX2=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON
|
||||
run: cmake --build ./build_avx2_std --config ${{matrix.config}}
|
||||
run: cmake --build ./build_avx2_ext --config ${{matrix.config}}
|
||||
run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_avx2_std
|
||||
run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_avx2_ext
|
||||
|
||||
steps:
|
||||
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
|
||||
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
|
||||
- run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
|
||||
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
|
||||
- name: List files in the repository
|
||||
run: |
|
||||
ls ${{ github.workspace }}
|
||||
- run: echo "🍏 This job's status is ${{ job.status }}."
|
||||
- name: CMake Version
|
||||
run: cmake --version
|
||||
- name: Clang Version
|
||||
run: clang --version
|
||||
- run: cmake -S. -B ./build_auto
|
||||
- run: cmake -S. -B ./build_unknown -DGLM_DISABLE_AUTO_DETECTION=ON
|
||||
- run: cmake -S. -B ./build_pure_std -DGLM_TEST_FORCE_PURE=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON
|
||||
- run: cmake -S. -B ./build_pure_ext -DGLM_TEST_FORCE_PURE=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON
|
||||
- run: cmake -S. -B ./build_sse2_std -DGLM_TEST_ENABLE_SIMD_SSE2=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON
|
||||
- run: cmake -S. -B ./build_sse2_ext -DGLM_TEST_ENABLE_SIMD_SSE2=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON
|
||||
- run: cmake -S. -B ./build_avx1_std -DGLM_TEST_ENABLE_SIMD_AVX=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON
|
||||
- run: cmake -S. -B ./build_avx1_ext -DGLM_TEST_ENABLE_SIMD_AVX=ON -DGLM_TEST_ENABLE_CXX_${{matrix.std}}=ON -DGLM_TEST_ENABLE_LANG_EXTENSIONS=ON
|
||||
- run: cmake --build ./build_auto --config ${{matrix.config}}
|
||||
- run: cmake --build ./build_unknown --config ${{matrix.config}}
|
||||
- run: cmake --build ./build_pure_std --config ${{matrix.config}}
|
||||
- run: cmake --build ./build_pure_ext --config ${{matrix.config}}
|
||||
- run: cmake --build ./build_sse2_std --config ${{matrix.config}}
|
||||
- run: cmake --build ./build_sse2_ext --config ${{matrix.config}}
|
||||
- run: cmake --build ./build_avx1_std --config ${{matrix.config}}
|
||||
- run: cmake --build ./build_avx1_ext --config ${{matrix.config}}
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_auto
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_unknown
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_pure_std
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_pure_ext
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_sse2_std
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_sse2_ext
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_avx1_std
|
||||
- run: ctest --verbose -C ${{matrix.config}} --test-dir ./build_avx1_ext
|
||||
|
Loading…
Reference in New Issue
Block a user