Docs for bitbucket + aws seem to not be correct any more. Is it possible that cml for this combo is broken/ currently unsupported?
- Dominant language
- JavaScript
- Stars
- 4.2k
- Forks
- 345
- PR merge metrics
- No merged PRs in 30d
Description
So I've followed the docs on getting started with Bitbucket which was pretty smooth: https://cml.dev/doc/start/bitbucket
I've then tried to extend this with the 'marketing' code snippet on https://cml.dev/, which is also the 'documented' Bitbucket solution
```
cml runner launch \
--cloud=aws \
--cloud-region=us-west \
--cloud-type=m5.2xlarge \
--cloud-spot \
--labels=cml.runner
```
I've also combined this with the Blog by Rob here: https://dvc.org/blog/bitbucket-cml-runners which outlines extending the `REPO_TOKEN` with `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY`. I'm pretty certain the `REPO_TOKEN` is correct as the 'comment' step from the other example is working. I'm also pretty certain the secret keys are working as well from the AWS IAM 'last used' values ticking over each time.
The error is being raised internally in the `cml runner` call from terraform.
```
{"level":"info","message":"Preparing workdir /home/runner..."}
{"level":"info","message":"Deploying cloud runner plan..."}
{"level":"info","message":"Terraform apply..."}
{"level":"info","message":"Terraform 1.9.8"}
{"level":"info","message":"iterative_cml_runner.runner: Plan to create"}
{"level":"info","message":"Plan: 1 to add, 0 to change, 0 to destroy."}
{"level":"info","message":"iterative_cml_runner.runner: Creating..."}
{"level":"info","message":"iterative_cml_runner.runner: Creation errored after 2s"}
{"level":"error","message":"terraform error: Error: Failed creating the machine: Nor iterative-cml nor Ubuntu Server 18.04 are available in your region"}
```
A number of `--cloud-image` values were tried, including variations described in https://github.com/iterative/cml/issues/1494 and a number of strings representing generic amazon ami images. The error stayed the same, except replacing `iterative-cml` with the value supplied in `--cloud-image`
I'm spiking this for use in a work project, and I'm a little concerned about adopting this for a few reasons:
1. This example project of using AWS + BitBucket + CML was last proven to 'work' 3 years ago: https://bitbucket.org/iterative-ai/example_model_export_cml/pipelines
2. This example project as written currently _won't_ work without at least a minor edit, as `cml runner` is now `cml runner launch`, missing the `launch` will give (an informative) error
3. `cml runner launch` seems to have an undocumented `--cloud-image` argument, which does seem to have an impact in the error message in this case directly, but it seems entirely undocumented. I discovered it from here: https://github.com/iterative/cml/issues/1494 and it seems it's lack of documentation was discussed here in 2023: https://github.com/iterative/cml/pull/1302
4. The currently ['recommended' practice of creating](https://cml.dev/doc/self-hosted-runners?tab=Bitbucket#personal-access-token) a `REPO_TOKEN` from username and password hashed works for now, but is depreciated from last month and will be disabled on June 9, 2026 according to a message on Bitbucket in User > Access Management > App passwords.
What is the state of the project right now? Is it still suitable for adoption, or is it being quietly depreciated, migrated or replaced?
I hope this doesn't sound judgy or angry. I'm not emotionally invested in this at all, just trying to make a good choice for the company. We've had great success in adopting the core `dvc` project for managing ml experiments and hopefully will continue in the years to come 🤞🏻
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.