Skip to content

Commit

Permalink
Merge main branch.
Browse files Browse the repository at this point in the history
  • Loading branch information
ColinH committed Nov 17, 2024
2 parents 93c60b3 + d7b821b commit 227bcd1
Show file tree
Hide file tree
Showing 11 changed files with 195 additions and 190 deletions.
28 changes: 17 additions & 11 deletions .github/workflows/android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,24 +15,30 @@ jobs:
strategy:
fail-fast: false
matrix:
image:
- r22
platform:
- android-27
- android-29
abi:
- armeabi-v7a
- arm64-v8a
build_type: [Debug, Release]

runs-on: ubuntu-latest

container:
image: bojoe/cpp-android-ndk-build-env-ubuntu:${{ matrix.image }}
options: --user root

runs-on: ubuntu-24.04
steps:
- name: Install Dependencies
run: |
sudo apt -qq update
sudo apt -qq install -y ninja-build --no-install-recommends --no-install-suggests
- uses: actions/checkout@v4

- run: cmake -H$GITHUB_WORKSPACE -B/home/developer/build -GNinja -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake -DANDROID_ABI=${{ matrix.abi }} -DANDROID_PLATFORM=${{ matrix.platform }} -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
- name: Configure CMake
run: |
cmake -S $GITHUB_WORKSPACE -B build \
-GNinja \
-DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake \
-DANDROID_ABI=${{ matrix.abi }} \
-DANDROID_PLATFORM=${{ matrix.platform }} \
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
- run: cmake --build /home/developer/build
- name: Build project
run: cmake --build build/
108 changes: 46 additions & 62 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,73 +11,55 @@ on:
- 'doc/**'

jobs:
linux:
linux-build:
strategy:
fail-fast: false
matrix:
compiler:
- g++-10
- g++-11
- g++-12
- g++-13
- clang++-13
- clang++-14
- clang++-15
build_type: [Debug, Release]

runs-on: ubuntu-latest

env:
CXX: ${{ matrix.compiler }}

steps:
- uses: actions/checkout@v4

- run: cmake -E make_directory build

- working-directory: build/
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}

- working-directory: build/
run: cmake --build .

- working-directory: build/
run: ctest --output-on-failure

linux-old:
strategy:
fail-fast: false
matrix:
compiler:
- g++-10
- g++-11
- clang++-10
- clang++-11
- clang++-12
build_type: [Debug, Release]

runs-on: ubuntu-20.04

env:
CXX: ${{ matrix.compiler }}
platform:
- os: ubuntu-24.04
compiler: g++-12
- os: ubuntu-24.04
compiler: g++-13
- os: ubuntu-24.04
compiler: g++-14
- os: ubuntu-24.04
compiler: clang++-16
- os: ubuntu-24.04
compiler: clang++-17
- os: ubuntu-24.04
compiler: clang++-18
- os: ubuntu-22.04
compiler: g++-11
- os: ubuntu-22.04
compiler: clang++-13
- os: ubuntu-22.04
compiler: clang++-14
- os: ubuntu-22.04
compiler: clang++-15
build_type: [Release, Debug]
runs-on: ${{ matrix.platform.os }}

steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
sudo apt -qq update
sudo apt -qq install -y ninja-build --no-install-recommends --no-install-suggests
- run: sudo apt-get update -y
- uses: actions/checkout@v4

- run: sudo apt-get install -y ${{ matrix.compiler }}
- name: Configure CMake
run: |
cmake -S $GITHUB_WORKSPACE -B build \
-GNinja \
-DCMAKE_CXX_COMPILER=${{ matrix.platform.compiler }} \
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
- run: cmake -E make_directory build

- working-directory: build/
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}

- working-directory: build/
run: cmake --build .
- name: Build project
run: cmake --build build/

- working-directory: build/
run: ctest --output-on-failure
- name: Run tests
working-directory: build/
run: ctest -C ${{ matrix.build_type }} --output-on-failure

linux-gcc-extra:
strategy:
Expand All @@ -86,15 +68,16 @@ jobs:
flags: ["-fno-rtti", "-fno-exceptions"]
build_type: [Debug, Release]

