Custom command container build steps ignore with configuration
- Dominant language
- Go
- Stars
- 1.4k
- Forks
- 175
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 134
Description
## Atmos version
1.225.0
## Reproduction
A custom command in `.atmos.d/commands.yaml` contains a typed native container build step with `engine: buildx`, `context: app`, a tag, a `docker-container` driver, and registry `cache.from` / `cache.to` settings.
Run:
```bash
APP_IMAGE=example.invalid/demo:sha-test \
APP_IMAGE_CACHE=example.invalid/demo:buildcache \
ECR_REGISTRY=example.invalid \
atmos --use-version=1.225.0 build
```
With a logging `docker` shim first on `PATH`, Atmos invokes only:
```text
docker info
docker build -f Dockerfile .
```
It silently drops the configured Buildx engine, context, tag, driver, and cache settings.
## Expected
Custom commands should execute typed `container` steps through the native workflow container runner, preserving all `with:` settings. At a minimum, the resulting argv should contain `buildx`, the configured builder, `--cache-from`, `--cache-to`, tag, Dockerfile, and context.
## Impact
The feature build workflow calls `atmos build` and `atmos push`, so this silently uses Docker's default builder, misses the intended ECR cache, builds the wrong context, and does not tag the deterministic deployment image.
Contributor guide
Research direction
Start with the typed container step in `.atmos.d/commands.yaml` and reproduce `atmos --use-version=1.225.0 build` using the logging `docker` shim described in the issue. Trace how custom commands reach the native workflow container runner, then verify the resulting argv preserves `buildx`, the builder, cache settings, tag, Dockerfile, and context.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, go
- Domain
- build-system, cli, devops
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100