Skip to content

Commit

Permalink
Split GH action into separate files per os
Browse files Browse the repository at this point in the history
  • Loading branch information
janhenke committed Dec 21, 2024
1 parent d2d1f97 commit 2eacf8b
Show file tree
Hide file tree
Showing 4 changed files with 137 additions and 88 deletions.
41 changes: 41 additions & 0 deletions .github/workflows/cmake-macos.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: macOS CI build

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

env:
VCPKG_BINARY_SOURCES: 'clear;x-gha,readwrite'

jobs:
build:
runs-on: macos-latest

strategy:
fail-fast: false

matrix:
build_type: [Debug, Release]

steps:
- uses: actions/checkout@v4

- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: >
cmake -B ${{github.workspace}}/build
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
-DCMAKE_TOOLCHAIN_FILE="$VCPKG_INSTALLATION_ROOT\scripts\buildsystems\vcpkg.cmake"
- name: Build
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{ matrix.build_type }}

- name: Test
working-directory: ${{github.workspace}}/build
# Execute tests defined by the CMake configuration.
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: ctest -C ${{ matrix.build_type }}
88 changes: 0 additions & 88 deletions .github/workflows/cmake-multi-platform.yml

This file was deleted.

51 changes: 51 additions & 0 deletions .github/workflows/cmake-ubuntu.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Ubuntu CI build

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

env:
VCPKG_BINARY_SOURCES: 'clear;x-gha,readwrite'

jobs:
build:
runs-on: macos-latest

strategy:
fail-fast: false

matrix:
build_type: [Debug, Release]
toolchain: [GNU, LLVM]
include:
- toolchain: GNU
c_compiler: gcc
cpp_compiler: g++
- toolchain: LLVM
c_compiler: clang
cpp_compiler: clang++

steps:
- uses: actions/checkout@v4

- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: >
cmake -B ${{github.workspace}}/build
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
-DCMAKE_C_COMPILER=${{ matrix.c_compiler }}
-DCMAKE_CXX_COMPILER=${{ matrix.cpp_compiler }}
-DCMAKE_TOOLCHAIN_FILE="$VCPKG_INSTALLATION_ROOT\scripts\buildsystems\vcpkg.cmake"
- name: Build
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{ matrix.build_type }}

- name: Test
working-directory: ${{github.workspace}}/build
# Execute tests defined by the CMake configuration.
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: ctest -C ${{ matrix.build_type }}
45 changes: 45 additions & 0 deletions .github/workflows/cmake-windows.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: Windows CI build

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]

env:
VCPKG_BINARY_SOURCES: 'clear;x-gha,readwrite'

jobs:
build:
runs-on: windows-latest

strategy:
fail-fast: false

matrix:
build_type: [Debug, Release]

steps:
- uses: actions/checkout@v4

- name: Install pkg-config on Windows
if: runner.os == 'Windows'
run: choco install pkgconfiglite

- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: >
cmake -B ${{github.workspace}}/build
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
-DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_INSTALLATION_ROOT\scripts\buildsystems\vcpkg.cmake"
- name: Build
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{ matrix.build_type }}

- name: Test
working-directory: ${{github.workspace}}/build
# Execute tests defined by the CMake configuration.
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: ctest -C ${{ matrix.build_type }}

0 comments on commit 2eacf8b

Please sign in to comment.