Try #7 for vcpkg w/github actions #48
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: ci | |
| on: [push, pull_request] | |
| jobs: | |
| build_linux: | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| shell: bash | |
| strategy: | |
| matrix: | |
| config: | |
| - { compiler: gcc, version: 10, build_type: Release, cppstd: 17 } | |
| # - { compiler: gcc, version: 11, build_type: Debug, cppstd: 17 } | |
| # - { compiler: gcc, version: 12, build_type: Release, cppstd: 17 } | |
| # - { compiler: gcc, version: 13, build_type: Debug, cppstd: 17 } | |
| # - { compiler: gcc, version: 13, build_type: Release, cppstd: 17 } | |
| # - { compiler: gcc, version: 14, build_type: Debug, cppstd: 20 } | |
| # - { compiler: gcc, version: 14, build_type: Release, cppstd: 20 } | |
| # - { compiler: gcc, version: 15, build_type: Debug, cppstd: 20 } | |
| # - { compiler: gcc, version: 15, build_type: Release, cppstd: 20 } | |
| # - { compiler: clang, version: 11, build_type: Release, cppstd: 17 } | |
| # - { compiler: clang, version: 11, build_type: Debug, cppstd: 17 } | |
| # - { compiler: clang, version: 12, build_type: Debug, cppstd: 17 } | |
| # - { compiler: clang, version: 13, build_type: Debug, cppstd: 17 } | |
| # - { compiler: clang, version: 14, build_type: Debug, cppstd: 17 } | |
| # - { compiler: clang, version: 15, build_type: Release, cppstd: 20 } | |
| # - { compiler: clang, version: 16, build_type: Release, cppstd: 20 } | |
| # - { compiler: clang, version: 17, build_type: Release, cppstd: 20 } | |
| # - { compiler: clang, version: 18, build_type: Release, cppstd: 20 } | |
| # - { compiler: clang, version: 19, build_type: Release, cppstd: 20 } | |
| # - { compiler: clang, version: 20, build_type: Release, cppstd: 20 } | |
| container: | |
| image: ${{ matrix.config.compiler == 'clang' && 'teeks99/clang-ubuntu' || matrix.config.compiler }}:${{ matrix.config.version }} | |
| name: "${{ matrix.config.compiler}} ${{ matrix.config.version }} (C++${{ matrix.config.cppstd }}, ${{ matrix.config.build_type }})" | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Setup | |
| run: | | |
| apt-get update && apt-get install -y curl git zip unzip tar | |
| CMAKE_VERSION="3.24.2" | |
| curl -sSL https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-x86_64.sh -o install-cmake.sh | |
| chmod +x install-cmake.sh | |
| ./install-cmake.sh --prefix=/usr/local --skip-license | |
| - name: Setup Compiler | |
| if: matrix.config.compiler == 'clang' | |
| run: | | |
| if [[ "${{ matrix.config.version }}" -ge 4 ]]; then | |
| scripts/ci_setup_clang.sh "${{ matrix.config.version }}" | |
| echo "CXXFLAGS=-stdlib=libc++" >> $GITHUB_ENV | |
| fi | |
| echo "CC=clang-${{ matrix.config.version }}" >> $GITHUB_ENV | |
| echo "CXX=clang++-${{ matrix.config.version }}" >> $GITHUB_ENV | |
| # - name: vcpkg build | |
| # id: vcpkg | |
| # uses: johnwason/vcpkg-action@v7 | |
| # with: | |
| # manifest-dir: ${{ github.workspace }} # Set to directory containing vcpkg.json | |
| # triplet: x64-windows-release | |
| # token: ${{ github.token }} | |
| - name: Setup vcpkg | |
| uses: lukka/run-vcpkg@v11 | |
| with: | |
| vcpkgJsonGlob: '**/vcpkg.json' | |
| vcpkgDirectory: '${{ runner.workspace }}/b/vcpkg' | |
| vcpkgGitCommitId: 120deac3062162151622ca4860575a33844ba10b | |
| - name: Build | |
| run: | | |
| mkdir -p build && cd build | |
| cmake .. \ | |
| -DCMAKE_TOOLCHAIN_FILE=/__w/b/vcpkg/scripts/buildsystems/vcpkg.cmake \ | |
| -DCMAKE_BUILD_TYPE=${{ matrix.config.build_type }} \ | |
| -DCMAKE_CXX_STANDARD=${{ matrix.config.cppstd }} \ | |
| -DBUILD_EXAMPLES=${{ matrix.config.examples || 'ON' }} \ | |
| -DBUILD_TESTS=ON | |
| make -j2 | |
| ctest -j2 --output-on-failure | |
| build_osx: | |
| runs-on: macOS-latest | |
| name: "OS X Clang (C++17, Release)" | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Setup vcpkg | |
| uses: lukka/run-vcpkg@v11 | |
| with: | |
| vcpkgJsonGlob: '**/vcpkg.json' | |
| vcpkgDirectory: '${{ runner.workspace }}/b/vcpkg' | |
| vcpkgGitCommitId: 120deac3062162151622ca4860575a33844ba10b | |
| - name: Build | |
| run: | | |
| mkdir -p build && cd build | |
| cmake .. \ | |
| -DCMAKE_TOOLCHAIN_FILE=${{ runner.workspace }}/b/vcpkg/scripts/buildsystems/vcpkg.cmake \ | |
| -DCMAKE_PREFIX_PATH=/usr/local/lib/cmake \ | |
| -DCMAKE_BUILD_TYPE=Release \ | |
| -DCMAKE_CXX_STANDARD=17 \ | |
| -DFMT_SUPPORT=ON \ | |
| -DBUILD_EXAMPLES=ON \ | |
| -DBUILD_TESTS=ON | |
| make -j2 | |
| ctest -j2 --output-on-failure | |
| build_windows: | |
| runs-on: windows-latest | |
| name: "Windows VS2022 (C++17, Release)" | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - uses: ilammy/msvc-dev-cmd@v1 | |
| - name: Print env | |
| run: | | |
| echo github.event.action: ${{ github.event.action }} | |
| echo github.event_name: ${{ github.event_name }} | |
| # - name: Install dependencies on windows | |
| # run: | | |
| # choco install ninja cmake | |
| # ninja --version | |
| # cmake --version | |
| - name: Setup vcpkg | |
| uses: lukka/run-vcpkg@v11 | |
| with: | |
| vcpkgJsonGlob: '**/vcpkg.json' | |
| vcpkgDirectory: '${{ runner.workspace }}/b/vcpkg' | |
| vcpkgGitCommitId: 120deac3062162151622ca4860575a33844ba10b | |
| - name: Build | |
| run: | | |
| mkdir build | |
| cd build | |
| cmake .. -G "Ninja" -DCMAKE_TOOLCHAIN_FILE=${{ runner.workspace }}/b/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DFMT_SUPPORT=OFF -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON | |
| ninja |