Working with sources - Amazon CodeCatalyst

Working with sources

A source, also called an input source, is a source repository that a workflow action needs access to in order to carry out its tasks. For example, a workflow action might need to access a source to obtain unit tests and run them against your application source files.

CodeCatalyst workflows support the following sources:

Specifying the source that will store the workflow definition file

Use the following instructions to specify the CodeCatalyst source repository where you want to store your workflow definition file. If you'd rather specify a GitHub source repository, see instead Using GitHub repositories in CodeCatalyst.

The source repository where your workflow definition file resides is identified by the label, WorkflowSource.

Note

You specify the source repository where your workflow definition file resides when you first commit your workflow definition file. After this commit, the repository and workflow definition file are linked together permanently. The only way to change the repository after the initial commit is to re-create the workflow in a different repository.

To specify the source repository that will store the workflow definition file
  1. Open the CodeCatalyst console at https://codecatalyst.aws/.

  2. Choose your project.

  3. In the navigation pane, choose CI/CD, and then choose Workflows.

  4. Choose Create workflow and create the workflow. For more information, see To create a workflow using the visual editor.

    During the workflow creation process, you are asked to specify the CodeCatalyst repository where you want to store your workflow definition file.

Specifying the source that a workflow action will use

Use the following instructions to specify a source repository to use with a workflow action. On startup, the action bundles the files at the configured source repository into an artifact, downloads the artifact to the runtime environment Docker image where the action is running, and then completes its processing using the downloaded files.

Note

Currently, within a workflow action, you can only specify one source repository, which is the source repository where the workflow definition file resides (in the .codecatalyst/workflows/ directory). This source repository is represented by the label WorkflowSource.

Visual
To specify the source repository that an action will use (visual editor)
  1. Open the CodeCatalyst console at https://codecatalyst.aws/.

  2. Choose your project.

  3. In the navigation pane, choose CI/CD, and then choose Workflows.

  4. Choose the name of your workflow. You can filter by the source repository or branch name where the workflow is defined, or filter by workflow name.

  5. Choose Edit.

  6. Choose Visual.

  7. In the workflow diagram, choose the action where you want to specify the source.

  8. Choose Inputs.

  9. In Sources - optional do the following:

    Specify the labels that represent the source repositories that will be needed by the action. Currently, the only supported label is WorkflowSource, which represents the source repository where your workflow definition file is stored.

    If you omit a source, then you must specify at least one input artifact under action-name/Inputs/Artifacts.

    For more information about sources, see Working with sources.

  10. (Optional) Choose Validate to validate the workflow's YAML code before committing.

  11. Choose Commit, enter a commit message, and choose Commit again.

YAML
To specify the source repository that an action will use (YAML editor)
  1. Open the CodeCatalyst console at https://codecatalyst.aws/.

  2. Choose your project.

  3. In the navigation pane, choose CI/CD, and then choose Workflows.

  4. Choose the name of your workflow. You can filter by the source repository or branch name where the workflow is defined, or filter by workflow name.

  5. Choose Edit.

  6. Choose YAML.

  7. In an action, add code similar to the following:

    action-name: Inputs: Sources: - WorkflowSource

    For more information, see the description of the Sources property in Workflow definition reference for your action.

  8. (Optional) Choose Validate to validate the workflow's YAML code before committing.

  9. Choose Commit, enter a commit message, and choose Commit again.

Referencing files in a source repository

If you have files that reside in a source repository, and you need to refer to these files in one of your workflow actions, complete the following procedure.

To reference a file in a source repository
  • In the action where you want to reference a file, add code similar to the following:

    Actions: My-action: Inputs: Sources: - WorkflowSource Configuration: Steps: - run: cd my-app && cat file1.jar

    In the previous code, the action looks in the my-app directory in the root of the WorkflowSource source repository to find and display the file1.jar file.

Variables produced by the source

When a workflow runs, its source produces variables which you can use in subsequent workflow actions. For details, see "BranchName" and "CommitId" variables in the List of predefined variables.