Boavizta / boaviztapi

🛠 Giving access to BOAVIZTA reference data and methodologies trough a RESTful API
GNU Affero General Public License v3.0
66 stars 23 forks source link

cannot build container image of dev branch #202

Closed demeringo closed 1 year ago

demeringo commented 1 year ago

Bug description

Docker build fails on dev branch;

To Reproduce

docker build .

Expected behavior

JSON OUTPUT

Additional context

Seems related to a version number not set or not found in the docker build process.

COPY dist/boaviztapi-.tar.gz has no version number

[+] Building 1.4s (10/14)                                                                                                                                     
 => [internal] load build definition from Dockerfile                                                                                                     0.0s
 => => transferring dockerfile: 682B                                                                                                                     0.0s
 => [internal] load .dockerignore                                                                                                                        0.0s
 => => transferring context: 2B                                                                                                                          0.0s
 => [internal] load metadata for gcr.io/distroless/python3:latest                                                                                        0.4s
 => [internal] load metadata for docker.io/library/python:3.9-slim                                                                                       0.4s
 => CANCELED [build-env 1/5] FROM docker.io/library/python:3.9-slim@sha256:0074c6241f2ff175532c72fb0fb37264e8a1ac68f9790f9ee6da7e9fdfb67a0e              0.8s
 => => resolve docker.io/library/python:3.9-slim@sha256:0074c6241f2ff175532c72fb0fb37264e8a1ac68f9790f9ee6da7e9fdfb67a0e                                 0.0s
 => => sha256:5b5fe70539cd6989aa19f25826309f9715a9489cf1c057982d6a84c1ad8975c7 9.44MB / 29.12MB                                                          0.9s
 => => sha256:f4b0e4004dc04711a8993bf16c12de46a97fb4451c82ef440984fde7c822e4ea 3.50MB / 3.50MB                                                           0.4s
 => => sha256:ec1650096fae04de5f4e806b06d5fba83a6b9395fa0fecc042992d35814fbdb5 1.05MB / 16.94MB                                                          0.9s
 => => sha256:0074c6241f2ff175532c72fb0fb37264e8a1ac68f9790f9ee6da7e9fdfb67a0e 1.86kB / 1.86kB                                                           0.0s
 => => sha256:458de07c635e7b842b821d3d3668f3b2ab71090707d555eb53410b45ff618639 1.37kB / 1.37kB                                                           0.0s
 => => sha256:326a3a036ed2b15e825d1c131b205e5e1534581121cbd3e09403b3fd46bc5c70 6.91kB / 6.91kB                                                           0.0s
 => => sha256:2ee3c5a347ae465d75d2bde8779b0828a483a130ec4f136029acd249f83e73b7 244B / 244B                                                               0.7s
 => => sha256:d854e82593a7e6780eb765d18f9e299379ec680c90a66c45653fd661d28f35bc 0B / 3.13MB                                                               0.9s
 => [internal] load build context                                                                                                                        0.8s
 => => transferring context: 1.16MB                                                                                                                      0.8s
 => CACHED [stage-1 1/4] FROM gcr.io/distroless/python3@sha256:69ae7f133d33faab720af28e78fb45707b623bcbc94ae02a07c633bf053f4b40                          0.0s
 => CACHED [build-env 2/5] COPY . /app                                                                                                                   0.0s
 => CACHED [build-env 3/5] WORKDIR /app                                                                                                                  0.0s
 => ERROR [build-env 4/5] COPY dist/boaviztapi-.tar.gz ./                                                                                                0.0s
------
 > [build-env 4/5] COPY dist/boaviztapi-.tar.gz ./:
------
Dockerfile:9
--------------------
   7 |     WORKDIR /app
   8 |     
   9 | >>> COPY dist/boaviztapi-$VERSION.tar.gz ./
  10 |     RUN pip install boaviztapi-$VERSION.tar.gz && cp $(which uvicorn) /app
  11 |     
--------------------
ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref 6MIY:WKUY:AAEA:KRHS:FE4U:BGGF:QSMN:GNY7:QUZR:2OGL:OV27:MXBZ::j9q1bl3qvrrdejbfm0lyi9ybe: "/dist/boaviztapi-.tar.gz": not found
demeringo commented 1 year ago

Need to pass version to the docker build command

In command line (assuming we ran make build before)

docker build . --build-arg VERSION=<my-specific-version>

or better

docker build --build-arg VERSION=`poetry version -s` .

In the makefile

docker build -t $(DOCKER_NAME) .  --build-arg VERSION=${CURRENT_VERSION}