Get CMake to support Android and iOS platforms #321
Workflow file for this run
This file contains 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-and-test-ubuntu: | |
#if: false # Temporarily disable | |
name: Build And Test Ubuntu | |
runs-on: ubuntu-latest | |
env: | |
CI_BUILD: 1 | |
IMAGE: ubuntu | |
IMAGE_TAG: latest | |
steps: | |
- uses: actions/checkout@main | |
# Note only alpine needs "preinstall" step | |
- name: Update packages | |
run: sudo -E bash .github/update-packages.sh | |
- name: Install dependencies | |
run: | | |
sudo -E bash .github/install.sh | |
sudo -E bash .github/install-post.sh | |
- name: Build and run tests | |
run: bash .github/build.sh | |
# Trigger testing of more linux flavors | |
- name: Trigger linux flavors build | |
uses: peter-evans/repository-dispatch@v2 | |
with: | |
event-type: build-linux-flavors | |
build-and-test-windows: | |
#if: false # Temporarily disable | |
name: Build And Test Windows | |
runs-on: windows-latest | |
env: | |
VCPKG_ROOT: ${{ github.workspace }}/vcpkg | |
steps: | |
- uses: actions/checkout@main | |
- uses: lukka/get-cmake@latest | |
# Setup MSVC command prompt environment vars. | |
# We must do this before sedtting up our local vcpkg, | |
# Because it will set VCPKG_ROOT to point to some global | |
# install of vcpkg, and we don't want that | |
- uses: ilammy/msvc-dev-cmd@v1 | |
- name: Restore artifacts, setup vcpkg | |
uses: lukka/run-vcpkg@v10 | |
with: | |
vcpkgGitCommitId: e809a42f87565e803b2178a0c11263f462d1800a | |
vcpkgDirectory: '${{ github.workspace }}/vcpkg' | |
vcpkgJsonGlob: vcpkg.json | |
runVcpkgInstall: false | |
- name: vcpkg check / install dependencies | |
working-directory: '${{ github.workspace }}' | |
run: '"${{env.VCPKG_ROOT}}\\vcpkg" install --triplet=x64-windows' | |
shell: cmd | |
- name: Install dependencies and generate project files | |
run: | | |
mkdir build | |
cd build | |
cmake -S .. -G Ninja -DBUILD_TESTS=ON -DBUILD_EXAMPLES=ON -DBUILD_TOOLS=ON -DCMAKE_TOOLCHAIN_FILE=${{env.VCPKG_ROOT}}/scripts/buildsystems/vcpkg.cmake | |
shell: cmd | |
# Mark all directories as safe so checkouts performed in CMakeLists.txt don't cause "unsafe repository" errors. | |
# See https://github.com/actions/checkout/issues/766 | |
- name: Configure Git | |
run: git config --global --add safe.directory '*' | |
shell: cmd | |
- name: Build projects | |
working-directory: '${{ github.workspace }}/build' | |
run: ninja | |
shell: cmd | |
- name: Test crypto | |
working-directory: '${{ github.workspace }}/build/bin' | |
run: test_crypto.exe | |
shell: cmd | |
- name: Test connection | |
working-directory: '${{ github.workspace }}/build/bin' | |
#run: test_connection.exe suite-quick # Loopback throughput test not performing on github hosted runners for some reason | |
run: test_connection.exe identity quick lane_quick_queueanddrain lane_quick_priority_and_background | |
shell: cmd | |