Skip to content

Search is only available in production builds. Try building and previewing the site to test it out locally.

Workflow

This page describes the available parameters for defining workflows.

The on Section

This section specifies conditions that trigger the workflow. The syntax closely follows GitHub Actions workflows:

ParameterValuesDescription
pushbranches with a list of branch names, or
tags with a list of tags
Specifies workflow triggers upon pushes to specific branches or tags. Syntax is identical to GitHub Actions’ push events.
pull_requesttypes (e.g., opened, synchronize, ready_for_review)Specifies workflow triggers for pull request events. Available event types match GitHub Actions pull request triggers.
schedulecronSpecifies whether workflows should run regularly at a scheduled time GitHub Actions schedule.

Example:

on:
push:
branches:
- main
- develop
pull_request:
types: [opened, reopened, synchronize]

The parameters Section

The parameters section defines job-specific execution settings:

ParameterTypeDescription
partitionsList of stringsSpecifies which cluster partitions your benchmarks should run on. See the Partitions Reference for available options.
timeout
(optional)
IntegerMaximum allowed execution time in minutes before the benchmark job is automatically terminated. The default value is 20 minutes.
container
(optional)
stringSpecifies which docker container to use as a basis for the workflow. If nothing is specified, it will run the default container of the partition Partition Images
parameters:
partitions:
- bellis5
timeout: 40

The steps Section

This section contains two subsections: build and run.

The build Subsection

Contains commands to set up the environment and compile your benchmarks. The subsection expects a multiline string with shell commands executed sequentially.

steps:
build: |
sudo apt-get update
sudo apt-get install -y libblas-dev
docc -O2 benchmark.c -o benchmark.out

The run Subsection

Defines individual benchmarks, including commands and measurement configurations: Each benchmark entry supports the following parameters:

ParameterTypeDescription
commandStringCommand to execute the benchmark.
measurements
(optional)
IntegerNumber of repeated runs to ensure statistical reliability. By default, measurements are executed until a certain level of confidence is achieved w.r.t the mean runtime.
threshold
(optional)
IntegerAbsolute runtime threshold in seconds. Jobs exceeding this threshold are marked as failed.
cwd
(optional)
StringPath to the directory where the run step is supposed to be executed.
env
(optional)
Map of stringsEnvironment variables and their values. These variables are set for the run step.
steps:
run:
benchmark_1:
command: ./benchmark.out --size 1000
measurements: 5
threshold: 0.05
cwd: tests
env:
MY_VAR: HELLO_WORLD
LD_LIBRARY_PATH: my/lib/path:$LD_LIBRARY_PATH