Skip to content

Merge pull request #6 from perkss/adding-further-commands #180

Merge pull request #6 from perkss/adding-further-commands

Merge pull request #6 from perkss/adding-further-commands #180

Workflow file for this run

name: CMake Build Matrix
on: [push, pull_request]
env:
CMAKE_VERSION: 3.26
NINJA_VERSION: 1.11.1
BUILD_TYPE: Release
CCACHE_VERSION: 4.7.3
CTEST_OUTPUT_ON_FAILURE: 1
jobs:
macos-native-x86_64:
name: 'macos-15-intel'
# Use latest image, but hardcode version to avoid silent upgrades (and breaks).
# See: https://github.com/actions/runner-images#available-images.
runs-on: macos-15-intel # Use M1 once available https://github.com/github/roadmap/issues/528
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Clang version
run: clang --version
- name: cmake version
run: cmake -version
- name: Checkout submodules
run: git submodule update --init --recursive
- name: Install Homebrew packages
run: |
# Install required build-time packages but let the setup-docker action manage Colima/Docker
brew install cmake boost spdlog nlohmann-json llvm curl ninja
ln -s "$(brew --prefix llvm)/bin/clang-format" "/usr/local/bin/clang-format"
ln -s "$(brew --prefix llvm)/bin/clang-tidy" "/usr/local/bin/clang-tidy"
ln -s "$(brew --prefix llvm)/bin/clang-apply-replacements" "/usr/local/bin/clang-apply-replacements"
- name: Setup Docker on macOS
id: setup-docker
uses: douglascamata/setup-docker-macos-action@v1
with:
# Pass Colima startup options (CPU and memory) via the additional options input
colima-additional-options: '--cpu 4 --memory 8'
colima-network-address: false
- name: Log Docker and Colima versions
run: |
sudo ln -sf $HOME/.colima/default/docker.sock /var/run/docker.sock
echo "Colima version: ${{ steps.setup-docker.outputs.colima-version }}"
echo "Docker client version: ${{ steps.setup-docker.outputs.docker-client-version }}"
- name: Verify Docker
run: |
docker ps || { echo "Docker not responding, waiting..."; sleep 10; docker ps; }
- name: Build CMAKE directory
run: |
CMAKE_POLICY_VERSION_MINIMUM=3.5 cmake -DCMAKE_BUILD_TYPE=Debug -G Ninja -S . -B build
CMAKE_POLICY_VERSION_MINIMUM=3.5 cmake --build build
CMAKE_POLICY_VERSION_MINIMUM=3.5 cmake --build build -t test
build:
name: "Ubuntu"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Checkout submodules
run: git submodule update --init --recursive
- name: Create build directory and run CMake
run: |
sudo apt-get -y update
sudo apt-get install -y build-essential cmake g++-10 gcc-10 libgtest-dev make libssl-dev python3-dev autotools-dev libicu-dev libbz2-dev libboost-all-dev libspdlog-dev nlohmann-json3-dev llvm curl libcurl4-openssl-dev ninja-build
ls
g++ --version
CMAKE_POLICY_VERSION_MINIMUM=3.5 cmake -DCMAKE_BUILD_TYPE=Debug -G Ninja -S . -B build
CMAKE_POLICY_VERSION_MINIMUM=3.5 cmake --build build
CMAKE_POLICY_VERSION_MINIMUM=3.5 cmake --build build -t test