feat build: MacOS tests #735
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': | |
pull_request: | |
push: | |
branches: | |
- master | |
- develop | |
- feature/** | |
jobs: | |
macos: | |
name: MacOS | |
runs-on: macos-latest | |
env: | |
CMAKE_FLAGS: >- | |
-GNinja | |
-DCMAKE_BUILD_TYPE=Debug | |
-DUSERVER_NO_WERROR=1 | |
-DUSERVER_BUILD_ALL_COMPONENTS=1 | |
-DUSERVER_BUILD_SAMPLES=1 | |
-DUSERVER_BUILD_TESTS=1 | |
-DUSERVER_FEATURE_REDIS_HI_MALLOC=1 | |
-DUSERVER_FEATURE_CRYPTOPP_BLAKE2=0 | |
-DUSERVER_FEATURE_MONGODB=1 | |
-DUSERVER_FEATURE_CLICKHOUSE=1 | |
-DUSERVER_USE_LD=lld | |
-DUSERVER_FORCE_DOWNLOAD_ABSEIL=1 | |
-DUSERVER_FORCE_DOWNLOAD_PROTOBUF=1 | |
-DUSERVER_FORCE_DOWNLOAD_GRPC=1 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Install brew packages | |
run: | | |
export SDKROOT="`xcrun --show-sdk-path`" | |
brew update | |
brew install $(cat scripts/docs/en/deps/macos.md) | |
brew install clang-format | |
brew install python@3.11 | |
brew install lld | |
brew link postgresql@16 # postgres is keg-only | |
- name: Install test dependencies | |
run: | | |
brew install clickhouse | |
- name: Run cmake | |
run: | | |
cmake -S./ -B./build_debug -DUSERVER_PYTHON_PATH=$(brew --prefix)/bin/python3.11 $CMAKE_FLAGS | |
- name: Compile | |
run: | | |
cmake --build build_debug -j$(nproc) -- -k 1 | |
- name: Run tests (universal) | |
run: | | |
cd build_debug/universal | |
ctest -V | |
- name: Run tests (samples) | |
run: | | |
cd build_debug/samples | |
# Fix Kafka and Rabbitmq after https://github.com/yandex/yandex-taxi-testsuite/pull/109 | |
ctest -V -E "(kafka|mongo|rabbitmq)" | |
- name: Run tests (libraries) | |
run: | | |
cd build_debug/libraries | |
ctest -V | |
- name: Run tests (clickhouse) | |
run: | | |
cd build_debug/clickhouse | |
ctest -V | |
- name: Run tests (rocks) | |
run: | | |
cd build_debug/rocks | |
ctest -V | |
- name: Run tests (kafka) | |
if: false | |
run: | | |
# Enable after https://github.com/yandex/yandex-taxi-testsuite/pull/109 | |
cd build_debug/kafka | |
ctest -V | |
- name: Run tests (rabbitmq) | |
if: false | |
run: | | |
# Enable after https://github.com/yandex/yandex-taxi-testsuite/pull/109 | |
cd build_debug/rabbitmq | |
ctest -V | |
- name: Run tests (grpc) | |
run: | | |
cd build_debug/grpc | |
ctest -V | |
- name: Run tests (mysql) | |
run: | | |
cd build_debug/mysql | |
GTEST_FILTER="-*Transaction*" ctest -V | |
- name: Run tests (redis) | |
run: | | |
cd build_debug/redis | |
ctest -V -E testsuite-userver-redis-tests-basic-chaos | |
- name: Run tests (postgresql) | |
run: | | |
cd build_debug/postgresql | |
ctest -V |