1
0
Files
YYCCommonplace/.github/workflows/macos.yml
yyc12345 1c1e709ed1 chore: update github build script.
- enable gtest and benchmark build.
- allow install gtest and benchmark binary.
- add test and benchmark step in github action.
2026-01-22 16:12:57 +08:00

55 lines
1.7 KiB
YAML

name: YYCC macOS Build
on: [workflow_dispatch]
jobs:
macos-build:
runs-on: macos-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Setup Google Test and Google Benchmark
run: |
# Setup Google Test
git clone -b v1.17.0 https://github.com/google/googletest.git --depth 1 extern/googletest
cd extern/googletest
mkdir build install
cd build
cmake -DCMAKE_CXX_STANDARD=23 -Dgtest_force_shared_crt=ON -DCMAKE_BUILD_TYPE=Release ..
cmake --build .
cmake --install . --prefix=../install
cd ..
cd install
export GTest_ROOT=$(pwd)
cd ../..
# Setup Google Benchmark
git clone -b v1.9.4 https://github.com/google/benchmark.git --depth 1 extern/benchmark
cd extern/benchmark
# Create symlink to googletest as required by benchmark
ln -s ../googletest googletest
mkdir build install
cd build
cmake -DCMAKE_CXX_STANDARD=23 -DBENCHMARK_ENABLE_TESTING=OFF -DCMAKE_BUILD_TYPE=Release ..
cmake --build .
cmake --install . --prefix=../install
cd ..
cd install
export benchmark_ROOT=$(pwd)
cd ../..
- name: Build YYCC
run: |
chmod +x ./.github/macos_build.sh
./.github/macos_build.sh
- name: Run YYCC Test
run: |
./bin/install/bin/YYCCTest
- name: Run YYCC Benchmark
run: |
./bin/install/bin/YYCCBenchmark
- name: Upload Built Artifact
uses: actions/upload-artifact@v4
with:
name: YYCC-macos-build
path: bin/install/*
retention-days: 30