runs-on: ubuntu-latest
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v4
- uses: seanmiddleditch/gha-setup-ninja@v5

- run: cmake -E make_directory build

- working-directory: build/
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_CXX_FLAGS="${{ matrix.flags }}"
run: cmake $GITHUB_WORKSPACE -GNinja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_CXX_FLAGS="${{ matrix.flags }}"

- working-directory: build/
run: cmake --build .
Expand All @@ -109,18 +92,19 @@ jobs:
flags: ["-fno-rtti", "-fno-exceptions", "-fms-extensions"]
build_type: [Debug, Release]

runs-on: ubuntu-latest
runs-on: ubuntu-24.04

env:
CXX: clang++

steps:
- uses: actions/checkout@v4
- uses: seanmiddleditch/gha-setup-ninja@v5

- run: cmake -E make_directory build

- working-directory: build/
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_CXX_FLAGS="${{ matrix.flags }}"
run: cmake $GITHUB_WORKSPACE -GNinja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} -DCMAKE_CXX_FLAGS="${{ matrix.flags }}"

- working-directory: build/
run: cmake --build .
Expand Down
71 changes: 26 additions & 45 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,58 +16,39 @@ jobs:
fail-fast: false
matrix:
include:
- xcode: 11
- llvm: 18
build_type: Debug
os: macos-11
- xcode: 11
build_type: Release
os: macos-11
- xcode: 12
build_type: Debug
os: macos-11
- xcode: 12
build_type: Release
os: macos-11
- xcode: 13
build_type: Debug
os: macos-12
- xcode: 13
build_type: Release
os: macos-12
- xcode: 14
build_type: Debug
os: macos-12
- xcode: 14
os: macos-14
- llvm: 18
build_type: Release
os: macos-12
- xcode: 15
os: macos-14
- llvm: 16
build_type: Debug
os: macos-13
- xcode: 15
- llvm: 16
build_type: Release
os: macos-13
- xcode: 15
build_type: Debug
os: macos-14
- xcode: 15
build_type: Release
os: macos-14
runs-on: ${{ matrix.os }}

steps:
- uses: actions/checkout@v4

- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: ${{ matrix.xcode }}
- name: Install Dependencies
run: |
brew update
brew install llvm@${{ matrix.llvm }}
brew install ninja
- run: cmake -E make_directory build

- working-directory: build/
run: cmake $GITHUB_WORKSPACE

- working-directory: build/
run: cmake --build . --config ${{ matrix.build_type }}

- working-directory: build/
run: ctest --config ${{ matrix.build_type }} --output-on-failure
- uses: actions/checkout@v4
- name: Configure CMake
run: |
cmake -S $GITHUB_WORKSPACE -B build \
-GNinja \
-DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
-DCMAKE_CXX_COMPILER=$(brew --prefix llvm@${{ matrix.llvm }})/bin/clang++ \
-DCMAKE_LINKER=$(brew --prefix llvm@${{ matrix.llvm }})/bin/ld.lld
- name: Build project
run: cmake --build build/ --config ${{ matrix.build_type }}

- name: Run tests
working-directory: build/
run: ctest -C ${{ matrix.build_type }} --output-on-failure
56 changes: 56 additions & 0 deletions .github/workflows/msys.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: msys2

on:
push:
paths-ignore:
- 'README.md'
- 'doc/**'
pull_request:
paths-ignore:
- 'README.md'
- 'doc/**'

jobs:
msys2:
strategy:
fail-fast: false
matrix:
platform:
- 'UCRT64'
- 'CLANG64'
build_type: [Debug, Release]

defaults:
run:
shell: msys2 {0}

runs-on: windows-latest

steps:
- uses: actions/checkout@v3

- uses: msys2/setup-msys2@v2
with:
msystem: ${{matrix.platform}}
install: >-
bison
dos2unix
git
pacboy: >-
cc:p
cmake:p
ninja:p
pkgconf:p
update: true

- run: cmake -E make_directory build
shell: msys2 {0}

- working-directory: build/
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}

- working-directory: build/
run: cmake --build .

- working-directory: build/
run: ctest --output-on-failure
Loading

0 comments on commit 227bcd1

Please sign in to comment.