Adding further commands #171
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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' | |
| # 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 # 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: | | |
| brew install cmake boost spdlog nlohmann-json llvm curl ninja colima docker | |
| 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: Start Colima with retry | |
| run: | | |
| for i in {1..3}; do | |
| echo "Attempt $i to start Colima..." | |
| if colima start --cpu 4 --memory 8 2>&1; then | |
| echo "Colima started successfully" | |
| break | |
| fi | |
| if [ $i -lt 3 ]; then | |
| echo "Waiting before retry..." | |
| sleep 10 | |
| colima delete --force 2>/dev/null || true | |
| fi | |
| done | |
| - name: Setup Docker socket link | |
| run: | | |
| mkdir -p /var/run | |
| sudo ln -sf $HOME/.colima/default/docker.sock /var/run/docker.sock 2>/dev/null || true | |
| sleep 2 | |
| - 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 |