Skip to content

Commit 24906d2

Browse files
add GitHub Actions workflow and Dockerfile for cads-processing-api-service
1 parent 35614ee commit 24906d2

File tree

4 files changed

+87
-0
lines changed

4 files changed

+87
-0
lines changed

.github/workflows/main.yaml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
name: Build cads-processing-api-service docker image
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches:
7+
- main
8+
tags:
9+
- "v*"
10+
pull_request:
11+
branches:
12+
- main
13+
14+
15+
jobs:
16+
build_docker_image:
17+
name: Build docker image
18+
uses: ecmwf-projects/cads-build-farm/.github/workflows/docker-build.yaml@main
19+
with:
20+
dockerfile: 'Retrieve.Dockerfile'
21+
chart-repo: 'ecmwf/dss-retrieve-api-chart'
22+
package-ref: "CADS_PROCESSING_API_SERVICE_REF"
23+
secrets: inherit

Retrieve.Dockerfile

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
FROM condaforge/miniforge3:23.11.0-0
2+
3+
ARG MODE=stable
4+
ARG CADS_PAT
5+
6+
WORKDIR /src
7+
8+
COPY ./git-*-repos.py /src/
9+
10+
COPY environment.${MODE} /src/environment
11+
COPY environment-common.yml /src/environment-common.yml
12+
13+
RUN conda install -y -n base -c conda-forge gitpython typer conda-merge
14+
15+
SHELL ["/bin/bash", "-c"]
16+
17+
RUN set -a && source environment \
18+
&& CADS_PAT=${CADS_PAT} python ./git-clone-repos.py --default-branch \
19+
cacholote \
20+
cads-adaptors \
21+
cads-broker \
22+
cads-catalogue \
23+
cads-common \
24+
ogc-api-processes-fastapi
25+
26+
# NOTE: no environment for cads-adaptors as we only use basic features
27+
RUN conda run -n base conda-merge \
28+
/src/environment-common.yml \
29+
/src/cacholote/environment.yml \
30+
/src/cads-broker/environment.yml \
31+
/src/cads-catalogue/environment.yml \
32+
/src/cads-common/environment.yml \
33+
/src/cads-processing-api-service/environment.yml \
34+
/src/ogc-api-processes-fastapi/environment.yml \
35+
> /src/combined-environment.yml \
36+
&& conda env update -n base -f /src/combined-environment.yml \
37+
&& conda clean -afy
38+
39+
RUN conda run -n base pip install --no-deps \
40+
-e /src/cacholote \
41+
-e /src/cads-broker \
42+
-e /src/cads-catalogue \
43+
-e /src/cads-common \
44+
-e /src/cads-processing-api-service \
45+
-e /src/ogc-api-processes-fastapi
46+
47+
# NOTE: pip install cads-adaptors mandatory dependencies
48+
RUN conda run -n base pip install -e /src/cads-adaptors
49+
50+
CMD uvicorn cads_processing_api_service.main:app --host 0.0.0.0 --log-level info

environment.dev

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# CADS repositories versions
2+
CACHOLOTE_REF="main"
3+
CADS_ADAPTORS_REF="main"
4+
CADS_BROKER_REF="main"
5+
CADS_CATALOGUE_REF="main"
6+
CADS_COMMON_REF="main"
7+
OGC_API_PROCESSES_FASTAPI_REF="main"

environment.stable

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# CADS repositories versions
2+
CACHOLOTE_REF="v1.7.1"
3+
CADS_ADAPTORS_REF="v1.1.36"
4+
CADS_BROKER_REF="v1.8.4"
5+
CADS_CATALOGUE_REF="v2.3.0"
6+
CADS_COMMON_REF="v0.6.0"
7+
OGC_API_PROCESSES_FASTAPI_REF="v1.0.1"

0 commit comments

Comments
 (0)