CI improvements #93
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: MacOS | |
| on: [push, pull_request] | |
| jobs: | |
| build-and-test-macos: | |
| name: Build And Test MacOS | |
| runs-on: macos-latest | |
| env: | |
| VCPKG_ROOT: ${{ github.workspace }}/vcpkg | |
| VCPKG_DOWNLOADS: ${{ github.workspace }}/vcpkg-downloads | |
| VCPKG_DEFAULT_BINARY_CACHE: ${{ github.workspace }}/vcpkg-bincache | |
| VCPKG_BINARY_SOURCES: clear;files,${{ github.workspace }}/vcpkg-bincache,readwrite | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Ensure vcpkg cache directories exist | |
| run: | | |
| mkdir -p "${VCPKG_DOWNLOADS}" | |
| mkdir -p "${VCPKG_DEFAULT_BINARY_CACHE}" | |
| - name: Install Vcpkg | |
| run: | | |
| git clone https://github.com/microsoft/vcpkg.git "${VCPKG_ROOT}" | |
| cd "${VCPKG_ROOT}" | |
| git checkout c3867e714dd3a51c272826eea77267876517ed99 | |
| ./bootstrap-vcpkg.sh | |
| ./vcpkg integrate install | |
| - name: Restore vcpkg caches | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ${{ env.VCPKG_DOWNLOADS }} | |
| ${{ env.VCPKG_DEFAULT_BINARY_CACHE }} | |
| key: vcpkg-${{ runner.os }}-macos-c3867e714dd3a51c272826eea77267876517ed99-${{ hashFiles('vcpkg.json') }} | |
| restore-keys: | | |
| vcpkg-${{ runner.os }}-macos- | |
| - name: Install vcpkg dependencies | |
| run: | | |
| "${VCPKG_ROOT}/vcpkg" install | |
| - name: Configure CMake | |
| # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
| # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
| run: cmake -B ${{github.workspace}}/build | |
| -DCMAKE_BUILD_TYPE=Release | |
| -DCMAKE_TOOLCHAIN_FILE=${{ env.VCPKG_ROOT }}/scripts/buildsystems/vcpkg.cmake | |
| -DBUILD_TESTS=ON | |
| - name: Build | |
| # Build the program with the given configuration | |
| run: cmake --build ${{github.workspace}}/build --config Release | |
| #- name: Test | |
| # working-directory: ${{github.workspace}}/build | |
| # # Execute tests defined by the CMake configuration. | |
| # # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail | |
| # run: ctest -C Release | |
| - name: Test crypto | |
| working-directory: ${{github.workspace}}/build/bin | |
| run: ./test_crypto | |
| shell: bash | |
| - name: Test connection | |
| working-directory: ${{github.workspace}}/build/bin | |
| run: ./test_connection identity quick lane_quick_queueanddrain lane_quick_priority_and_background | |
| shell: bash |