Convox Community

Service build path not relative to manifest with --manifest?

When building a Convox app using (f.e.) a deployment workflow, the command line being run is something like:

convox build --app my-app --description 'test build' --id --manifest my-app/convox.yml --development

Where the my-app application is located completely in the my-app directory of the checked out repository. In this example, this repository contains multiple applications, hence why the sub-dir.

All service build contexts (Dockerfile, etc) in convox.yml are specified relative to the manifest. However, when building with --manifest, the service build contexts doesn’t seem to be evaluated relative to the manifest file like I would expect.

Convoy.yml:

services:
  some-service:
    build: ./some-service

Result:

Packaging source... OK
Uploading source... OK
Starting build... OK
Authenticating <X>.dkr.ecr.eu-west-1.amazonaws.com: Login Succeeded
Authenticating https://index.docker.io/v1/: Login Succeeded
Building: ./some-service
ERROR: open some-service/Dockerfile: no such file or directory
ERROR: build failed

Is there some other way to specify the build context for services that will work both when building from the application directly (simply convox build) and with --manifest option?

Maybe I’ve doing something wrong here, but I’ve tried several combinations of relative path variations in the convoy.yml definition, and the only way I can get both relative and manifest-specified builds to work is by using absolute paths, which you obviously don’t want to do. I also tried using environment variables (like PWD), but didn’t get that to work either.

Another thing that would be helpful in this case is to be able to specify a build context in the deployment workflow itself, but I can’t see any such option.

Thanks!