Chain load toolchain file #571
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] | |
jobs: | |
build-ubuntu: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up vcpkg | |
run: | | |
# Workaround for failing grub-efi installation during upgrade | |
echo 'APT::Get::Always-Include-Phased-Updates "false";' | sudo tee /etc/apt/apt.conf.d/99-phased-updates | |
sudo apt update | |
sudo apt upgrade -y | |
sudo apt install -y cmake | |
git clone https://github.com/microsoft/vcpkg.git | |
./vcpkg/bootstrap-vcpkg.sh | |
- name: Download Unit Test Designs | |
run: | | |
python -m pip install -r test/py/requirements.txt | |
python test/py/testing.py --download_repos true --database_file_path repos.yaml --third_party_path test/designs | |
- name: Create Unit Tests | |
run: | | |
python test/py/testing.py --generate_unit_tests true --database_file_path repos.yaml --unit_test_path test/src/generated_tests --third_party_path test/designs | |
- name: Build Library, CLI Application and Tests | |
run: | | |
export VCPKG_ROOT=$(realpath ./vcpkg) | |
export CMAKE_BUILD_PARALLEL_LEVEL=$(nproc) | |
cmake --preset release -DENABLE_UNIT_TESTING=ON | |
cmake --build --preset release | |
- name: Run Tests | |
run: | | |
python3 run_tests.py | |
build-macos: | |
runs-on: macos-14 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up vcpkg | |
run: | | |
brew install cmake git | |
git clone https://github.com/microsoft/vcpkg.git | |
./vcpkg/bootstrap-vcpkg.sh | |
- name: Download Unit Test Designs | |
run: | | |
python -m pip install -r test/py/requirements.txt | |
python test/py/testing.py --download_repos true --database_file_path repos.yaml --third_party_path test/designs | |
- name: Create Unit Tests | |
run: | | |
python test/py/testing.py --generate_unit_tests true --database_file_path repos.yaml --unit_test_path test/src/generated_tests --third_party_path test/designs | |
- name: Build Library and CLI Application | |
run: | | |
export VCPKG_ROOT=$(realpath ./vcpkg) | |
export CMAKE_BUILD_PARALLEL_LEVEL=2 | |
cmake --preset release -DENABLE_UNIT_TESTING=ON | |
cmake --build --preset release | |
- name: Run Tests | |
run: | | |
python3 run_tests.py | |
build-windows: | |
runs-on: windows-2022 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up vcpkg | |
run: | | |
git clone https://github.com/microsoft/vcpkg.git | |
.\vcpkg\bootstrap-vcpkg.bat | |
- name: Download Unit Test Designs | |
run: | | |
${ENV:PYTHONUTF8}=1 | |
git config --system core.longpaths true | |
python -m pip install -r test/py/requirements.txt | |
python test/py/testing.py --download_repos true --database_file_path repos.yaml --third_party_path test\designs | |
- name: Create Unit Tests | |
run: | | |
${ENV:PYTHONUTF8}=1 | |
git config --system core.longpaths true | |
python test/py/testing.py --generate_unit_tests true --database_file_path repos.yaml --unit_test_path test\src\generated_tests --third_party_path test\designs | |
- name: Build Library and CLI Application | |
run: | | |
${ENV:VCPKG_ROOT}=$(Resolve-Path ./vcpkg) | |
${ENV:CMAKE_BUILD_PARALLEL_LEVEL}=2 | |
cmake --preset release -DENABLE_UNIT_TESTING=ON | |
cmake --build --preset release | |
build-mingw: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up vcpkg | |
run: | | |
# Workaround for failing grub-efi installation during upgrade | |
echo 'APT::Get::Always-Include-Phased-Updates "false";' | sudo tee /etc/apt/apt.conf.d/99-phased-updates | |
sudo apt update | |
sudo apt upgrade -y | |
sudo apt install -y cmake | |
git clone https://github.com/microsoft/vcpkg.git | |
./vcpkg/bootstrap-vcpkg.sh | |
- name: Download Unit Test Designs | |
run: | | |
python -m pip install -r test/py/requirements.txt | |
python test/py/testing.py --download_repos true --database_file_path repos.yaml --third_party_path test/designs | |
- name: Create Unit Tests | |
run: | | |
python test/py/testing.py --generate_unit_tests true --database_file_path repos.yaml --unit_test_path test/src/generated_tests --third_party_path test/designs | |
- name: Build Library, CLI Application and Tests | |
run: | | |
sudo apt update | |
sudo apt install -y g++-mingw-w64-x86-64-win32 | |
export VCPKG_ROOT=$(realpath ./vcpkg) | |
export CMAKE_BUILD_PARALLEL_LEVEL=$(nproc) | |
cmake --preset release -DENABLE_UNIT_TESTING=ON -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=./mingw-w64-x86_64.cmake | |
cmake --build --preset release | |
- name: Run Tests | |
run: | | |
python3 run_tests.py |