Loading .gitlab-ci.yml +16 −21 Original line number Diff line number Diff line Loading @@ -29,12 +29,7 @@ after_script: else VERSION="dev-${CI_COMMIT_SHORT_SHA}" fi - echo docker build --target $TARGET \ -t $IMAGE:$VARIANT . - docker build --target $TARGET \ -t $IMAGE:$VARIANT . - docker tag $IMAGE:$VARIANT \ -t $IMAGE:${VERSION}-${VARIANT} - docker build --build-arg PSEUDO_VERSION=$VERSION --target $TARGET -t $IMAGE:$VARIANT -t $IMAGE:${VERSION}-${VARIANT} . - echo docker push $IMAGE:$VARIANT - echo docker push $IMAGE:${VERSION}-${VARIANT} rules: Loading @@ -48,23 +43,23 @@ build:website: TARGET: website VARIANT: website build:ts: extends: .build-template variables: TARGET: ts VARIANT: ts # build:ts: # extends: .build-template # variables: # TARGET: ts # VARIANT: ts build:check: extends: .build-template variables: TARGET: check VARIANT: check # build:check: # extends: .build-template # variables: # TARGET: check # VARIANT: check build:all: extends: .build-template variables: TARGET: all VARIANT: all # build:all: # extends: .build-template # variables: # TARGET: all # VARIANT: all # -------------------- Loading dockerfile +6 −0 Original line number Diff line number Diff line # ---- Base stage ---- FROM python:3.13-slim AS base ARG PSEUDO_VERSION=1 # Install system dependencies for building + runtime RUN apt-get update && apt-get install -y \ Loading @@ -15,15 +16,18 @@ WORKDIR /app COPY pyproject.toml uv.lock .python-version ./ COPY src/ src/ ENV SETUPTOOLS_SCM_PRETEND_VERSION_FOR_SAREF_PYPELINE=${PSEUDO_VERSION} RUN uv pip install --system -e . # ---- Website ---- FROM base AS website ENV SETUPTOOLS_SCM_PRETEND_VERSION_FOR_SAREF_PYPELINE=${PSEUDO_VERSION} RUN uv pip install --system -e .[website] ENTRYPOINT ["saref-dev", "website"] # ---- TS ---- FROM base AS ts ENV SETUPTOOLS_SCM_PRETEND_VERSION_FOR_SAREF_PYPELINE=${PSEUDO_VERSION} RUN uv pip install --system -e .[ts] ENTRYPOINT ["saref-dev", "ts"] Loading @@ -31,10 +35,12 @@ ENTRYPOINT ["saref-dev", "ts"] FROM base AS check # Install Java 21 RUN apt-get update && apt-get install -y openjdk-21-jre-headless && rm -rf /var/lib/apt/lists/* ENV SETUPTOOLS_SCM_PRETEND_VERSION_FOR_SAREF_PYPELINE=${PSEUDO_VERSION} RUN uv pip install --system -e .[check] ENTRYPOINT ["saref-dev", "check"] # ---- All ---- FROM check AS all ENV SETUPTOOLS_SCM_PRETEND_VERSION_FOR_SAREF_PYPELINE=${PSEUDO_VERSION} RUN uv pip install --system -e .[website,ts] ENTRYPOINT ["saref-dev"] No newline at end of file Loading
.gitlab-ci.yml +16 −21 Original line number Diff line number Diff line Loading @@ -29,12 +29,7 @@ after_script: else VERSION="dev-${CI_COMMIT_SHORT_SHA}" fi - echo docker build --target $TARGET \ -t $IMAGE:$VARIANT . - docker build --target $TARGET \ -t $IMAGE:$VARIANT . - docker tag $IMAGE:$VARIANT \ -t $IMAGE:${VERSION}-${VARIANT} - docker build --build-arg PSEUDO_VERSION=$VERSION --target $TARGET -t $IMAGE:$VARIANT -t $IMAGE:${VERSION}-${VARIANT} . - echo docker push $IMAGE:$VARIANT - echo docker push $IMAGE:${VERSION}-${VARIANT} rules: Loading @@ -48,23 +43,23 @@ build:website: TARGET: website VARIANT: website build:ts: extends: .build-template variables: TARGET: ts VARIANT: ts # build:ts: # extends: .build-template # variables: # TARGET: ts # VARIANT: ts build:check: extends: .build-template variables: TARGET: check VARIANT: check # build:check: # extends: .build-template # variables: # TARGET: check # VARIANT: check build:all: extends: .build-template variables: TARGET: all VARIANT: all # build:all: # extends: .build-template # variables: # TARGET: all # VARIANT: all # -------------------- Loading
dockerfile +6 −0 Original line number Diff line number Diff line # ---- Base stage ---- FROM python:3.13-slim AS base ARG PSEUDO_VERSION=1 # Install system dependencies for building + runtime RUN apt-get update && apt-get install -y \ Loading @@ -15,15 +16,18 @@ WORKDIR /app COPY pyproject.toml uv.lock .python-version ./ COPY src/ src/ ENV SETUPTOOLS_SCM_PRETEND_VERSION_FOR_SAREF_PYPELINE=${PSEUDO_VERSION} RUN uv pip install --system -e . # ---- Website ---- FROM base AS website ENV SETUPTOOLS_SCM_PRETEND_VERSION_FOR_SAREF_PYPELINE=${PSEUDO_VERSION} RUN uv pip install --system -e .[website] ENTRYPOINT ["saref-dev", "website"] # ---- TS ---- FROM base AS ts ENV SETUPTOOLS_SCM_PRETEND_VERSION_FOR_SAREF_PYPELINE=${PSEUDO_VERSION} RUN uv pip install --system -e .[ts] ENTRYPOINT ["saref-dev", "ts"] Loading @@ -31,10 +35,12 @@ ENTRYPOINT ["saref-dev", "ts"] FROM base AS check # Install Java 21 RUN apt-get update && apt-get install -y openjdk-21-jre-headless && rm -rf /var/lib/apt/lists/* ENV SETUPTOOLS_SCM_PRETEND_VERSION_FOR_SAREF_PYPELINE=${PSEUDO_VERSION} RUN uv pip install --system -e .[check] ENTRYPOINT ["saref-dev", "check"] # ---- All ---- FROM check AS all ENV SETUPTOOLS_SCM_PRETEND_VERSION_FOR_SAREF_PYPELINE=${PSEUDO_VERSION} RUN uv pip install --system -e .[website,ts] ENTRYPOINT ["saref-dev"] No newline at end of file