Skip to main content

Versions and tagging

Overview

  • Every push (update) to a workflow or step increases its version by 1
  • Tags can be applied to a specific version of a specific workflow or step and reapplied at will
  • A specific workflow or step version can be referred to by name/version or by name/tag
  • Workflow and step names are immutable
  • Every workflow/step and version combination has a unique ID
note

In this document we'll use the Sandgarden CLI but you can accomplish the same things via the API or Web UI.

While the following examples use workflows, the exact same concepts apply to steps.

Pushing a workflow

Every push to the same workflow name results in a new version, starting from version 1.

Before push

After push

$ sand workflows push --file /path/to/file --name myWorkflow

A specific version of a workflow can be referenced as workflow:version.

Tagging

Tags can be applied by using sand workflows tag and can be reapplied to new versions at will. This permits you to point to specific workflow versions via the tag rather than a specific version ID, and change the referenced version without changing your code: workflow:tag.

Some tags in place

Here, stable is pointing at version 10, and latest at version 11.

Adding a tag

Suppose we want to add another tag, dev, pointing at version 14.

$ sand workflows tag --name myWorkflow --version 14 --tag dev

Updating a tag

Similarly, we can take an existing tag and apply it to a different workflow version. In our example, latest is currently applied to version 11, but we'll point it to version 13.

$ sand workflows tag --name myWorkflow --version 13 --tag latest