Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .github/workflows/main.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Build cads-processing-api-service docker image

on:
workflow_dispatch:
push:
branches:
- main
tags:
- "v*"
pull_request:
branches:
- main


jobs:
build_docker_image:
name: Build docker image
uses: ecmwf-projects/cads-build-farm/.github/workflows/docker-build.yaml@main
with:
dockerfile: 'Retrieve.Dockerfile'
chart-repo: 'ecmwf/dss-retrieve-api-chart'
package-ref: "CADS_PROCESSING_API_SERVICE_REF"
secrets: inherit
51 changes: 51 additions & 0 deletions Retrieve.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
FROM condaforge/miniforge3:23.11.0-0

ARG MODE=stable
ARG CADS_PAT

WORKDIR /src

COPY ./git-*-repos.py /src/

COPY environment.${MODE} /src/environment
COPY environment-common.yml /src/environment-common.yml
COPY . /src/cads-processing-api-service

RUN conda install -y -n base -c conda-forge gitpython typer conda-merge

SHELL ["/bin/bash", "-c"]

RUN set -a && source environment \
&& CADS_PAT=${CADS_PAT} python ./git-clone-repos.py --default-branch \
cacholote \
cads-adaptors \
cads-broker \
cads-catalogue \
cads-common \
ogc-api-processes-fastapi

# NOTE: no environment for cads-adaptors as we only use basic features
RUN conda run -n base conda-merge \
/src/environment-common.yml \
/src/cacholote/environment.yml \
/src/cads-broker/environment.yml \
/src/cads-catalogue/environment.yml \
/src/cads-common/environment.yml \
/src/cads-processing-api-service/environment.yml \
/src/ogc-api-processes-fastapi/environment.yml \
> /src/combined-environment.yml \
&& conda env update -n base -f /src/combined-environment.yml \
&& conda clean -afy

RUN conda run -n base pip install --no-deps \
-e /src/cacholote \
-e /src/cads-broker \
-e /src/cads-catalogue \
-e /src/cads-common \
-e /src/cads-processing-api-service \
-e /src/ogc-api-processes-fastapi

# NOTE: pip install cads-adaptors mandatory dependencies
RUN conda run -n base pip install -e /src/cads-adaptors

CMD uvicorn cads_processing_api_service.main:app --host 0.0.0.0 --log-level info
7 changes: 7 additions & 0 deletions environment.dev
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# CADS repositories versions
CACHOLOTE_REF="main"
CADS_ADAPTORS_REF="main"
CADS_BROKER_REF="main"
CADS_CATALOGUE_REF="main"
CADS_COMMON_REF="main"
OGC_API_PROCESSES_FASTAPI_REF="main"
7 changes: 7 additions & 0 deletions environment.stable
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# CADS repositories versions
CACHOLOTE_REF="v1.7.1"
CADS_ADAPTORS_REF="v1.1.36"
CADS_BROKER_REF="v1.8.4"
CADS_CATALOGUE_REF="v2.3.0"
CADS_COMMON_REF="v0.6.0"
OGC_API_PROCESSES_FASTAPI_REF="v1.0.1"