✨ Gate-level layout file reader and writer #1976
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: macOS CI | |
on: | |
push: | |
branches: [ 'main' ] | |
paths: | |
- '**/*.hpp' | |
- '**/*.cpp' | |
- '**/*.cmake' | |
- '**/CMakeLists.txt' | |
- 'libs/**' | |
- '.github/workflows/macos.yml' | |
pull_request: | |
branches: [ 'main' ] | |
paths: | |
- '**/*.hpp' | |
- '**/*.cpp' | |
- '**/*.cmake' | |
- '**/CMakeLists.txt' | |
- 'libs/**' | |
- '.github/workflows/macos.yml' | |
merge_group: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
defaults: | |
run: | |
shell: bash | |
env: | |
Z3_VERSION: 4.10.0 | |
jobs: | |
build_and_test: | |
strategy: | |
matrix: | |
os: [ macos-11, macos-12 ] | |
compiler: [ g++-11, g++-12, clang++ ] | |
build_type: [ Debug, Release ] | |
include: | |
- compiler: clang++ | |
ccompiler: clang | |
- compiler: g++-11 | |
ccompiler: gcc-11 | |
- compiler: g++-12 | |
ccompiler: gcc-12 | |
- os: macos-11 | |
compiler: g++-10 | |
ccompiler: gcc-10 | |
build_type: Debug | |
- os: macos-11 | |
compiler: g++-10 | |
ccompiler: gcc-10 | |
build_type: Release | |
name: ${{matrix.os}} with ${{matrix.compiler}} (${{matrix.build_type}} mode) | |
runs-on: ${{matrix.os}} | |
steps: | |
- name: Clone Repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
# Setup TBB for parallel STL algorithms via Homebrew | |
- name: Setup TBB | |
run: brew install tbb | |
# Use XCode 13.2 as a workaround because XCode 14.0 seems broken | |
- name: Setup XCode version | |
uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: "^13.2" | |
- name: Setup ccache | |
uses: hendrikmuhs/[email protected] | |
with: | |
key: '${{matrix.os}}-${{matrix.compiler}}-${{matrix.build_type}}' | |
variant: ccache | |
save: true | |
max-size: 10G | |
- name: Setup Z3 Solver | |
id: z3 | |
uses: cda-tum/setup-z3@v1 | |
with: | |
version: ${{env.Z3_VERSION}} | |
platform: macOS | |
architecture: x64 | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
- name: Create Build Environment | |
run: cmake -E make_directory ${{github.workspace}}/build | |
- name: Configure CMake | |
working-directory: ${{github.workspace}}/build | |
run: > | |
cmake ${{github.workspace}} | |
-DCMAKE_CXX_COMPILER=${{matrix.compiler}} | |
-DCMAKE_BUILD_TYPE=${{matrix.build_type}} | |
-DFICTION_ENABLE_UNITY_BUILD=ON | |
-DFICTION_ENABLE_PCH=ON | |
-DFICTION_CLI=ON | |
-DFICTION_TEST=ON | |
-DFICTION_BENCHMARK=OFF | |
-DFICTION_EXPERIMENTS=ON | |
-DFICTION_Z3=ON | |
-DFICTION_PROGRESS_BARS=OFF | |
-DFICTION_WARNINGS_AS_ERRORS=OFF | |
-DMOCKTURTLE_EXAMPLES=OFF | |
- name: Build | |
working-directory: ${{github.workspace}}/build | |
run: cmake --build . -j3 # macOS runners provide 3 cores | |
- 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 ${{matrix.build_type}} --verbose --output-on-failure --parallel 3 |