Skip to content

Build on macos-latest #27

Build on macos-latest

Build on macos-latest #27

Workflow file for this run

name: Build on macos-latest
on:
schedule:
- cron: '0 4 * * *' # Runs at 04:00 UTC every day
workflow_dispatch: # Manual trigger
env:
SDK_VERSION: "0"
jobs:
build:
strategy:
fail-fast: false
matrix:
build: [
{runs-on: macos-latest, c_compiler: clang, cpp_compiler: clang++, build_type: Release, enable_runtime: OFF}
]
runs-on: ${{ matrix.build.runs-on }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Fetch all history and tags
- uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install build dependencies
uses: ./.github/actions/install-deps
with:
os: ${{ matrix.build.runs-on }}
- name: Get macos sdk version
if: startsWith(matrix.build.runs-on, 'macos')
shell: bash
run: |
echo "SDK_VERSION=$(xcrun --show-sdk-version)" >> $GITHUB_ENV
- name: Build and cache ttmlir-toolchain
uses: ./.github/actions/build-toolchain
with:
os: ${{ matrix.build.runs-on }}
sdk: ${{ env.SDK_VERSION }}
- name: ccache
uses: hendrikmuhs/[email protected]
with:
create-symlink: true
key: ${{ matrix.build.runs-on }}-runtime-${{ matrix.build.enable_runtime }}-${{ env.SDK_VERSION }}
- name: Set reusable strings
id: strings
shell: bash
run: |
echo "build-output-dir=${{ github.workspace }}/build" >> "$GITHUB_OUTPUT"
- name: Configure CMake
shell: bash
run: |
source env/activate
cmake -G Ninja \
-B ${{ steps.strings.outputs.build-output-dir }} \
-DCMAKE_CXX_COMPILER=${{ matrix.build.cpp_compiler }} \
-DCMAKE_C_COMPILER=${{ matrix.build.c_compiler }} \
-DCMAKE_BUILD_TYPE=${{ matrix.build.build_type }} \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DTTMLIR_ENABLE_RUNTIME=${{ matrix.build.enable_runtime }} \
-DTTMLIR_ENABLE_RUNTIME_TESTS=${{ matrix.build.enable_runtime }} \
-S ${{ github.workspace }}
- name: Build
shell: bash
run: |
source env/activate
cmake --build ${{ steps.strings.outputs.build-output-dir }} --config ${{ matrix.build.build_type }}
- name: Lint
if: matrix.enable_runtime == 'OFF'
shell: bash
run: |
source env/activate
cmake --build ${{ steps.strings.outputs.build-output-dir }} --config ${{ matrix.build.build_type }} -- clang-tidy
- name: Run Test
shell: bash
run: |
source env/activate
cmake --build ${{ steps.strings.outputs.build-output-dir }} --config ${{ matrix.build.build_type }} -- check-ttmlir
- name: Build ttrt
shell: bash
run: |
source env/activate
cmake --build ${{ steps.strings.outputs.build-output-dir }} --config ${{ matrix.build.build_type }} -- ttrt
- name: Upload Test Report
uses: actions/upload-artifact@v4
with:
name: test-reports-${{ matrix.build.runs-on }}
path: build/test/report.xml
- name: Show Test Report
uses: mikepenz/action-junit-report@v4
if: success() || failure()
with:
report_paths: build/test/report.xml
check_name: ${{ matrix.build.runs-on }} MLIR Tests