Skip to main content

Steps

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.

Overview#

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.

Status#

An individual step may have a status:

StatusDescription
PassStep has completed succesfully
FailStep has failed
PendingStep is in progress
IdleStep has not started
Not RunStep in job not started due to previous error

Configuration Examples#

Command-line programs#

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

Types#

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