# ref: https://github.com/actions/runner-images name: amd64 CMake Glop C++ on: push: branches: - main - v99bugfix pull_request: workflow_dispatch: concurrency: group: ${{github.workflow}}-${{github.ref}} cancel-in-progress: true jobs: docker: name: amd64•Docker•CMake•Glop runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - name: Build env image run: make --directory=cmake glop_env - name: Build devel image run: make --directory=cmake glop_devel - name: Build project run: make --directory=cmake glop_build - name: Test project run: make --directory=cmake glop_test - name: Build Install env image run: make --directory=cmake glop_install_env - name: Build Install devel image run: make --directory=cmake glop_install_devel - name: Build Install run: make --directory=cmake glop_install_build - name: Test Install run: make --directory=cmake glop_install_test # ref: https://github.com/actions/runner-images native: strategy: matrix: cmake: [ { platform: amd64, runner: "ubuntu-latest", generator: "Unix Makefiles", config: Release, build_target: all, test_target: test, install_target: install }, { platform: amd64, runner: "macos-15-intel", generator: "Xcode", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: install }, { platform: arm64, runner: "macos-latest", # macos arm64 based runner generator: "Xcode", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: install }, { platform: amd64, runner: "windows-latest", generator: "Visual Studio 17 2022", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: INSTALL }, ] fail-fast: false name: ${{matrix.cmake.platform}}•${{matrix.cmake.runner}}•CMake•Glop runs-on: ${{matrix.cmake.runner}} steps: - uses: actions/checkout@v6 - name: Check cmake run: cmake --version - name: Configure run: > cmake -S. -Bbuild -G "${{matrix.cmake.generator}}" -DCMAKE_BUILD_TYPE=${{matrix.cmake.config}} -DBUILD_DEPS=ON -DBUILD_CXX=OFF -DBUILD_GLOP=ON -DCMAKE_INSTALL_PREFIX=install - name: Build run: > cmake --build build --config ${{matrix.cmake.config}} --target ${{matrix.cmake.build_target}} -v -j2 - name: Install run: > cmake --build build --config ${{matrix.cmake.config}} --target ${{matrix.cmake.install_target}} -v