From 9cd01615f558e0512ebc2a683a09546fcc457599 Mon Sep 17 00:00:00 2001 From: Sebastian Pipping Date: Mon, 20 Nov 2023 15:15:24 +0100 Subject: [PATCH] CI: Cover build on macOS --- .../{linux.yml => linux_and_macos.yml} | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) rename .github/workflows/{linux.yml => linux_and_macos.yml} (69%) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux_and_macos.yml similarity index 69% rename from .github/workflows/linux.yml rename to .github/workflows/linux_and_macos.yml index fc5a04b..65e9b82 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux_and_macos.yml @@ -1,7 +1,7 @@ # Copyright (c) 2023 Sebastian Pipping # Licensed under Apache License Version 2.0 -name: Build on Linux +name: Build on Linux/macOS # Drop permissions to minimum, for security permissions: @@ -16,7 +16,7 @@ on: jobs: linux: - name: Build (${{ matrix.cc }}) + name: Build (${{ matrix.cc }} on ${{ matrix.runs-on }}) runs-on: ${{ matrix.runs-on }} strategy: fail-fast: false @@ -37,9 +37,19 @@ jobs: clang_major_version: 18 clang_repo_suffix: runs-on: ubuntu-22.04 + - cc: gcc-13 + cxx: g++-13 + clang_major_version: null + clang_repo_suffix: null + runs-on: macos-12 + - cc: clang-15 + cxx: clang++-15 + clang_major_version: 15 + clang_repo_suffix: null + runs-on: macos-12 steps: - name: Add Clang/LLVM repositories - if: "${{ contains(matrix.cxx, 'clang') }}" + if: "${{ runner.os == 'Linux' && contains(matrix.cxx, 'clang') }}" run: |- set -x source /etc/os-release @@ -47,6 +57,7 @@ jobs: sudo add-apt-repository "deb http://apt.llvm.org/${UBUNTU_CODENAME}/ llvm-toolchain-${UBUNTU_CODENAME}${{ matrix.clang_repo_suffix }} main" - name: Install build dependencies + if: "${{ runner.os == 'Linux' }}" run: |- sudo apt-get update sudo apt-get install --yes --no-install-recommends \ @@ -54,11 +65,18 @@ jobs: pkg-config - name: Install build dependency Clang ${{ matrix.clang_major_version }} - if: "${{ contains(matrix.cxx, 'clang') }}" + if: "${{ runner.os == 'Linux' && contains(matrix.cxx, 'clang') }}" run: |- sudo apt-get install --yes --no-install-recommends -V \ clang-${{ matrix.clang_major_version }} + - name: Add versioned aliases for Clang ${{ matrix.clang_major_version }} + if: "${{ runner.os == 'macOS' && contains(matrix.cxx, 'clang') }}" + run: |- + set -x + sudo ln -s "$(brew --prefix llvm@${{ matrix.clang_major_version }})"/bin/clang /usr/local/bin/clang-${{ matrix.clang_major_version }} + sudo ln -s "$(brew --prefix llvm@${{ matrix.clang_major_version }})"/bin/clang++ /usr/local/bin/clang++-${{ matrix.clang_major_version }} + - name: Checkout Git branch uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1