BDD/RelPrev/Renaming #547
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 | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
skip_duplicate: | |
name: 'Skip job?' | |
continue-on-error: true | |
runs-on: ubuntu-latest | |
steps: | |
- id: skip_check | |
uses: fkirc/skip-duplicate-actions@master | |
with: | |
paths: '["src/adiar/**", "test/**"]' | |
outputs: | |
should_skip: ${{ steps.skip_check.outputs.should_skip }} | |
build_test: | |
name: 'Build + Test (Mac OS, ${{matrix.cc.cc}}@${{matrix.cc.v || matrix.cc.xcode}})' | |
runs-on: ${{ matrix.os }} | |
needs: skip_duplicate | |
if: ${{ needs.skip_duplicate.outputs.should_skip != 'true' }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [macos-latest] | |
cc: | |
# GNU Compiler | |
- { cc: gcc, v: 11, cxx: g++, xcode: latest } # oldest supported on Apple Silicon | |
- { cc: gcc, v: 12, cxx: g++, xcode: latest } | |
- { cc: gcc, v: 13, cxx: g++, xcode: latest } | |
# Clang Compiler | |
- { cc: clang, cxx: clang++, xcode: 14.3 } # oldest supported | |
- { cc: clang, cxx: clang++, xcode: 15.0 } | |
- { cc: clang, cxx: clang++, xcode: latest } | |
steps: | |
# Git repo set up | |
- name: Checkout commit | |
uses: actions/checkout@v2 | |
with: | |
submodules: 'recursive' | |
# Install dependencies | |
- name: Set up Homebrew | |
uses: Homebrew/actions/setup-homebrew@master | |
with: | |
cask: false # remove this if you need `brew install --cask` | |
test-bot: false # remove this if you need `brew test-bot` | |
- name: Install xcode | |
uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: ${{matrix.cc.xcode}} | |
- name: Install dependencies | |
run: | | |
brew cleanup --prune-prefix | |
if [ "${{matrix.cc.cc}}" = "gcc" ]; then | |
echo "================================" | |
echo GCC "Compiler" | |
brew install ${{matrix.cc.cc}}@${{matrix.cc.v}} | |
fi | |
echo "================================" | |
echo "Boost" | |
brew install boost | |
echo "================================" | |
echo "Graphviz" | |
brew install graphviz | |
# CMake build and run | |
- name: Build tests | |
working-directory: ${{runner.workspace}} | |
run: | | |
if [ "${{ matrix.cc.cc }}" = "gcc" ]; then | |
export CC=${{ matrix.cc.cc }}-${{ matrix.cc.v }} | |
export CXX=${{ matrix.cc.cxx }}-${{ matrix.cc.v }} | |
else | |
export CC=${{ matrix.cc.cc }} | |
export CXX=${{ matrix.cc.cxx }} | |
fi | |
cmake -E make_directory ${{github.workspace}}/build | |
cd ${{github.workspace}}/build | |
cmake -D CMAKE_BUILD_TYPE=DEBUG -D ADIAR_STATS=ON .. | |
cmake --build . --target test-adiar | |
- name: Run tests | |
working-directory: ${{github.workspace}}/build | |
run: ./test/test-adiar --reporter=info --colorizer=light | |
skip_build: | |
name: 'Build + Test (Mac OS, ${{matrix.cc.cc}}@${{matrix.cc.v || matrix.cc.xcode}})' | |
runs-on: ubuntu-latest | |
needs: skip_duplicate | |
if: ${{ needs.skip_duplicate.outputs.should_skip == 'true' }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [macos-latest] | |
cc: | |
# GNU Compiler | |
- { cc: gcc, v: 7, cxx: g++, xcode: latest } | |
- { cc: gcc, v: 10, cxx: g++, xcode: latest } | |
- { cc: gcc, v: 12, cxx: g++, xcode: latest } | |
# Clang Compiler | |
- { cc: clang, cxx: clang++, xcode: 13.1 } # oldest | |
- { cc: clang, cxx: clang++, xcode: 13.4 } | |
- { cc: clang, cxx: clang++, xcode: 14.0 } | |
- { cc: clang, cxx: clang++, xcode: 14.2 } # newest | |
steps: | |
- name: Echo skip | |
run: | | |
echo "Running unit tests is skipped" |