CI - macOS x64 clang #18
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
# Copyright 2024 The IREE Authors | |
# | |
# Licensed under the Apache License v2.0 with LLVM Exceptions. | |
# See https://llvm.org/LICENSE.txt for license information. | |
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
name: CI - macOS x64 clang | |
on: | |
schedule: | |
# Weekday mornings at 09:15 UTC = 01:15 PST (UTC - 8). | |
- cron: "15 9 * * 1-5" | |
workflow_dispatch: | |
concurrency: | |
# A PR number if a pull request and otherwise the commit hash. This cancels | |
# queued and in-progress runs for the same PR (presubmit) or commit | |
# (postsubmit). The workflow name is prepended to avoid conflicts between | |
# different workflows. | |
group: ${{ github.workflow }}-${{ github.event.number || github.sha }} | |
cancel-in-progress: true | |
jobs: | |
macos_x64_clang: | |
runs-on: macos-13 | |
env: | |
BUILD_DIR: build-macos | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- name: "Checking out repository" | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
- name: "Updating git submodules" | |
run: git submodule update --init --jobs 8 --depth 1 | |
# There may be multiple versions of Xcode and SDKs installed. | |
# Select the latest Xcode app to enable using Metal offline toolchain. | |
- name: "Update Xcode command line tools path" | |
run: | | |
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer | |
xcrun metal --version | |
xcrun metallib --version | |
- name: "Setting up Python" | |
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.1.0 | |
with: | |
python-version: "3.11" | |
cache: "pip" | |
- name: "Installing Python packages" | |
run: pip install -r runtime/bindings/python/iree/runtime/build_requirements.txt | |
- name: "Installing requirements" | |
# We need coreutils for `realpath` used in scripts. | |
# We need bash because the default one on macOS is fairly old and lacks | |
# features we use in scripts. | |
run: brew install ninja ccache coreutils bash | |
- name: "Building IREE" | |
run: bash ./build_tools/cmake/build_all.sh "${BUILD_DIR}" | |
- name: "Testing IREE" | |
run: bash ./build_tools/cmake/ctest_all.sh "${BUILD_DIR}" |