

Amazon CodeCatalyst is no longer open to new customers. Existing customers can continue to use the service as normal. For more information, see [How to migrate from CodeCatalyst](migration.md).

# Examples of how to configure dependencies between actions
<a name="workflows-depends-on-examples"></a>

The following examples show how to configure dependencies between actions and groups in the workflow definition file.

**Topics**
+ [Example: Configuring a simple dependency](#workflows-depends-on-example-simple)
+ [Example: Configuring an action group to depend on an action](#workflows-depends-on-example-action-groups-actions)
+ [Example: Configuring an action group to depend on another action group](#workflows-depends-on-example-two-action-groups)
+ [Example: Configuring an action group to depend on multiple actions](#workflows-depends-on-example-advanced)

## Example: Configuring a simple dependency
<a name="workflows-depends-on-example-simple"></a>

The following example shows how to configure a `Test` action to depend on the `Build` action using the `DependsOn` property.

```
Actions:
  Build:
    Identifier: aws/build@v1
    Configuration:
      ...
  Test:
    DependsOn:
      - Build
    Identifier: aws/managed-test@v1
     Configuration:
       ...
```

## Example: Configuring an action group to depend on an action
<a name="workflows-depends-on-example-action-groups-actions"></a>

The following example shows how to configure a `DeployGroup` action group to depend on the `FirstAction` action. Notice that action and action group are at the same level.

```
Actions:
  FirstAction: #An action outside an action group
    Identifier: aws/github-actions-runner@v1
    Configuration:
      ...
  DeployGroup: #An action group containing two actions
    DependsOn: 
      - FirstAction
    Actions:
      DeployAction1:
      ...
      DeployAction2:
      ...
```

## Example: Configuring an action group to depend on another action group
<a name="workflows-depends-on-example-two-action-groups"></a>

The following example shows how to configure a `DeployGroup` action group to depend on the `BuildAndTestGroup` action group. Notice that the action groups are at the same level.

```
Actions:
  BuildAndTestGroup: # Action group 1
    Actions:
      BuildAction:
      ...
      TestAction:
      ...
  DeployGroup: #Action group 2
    DependsOn: 
      - BuildAndTestGroup
    Actions:
      DeployAction1:
      ...
      DeployAction2:
      ...
```

## Example: Configuring an action group to depend on multiple actions
<a name="workflows-depends-on-example-advanced"></a>

The following example shows how to configure a `DeployGroup` action group to depend on the `FirstAction` action, the `SecondAction` action, as well as the `BuildAndTestGroup` action group. Notice that `DeployGroup` is at the same level as `FirstAction`, `SecondAction`, and `BuildAndTestGroup`.

```
Actions:
  FirstAction: #An action outside an action group
    ...
  SecondAction: #Another action 
    ...
  BuildAndTestGroup: #Action group 1
    Actions:
      Build:
      ...
      Test:
      ...
  DeployGroup: #Action group 2
    DependsOn: 
      - FirstAction
      - SecondAction
      - BuildAndTestGroup
    Actions:
      DeployAction1:
      ...
      DeployAction2:
      ...
```