Skip to content

Commit

Permalink
[github] GitHub workflow to run small Cilk applications on Ubuntu and…
Browse files Browse the repository at this point in the history
… macOS.
  • Loading branch information
neboat committed Nov 4, 2024
1 parent bcbe827 commit 6e424d3
Showing 1 changed file with 70 additions and 0 deletions.
70 changes: 70 additions & 0 deletions .github/workflows/small-cilkapps.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: Small Cilk application tests

permissions:
contents: read

on:
workflow_dispatch:
push:
pull_request:

concurrency:
# Skip intermediate builds: always.
# Cancel intermediate builds: only if it is a pull request build.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}

jobs:
small-apps:
runs-on: ${{ matrix.os }}
container:
image: ${{(startsWith(matrix.os, 'ubuntu') && 'ghcr.io/llvm/ci-ubuntu-22.04:latest') || null}}
volumes:
- /mnt/:/mnt/
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macOS-13]
steps:
- name: checkout
uses: actions/checkout@v4
- name: Setup OpenCilk compiler
id: build-opencilk
uses: OpenCilk/actions/build-opencilk-project@main
with:
projects: clang
os_list: '${{ matrix.os }}'
- name: Build cheetah
id: build-cheetah
shell: bash
run: |
builddir="$(pwd)"/build
opencilkdir='${{ steps.build-opencilk.outputs.opencilk-builddir }}'
mkdir -p $builddir
cmake -G Ninja \
-B "$builddir" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_COMPILER=$opencilkdir/bin/clang \
-DCMAKE_CXX_COMPILER=$opencilkdir/bin/clang++ \
-DLLVM_CMAKE_DIR=$opencilkdir
ninja -C "$builddir"
- name: Checkout small application tests
uses: actions/checkout@v4
with:
repository: OpenCilk/smallapps
path: smallapps
- name: make check
shell: bash
run: |
cheetahdir="$(pwd)"/build
opencilkdir='${{ steps.build-opencilk.outputs.opencilk-builddir }}'
make_prefix=""
if [ "${{ runner.os }}" == "macOS" ]; then
# Use xcrun to build benchmarks on macOS.
make_prefix="xcrun"
fi
$make_prefix make -C smallapps check \
CC=$opencilkdir/bin/clang \
CXX=$opencilkdir/bin/clang++ \
EXTRA_CFLAGS="--opencilk-resource-dir=$cheetahdir" \
EXTRA_LDFLAGS="--opencilk-resource-dir=$cheetahdir"

0 comments on commit 6e424d3

Please sign in to comment.