From caecf23436e1c890df57870d5865a1765291cb1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mathieu=20Besan=C3=A7on?= Date: Fri, 22 Jan 2021 17:37:15 +0100 Subject: [PATCH 1/3] add unix workflow --- .github/workflows/ci.yml | 65 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e69de29..7aec6b8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -0,0 +1,65 @@ +name: build + +on: + push: + branches: [master] + pull_request: + types: [opened, synchronize, reopened] + +jobs: + debug: + name: ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + include: + - os: ubuntu-latest + arch: x64 + - os: ubuntu-latest + arch: aarch64 + - os: macos-latest + arch: x64 + - os: macos-latest + arch: aarch64 + steps: + - uses: actions/checkout@v2 + - name: Create Build Environment + run: cmake -E make_directory ${{runner.workspace}}/build + + - name: Configure CMake + shell: bash + working-directory: ${{runner.workspace}}/build + run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=DEBUG + + - name: Build + working-directory: ${{runner.workspace}}/build + shell: bash + # Execute the build. You can specify a specific target with "--target " + run: | + cmake --build . --config DEBUG + + release: + runs-on: ${{ matrix.os }} + strategy: + matrix: + include: + - os: ubuntu-latest + - os: macos-latest + + steps: + - uses: actions/checkout@v1 + + - name: Create Build Environment + run: cmake -E make_directory ${{runner.workspace}}/build + + - name: Configure CMake + shell: bash + working-directory: ${{runner.workspace}}/build + run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=RELEASE + + - name: Build + working-directory: ${{runner.workspace}}/build + shell: bash + # Execute the build. You can specify a specific target with "--target " + run: | + cmake --build . --config RELEASE From 5171df82f929810e458b0885efa42afddd7d4ea5 Mon Sep 17 00:00:00 2001 From: Stefan Vigerske Date: Wed, 10 Dec 2025 18:27:30 +0100 Subject: [PATCH 2/3] merge debug and release into same job - adding buildtype to matrix --- .github/workflows/ci.yml | 46 ++++++---------------------------------- 1 file changed, 7 insertions(+), 39 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7aec6b8..97d81e5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,20 +7,14 @@ on: types: [opened, synchronize, reopened] jobs: - debug: - name: ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} + build: + name: ${{ matrix.os }} - ${{ matrix.arch }} - ${{ matrix.buildtype }} - ${{ github.event_name }} runs-on: ${{ matrix.os }} strategy: matrix: - include: - - os: ubuntu-latest - arch: x64 - - os: ubuntu-latest - arch: aarch64 - - os: macos-latest - arch: x64 - - os: macos-latest - arch: aarch64 + os: [ubuntu-latest, macos-latest] + arch: [x64, aarch64] + buildtype: [debug, release] steps: - uses: actions/checkout@v2 - name: Create Build Environment @@ -29,37 +23,11 @@ jobs: - name: Configure CMake shell: bash working-directory: ${{runner.workspace}}/build - run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=DEBUG + run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{matrix.buildtype}} - name: Build working-directory: ${{runner.workspace}}/build shell: bash # Execute the build. You can specify a specific target with "--target " run: | - cmake --build . --config DEBUG - - release: - runs-on: ${{ matrix.os }} - strategy: - matrix: - include: - - os: ubuntu-latest - - os: macos-latest - - steps: - - uses: actions/checkout@v1 - - - name: Create Build Environment - run: cmake -E make_directory ${{runner.workspace}}/build - - - name: Configure CMake - shell: bash - working-directory: ${{runner.workspace}}/build - run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=RELEASE - - - name: Build - working-directory: ${{runner.workspace}}/build - shell: bash - # Execute the build. You can specify a specific target with "--target " - run: | - cmake --build . --config RELEASE + cmake --build . --config ${{matrix.buildtype}} From 09a8c07bd5e18c06e8f13047ccdaecf760d3e145 Mon Sep 17 00:00:00 2001 From: Stefan Vigerske Date: Wed, 10 Dec 2025 18:35:20 +0100 Subject: [PATCH 3/3] arch has no effect; select by runner label; add windows - add runs on ubuntu-24.04-arm, intel-macos, windows-latest, and windows-arm runners --- .github/workflows/ci.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 97d81e5..c51de0c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,12 +8,11 @@ on: jobs: build: - name: ${{ matrix.os }} - ${{ matrix.arch }} - ${{ matrix.buildtype }} - ${{ github.event_name }} - runs-on: ${{ matrix.os }} + name: ${{ matrix.runner }} - ${{ matrix.buildtype }} - ${{ github.event_name }} + runs-on: ${{ matrix.runner }} strategy: matrix: - os: [ubuntu-latest, macos-latest] - arch: [x64, aarch64] + runner: [ubuntu-latest, ubuntu-24.04-arm, macos-15-intel, macos-latest, windows-latest, windows-11-arm] buildtype: [debug, release] steps: - uses: actions/checkout@v2 @@ -27,7 +26,6 @@ jobs: - name: Build working-directory: ${{runner.workspace}}/build - shell: bash # Execute the build. You can specify a specific target with "--target " run: | cmake --build . --config ${{matrix.buildtype}}