Skip to content

manifest: report what a compilation actually spent #67

manifest: report what a compilation actually spent

manifest: report what a compilation actually spent #67

Workflow file for this run

name: CI
on:
pull_request:
push:
branches: [main]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
permissions:
contents: read
jobs:
pre-commit:
uses: ./.github/workflows/pre-commit.yml
build-and-test:
name: LLVM 17.0.6 build and lit
runs-on: ubuntu-22.04
timeout-minutes: 120
env:
CC: gcc-11
CXX: g++-11
steps:
- name: Checkout ondrix
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Checkout pinned LLVM
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
repository: llvm/llvm-project
ref: 6009708b4367171ccdbf4b5905cb6a803753fe18
path: llvm-project
- name: Install build tools
run: |
sudo apt-get update
sudo apt-get install --yes g++-11 gcc-11 ninja-build
- name: Cache LLVM build
id: llvm-cache
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
with:
path: llvm-build
key: ${{ runner.os }}-${{ runner.arch }}-gcc-llvm-6009708b-mlir-release-assertions-native-v3
- name: Normalize pinned LLVM source timestamps
working-directory: llvm-project
run: |
commit_epoch="$(git show -s --format=%ct HEAD)"
git ls-files -z |
xargs -0 touch --no-dereference --date="@${commit_epoch}"
- name: Configure LLVM and MLIR
if: steps.llvm-cache.outputs.cache-hit != 'true'
run: |
cmake -G Ninja \
-S llvm-project/llvm \
-B llvm-build \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_ENABLE_PROJECTS=mlir \
-DLLVM_TARGETS_TO_BUILD=Native \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DLLVM_ENABLE_TERMINFO=OFF \
-DLLVM_ENABLE_ZLIB=OFF \
-DLLVM_ENABLE_ZSTD=OFF \
-DLLVM_ENABLE_LIBXML2=OFF
- name: Build LLVM and MLIR tools
run: |
cmake --build llvm-build --target \
mlir-opt mlir-translate FileCheck count llc not
test -x llvm-build/bin/llc
- name: Configure ondrix
run: |
cmake -G Ninja \
-S . \
-B build \
-DMLIR_DIR="$PWD/llvm-build/lib/cmake/mlir" \
-DLLVM_DIR="$PWD/llvm-build/lib/cmake/llvm" \
-DLLVM_EXTERNAL_LIT="$PWD/llvm-build/bin/llvm-lit"
- name: Build and test ondrix
run: |
cmake --build build --target ondrix-opt ondrix-translate check-ondrix