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.