glm/.github/workflows/ci.yml

67 lines
3.8 KiB
YAML
Raw Permalink Normal View History

2023-12-19 19:02:18 +00:00
name: ci
run-name: ${{ github.actor }} is testing out GitHub Actions 🚀
2023-12-21 17:28:28 +00:00
on:
push:
pull_request_target:
types: [opened, edited, reopened]
2023-12-21 17:28:28 +00:00
2023-12-19 19:02:18 +00:00
jobs:
platforms:
runs-on: [ubuntu-latest, ubuntu-20.04, macos-latest, macos-11, windows-latest, windows-2019]
2023-12-19 19:02:18 +00:00
strategy:
fail-fast: false
matrix:
2023-12-20 22:01:45 +00:00
std: [98, 11, 14, 17, 20]
2023-12-19 19:02:18 +00:00
config: [Debug, Release]
2023-12-19 19:06:43 +00:00
steps:
- 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 }}."
2023-12-19 19:06:43 +00:00
- name: List files in the repository
run: |
ls ${{ github.workspace }}
2023-12-19 19:02:18 +00:00
- name: Check out repository code
uses: actions/checkout@v4
2023-12-19 19:06:43 +00:00
- name: CMake Version
run: cmake --version
- 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
- name: Build and Test GLM_TEST_ENABLE_SIMD_AVX2
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