Steps make up the fundamentla building blocks of BeetleboxCI. This document will describe the features of steps as well as provide examples of using them.
Every job executes as series of tasks known as
steps. Steps can run command-line programs and by default are executed in a bash shell.
An individual step may have a status:
|Pass||Step has completed succesfully|
|Fail||Step has failed|
|Pending||Step is in progress|
|Idle||Step has not started|
|Not Run||Step in job not started due to previous error|
Steps may be used to execute command-line programs. To do so, the
steps key is used followed by a list of steps to execute. You can indicate that you wish to run a command through the
run step. The step must be provided a name through the
name key as well as the commands to be executed through the
command. In the provided example, two steps will be executed in sequence. The first step
Say Hello World 1 demonstrates running a single line command, whilst
Say Hello World 1 and 2 demonstrates how to run multiple commands in a single step.
runners: example-runner: image: ubuntu-generic jobs: example-build: runner: example-runner steps: - run: name: Say Hello World 1 command: echo "Hello World 1" - run: name: Say Hello World 2 and 3 command: | echo "Hello World 2" echo "Hello World 3" workflows: workflow-example: jobs: - example-build
Steps my also be assigned types, which are used to indicate the purpose of the step. The following step types are available:
- sw-emulation Used to indicate a step is to be used for software emulation.
- hw-emulation Used for a step that is to be used for hardware emulation.
- hardware Used to indicate a step is to be used for hardware.
- miscellaneous The default value. When a step does not fit into any other category.
In the following example, the step does not fit into any other role so it has been asssigned the miscellaneous type.
runners: example-runner: image: ubuntu-generic jobs: example-build: runner: example-runner steps: - run: name: Say Hello World 1 command: echo "Hello World 1" type: miscellaneous workflows: workflow-example: jobs: - example-build