Release
Define workflow in separate YAML files
Previously, you had to define all workflows in the single .dstack/workflows.yaml
file. While this worked for simple projects, for larger projects this was rather inconvenient and quickly created a mess.
Now you can define workflow across separate YAML files under the .dstack/workflows
folder.
Pass workflows arguments
Sometimes you may want to quickly run a workflow and pass it certain parameters right from the command line.
For example, you want to override some of the hyper parameters, change the batch size, or even pass it a prompt (e.g. if your workflow generates images).
Previously, the dstack run
command hasn't allowed you to pass any arguments. You have to change either the code or the YAML file.
Now you can pass arguments to the workflow right from the dstack run
command and refer to them from your YAML file via the ${{ run.args }}
expression.
Here's an example:
workflows:
- name: hello-args
provider: bash
commands:
- python args/hello-arg.py ${{ run.args }}
Now you can pass arguments to this workflow the following way:
dstack run hello-arg "Hello, world!"
The only limitation to this feature is that you can use any arguments except those that are reserved for the dstack run
command itself.
Repo and user cost allocation tags
Tracking compute costs is important.
Now, dstack
uses additional tags on EC2 resources to make tracking costs even easier.
Now, when creating EC2 resources, dstack
adds the
dstack_repo
, dstack_user_name
, and dstack_user_email
tags (in addition to the previously used dstack_bucket
.
If you open AWS Billing
| Cost allocation tags
, you'll be able to activate these tags as cost allocation tags, and track compute costs per individual dstack repo and user.
Examples
Last but not least, thanks to supporting separate workflow files, we've been able to refactor the dstack-examples
repository.
First, we've added there the source code of the Examples. Second, we've updated the source code of the Quickstart: workflows were moved to a separate YAML file, and the source files were moved to a separate folder.
Finally, the documentation was updated to reflect the changes above.
Try it
To install the new version of the CLI, just run this command:
pip install dstack --upgrade
In case you have feedback, if either something doesn't work as expected, or you have a question, please share it in our Slack chat, or report it as a GitHub issue.