Workflows form the framework for orchestrating your jobs. Effective use of workflows reduces development time and allows for efficient use of resources. This document describes workflow features and provides examples.
A workflow is a selection of jobs that are to be run autonomously. A pipeline consists of multiple workflows that define the entire build and test process. Workflows allow users to:
- Run FPGA designs in clean environments to quickly locate bugs.
- Reuse jobs in different workflows.
- Run multiple jobs in parallel.
The following example shows a single workflow that will run two jobs in parallel. To create a workflow, you need a
workflow: section in
bbx./config.yaml. The workflow requires a unique name, in the provided example the workflow has been named
workflow-example. Once the workflow has been declared, you need to allocate jobs to the workflow. This is performed with the
jobs key followed a list of jobs to be performed by the workflow. In this example, there are two jobs
example-test. Once the workflow is triggered, these two jobs will run concurrently.
runners: example-runner: image: ubuntu-vitis-2020-1 jobs: example-build: runner: example-runner steps: ... example-test: runner: example-runner steps: ... workflows: workflow-example: jobs: - example-build - example-test