These actions build different OpenCilk components from source, so that other workflows can incorporate the actions as steps in their own workflows.
The build-opencilk-project action checks out and builds the OpenCilk compiler.
- uses: OpenCilk/actions/build-opencilk-project@main
with:
# OpenCilk-compiler subprojects to build.
# Default: 'clang'
projects: ''
# Ninja build target.
# Default: 'all'
build_target: ''
# List of OS's to build for.
os_list: ''
# Extra arguments to pass to CMake. See https://llvm.org/docs/CMake.html
# for an overview of LLVM-specific CMake options.
extra_cmake_args: ''This action outputs the installation directory for opencilk-project into the variable opencilk-installdir and the build directory for opencilk-project into the variable opencilk-builddir.
The build-cheetah action checks out and builds the OpenCilk runtime system.
- uses: OpenCilk/actions/build-cheetah@main
with:
# Path to the opencilk-project installation directory.
# Default: '$(pwd)/opencilk/install
opencilk_install: ''
# Path to the opencilk-project build directory.
# Default: '$(pwd)/opencilk/build
opencilk_build: ''
# Ninja build target.
# Default: 'install'
build_target: ''
# List of OS's to build for.
os_list: ''
# Extra arguments to pass to CMake.
extra_cmake_args: ''This action installs the OpenCilk runtime library into the opencilk_install directory, and it outputs the build directory for cheetah into the variable cheetah-builddir.
The build-cilktools action checks out and builds the OpenCilk runtime system.
- uses: OpenCilk/actions/build-cilktools@main
with:
# Path to the opencilk-project installation directory.
# Default: '$(pwd)/opencilk/install
opencilk_install: ''
# Path to the opencilk-project build directory.
# Default: '$(pwd)/opencilk/build
opencilk_build: ''
# Ninja build target.
# Default: 'install'
build_target: ''
# List of OS's to build for.
os_list: ''
# Extra arguments to pass to CMake.
extra_cmake_args: ''This action installs the cilktools libraries into the opencilk_install directory, and it outputs the build directory for cheetah into the variable cilktools-builddir.
- name: Setup OpenCilk compiler
id: build-opencilk
uses: OpenCilk/actions/build-opencilk-project@main
with:
projects: clang
- name: Print clang version
run: ${{ steps.build-opencilk.outputs.opencilk-installdir }}/bin/clang --version- name: Setup OpenCilk compiler
id: build-opencilk
uses: OpenCilk/actions/build-opencilk-project@main
with:
projects: clang
- name: Build cheetah
id: build-cheetah
uses: OpenCilk/actions/build-cheetah@main
with:
opencilk_install: ${{ steps.build-opencilk.outputs.opencilk-installdir }}
opencilk_build: ${{ steps.build-opencilk.outputs.opencilk-builddir }}- name: Setup OpenCilk compiler
id: build-opencilk
uses: OpenCilk/actions/build-opencilk-project@main
with:
projects: clang
- name: Build cheetah
id: build-cheetah
uses: OpenCilk/actions/build-cheetah@main
with:
opencilk_install: ${{ steps.build-opencilk.outputs.opencilk-installdir }}
opencilk_build: ${{ steps.build-opencilk.outputs.opencilk-builddir }}
- name: Build cilktools
id: build-cilktools
uses: OpenCilk/actions/build-cilktools@main
with:
opencilk_install: ${{ steps.build-opencilk.outputs.opencilk-installdir }}
opencilk_build: ${{ steps.build-opencilk.outputs.opencilk-builddir }}After these actions, the directory ${{ steps.build-opencilk.outputs.opencilk-installdir }} will contain a complete installation of OpenCilk, including the compiler, runtime-system library, and Cilk tools.