Jobs form a crucial component of any workflow. This document will describe the features of jobs as well as provide examples of using them.
Each workflow is made of a series of jobs, which are seperate tasks that are to be performed on a runner. Using jobs we can:
- Run a series of command-line applications in the form of steps.
- Automate FPGA tools and applications.
- Form complex dependencies between jobs.
The jobs for a particular workflow may be found by clicking on the workflow in a project's page.
Jobs may have a particular status:
|Pass||Job has completed succesfully|
|Fail||Job has failed|
|Pending||Job is in progress|
|Idle||Job has not started|
The following example shows a single workflow that will run two jobs in parallel. By default, all jobs will run in parallel. To create jobs, you need a
jobs: section in
bbx./config.yaml. Each job will require a unique name, in the provided example the jobs have been named
example-test. Since each job is independent of the other, they will run in parallel.
Jobs may require the completion of another job, such as when running a build and then testing that build. Dependencies between jobs can be created through the
depends The following example shows a single workflow that will run three jobs that depend on each other. To create a dependency, you need to include a
depends in the job, followed by a list of the jobs the current job is dependent on.