Skip to content

Commit 185f25d

Browse files
committed
Fix pipeline and container build
1 parent 5ad23a9 commit 185f25d

File tree

4 files changed

+23
-13
lines changed

4 files changed

+23
-13
lines changed

.gitlab-ci.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,15 @@ variables:
3333
build_and_test_energy_service_generics:
3434
<<: *docker_jobs_common
3535
stage: build_and_test
36+
rules:
37+
- if: '$CI_COMMIT_TAG'
3638
script:
37-
- bash bash build-docker-images.sh $IMAGE_TAG_BASE
39+
- sh build-docker-images.sh $IMAGE_TAG_BASE
3840
# Once all versions of the image are known to be working, push those.
41+
- docker image tag energy-service-generics:${IMAGE_TAG_BASE} $IMAGE_NAME:${IMAGE_TAG_BASE}
42+
- docker image tag energy-service-generics:${IMAGE_TAG_BASE}-service $IMAGE_NAME:${IMAGE_TAG_BASE}-service
43+
- docker image tag energy-service-generics:${IMAGE_TAG_BASE}-pandas $IMAGE_NAME:${IMAGE_TAG_BASE}-pandas
44+
- docker image tag energy-service-generics:${IMAGE_TAG_BASE}-service-pandas $IMAGE_NAME:${IMAGE_TAG_BASE}-service-pandas
3945
- docker push $IMAGE_NAME:${IMAGE_TAG_BASE}
4046
- docker push $IMAGE_NAME:${IMAGE_TAG_BASE}-service
4147
- docker push $IMAGE_NAME:${IMAGE_TAG_BASE}-pandas

build-docker-images.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@ IMAGE_TAG_BASE=${1:-latest}
2121
# NOTE: The builds are in such an order that as much as possible of layers
2222
# can be reused to keep build times low.
2323
docker build --target esg-base -t $IMAGE_NAME:${IMAGE_TAG_BASE} $SOURCE_PATH
24-
docker run --rm -t $IMAGE_NAME:$IMAGE_TAG_BASE pytest
24+
docker run --rm -t $IMAGE_NAME:$IMAGE_TAG_BASE pytest /source/energy_service_generics/tests/
2525
docker build --target esg-service -t $IMAGE_NAME:${IMAGE_TAG_BASE}-service $SOURCE_PATH
26-
docker run --rm -t $IMAGE_NAME:${IMAGE_TAG_BASE}-service pytest
26+
docker run --rm -t $IMAGE_NAME:${IMAGE_TAG_BASE}-service pytest /source/energy_service_generics/tests/
2727
docker build --target esg-pandas -t $IMAGE_NAME:${IMAGE_TAG_BASE}-pandas $SOURCE_PATH
28-
docker run --rm -t $IMAGE_NAME:${IMAGE_TAG_BASE}-pandas pytest
28+
docker run --rm -t $IMAGE_NAME:${IMAGE_TAG_BASE}-pandas pytest /source/energy_service_generics/tests/
2929
docker build --target esg-service-pandas -t $IMAGE_NAME:${IMAGE_TAG_BASE}-service-pandas $SOURCE_PATH
30-
docker run --rm -t $IMAGE_NAME:${IMAGE_TAG_BASE}-service-pandas pytest
30+
docker run --rm -t $IMAGE_NAME:${IMAGE_TAG_BASE}-service-pandas pytest /source/energy_service_generics/tests/
3131

3232
printf "\033[0;32m\n" # Make text green
3333
printf "Success! "

source/Dockerfile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
# SPDX-License-Identifier: Apache-2.0
1717

1818
# Base image for tag x.y.z
19-
FROM python:3.11 as esg-base
19+
FROM python:3.11 AS esg-base
2020

2121
# Install the auto-pytest tool incl. dependencies.
2222
RUN apt-get update && \
@@ -46,15 +46,15 @@ COPY esg/service/dummy_fooc.py /source/service/fooc.py
4646

4747
# Extended image for tag x.y.z-service
4848
# Contains the additional dependencies to run a service.
49-
FROM esg-base as esg-service
49+
FROM esg-base AS esg-service
5050

5151
RUN pip install /source/energy_service_generics[service]
5252

5353

5454

5555
# Extended image for tag x.y.z-pandas
5656
# Contains pandas -> allows the usage of esg.utils.pandas
57-
FROM esg-base as esg-pandas
57+
FROM esg-base AS esg-pandas
5858

5959
RUN pip install /source/energy_service_generics[pandas]
6060

@@ -63,6 +63,6 @@ RUN pip install /source/energy_service_generics[pandas]
6363
# Contains pandas, allows the usage of esg.utils.pandas
6464
# This starts from the pandas stage as installing pandas will likely
6565
# take longer then the dependencies of the service.
66-
FROM esg-pandas as esg-service-pandas
66+
FROM esg-pandas AS esg-service-pandas
6767

6868
RUN pip install /source/energy_service_generics[service,pandas]

source/tests/service/test_api.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -610,6 +610,10 @@ def __exit__(self, *_):
610610
self.process.join()
611611

612612

613+
@pytest.mark.skipif(
614+
service_extra_not_installed,
615+
reason="requires installation with `service` extra.",
616+
)
613617
class TestApiValidateJwt:
614618
"""
615619
Tests for `esg.service.api.API.validate_jwt`.
@@ -1119,14 +1123,14 @@ class TestPostRequest(PostEndpointTests):
11191123
"loc": ["arguments", "argument_as_float"],
11201124
"msg": "Field required",
11211125
"input": {"noFieldInModel": "foo bar"},
1122-
"url": "https://errors.pydantic.dev/2.7/v/missing",
1126+
"url": "https://errors.pydantic.dev/2.8/v/missing",
11231127
},
11241128
{
11251129
"type": "missing",
11261130
"loc": ["parameters"],
11271131
"msg": "Field required",
11281132
"input": {"arguments": {"noFieldInModel": "foo bar"}},
1129-
"url": "https://errors.pydantic.dev/2.7/v/missing",
1133+
"url": "https://errors.pydantic.dev/2.8/v/missing",
11301134
},
11311135
]
11321136
}
@@ -1159,14 +1163,14 @@ class TestPostFitParameters(PostEndpointTests):
11591163
"loc": ["arguments", "argument_as_float"],
11601164
"msg": "Field required",
11611165
"input": {"noFieldInModel": "foo bar"},
1162-
"url": "https://errors.pydantic.dev/2.7/v/missing",
1166+
"url": "https://errors.pydantic.dev/2.8/v/missing",
11631167
},
11641168
{
11651169
"type": "missing",
11661170
"loc": ["observations"],
11671171
"msg": "Field required",
11681172
"input": {"arguments": {"noFieldInModel": "foo bar"}},
1169-
"url": "https://errors.pydantic.dev/2.7/v/missing",
1173+
"url": "https://errors.pydantic.dev/2.8/v/missing",
11701174
},
11711175
]
11721176
}

0 commit comments

Comments
 (0)