Trying to improve dockerfile cacheing
This commit is contained in:
@@ -1,3 +1,7 @@
|
|||||||
|
# Ignore Git metadata
|
||||||
|
.git
|
||||||
|
.gitignore
|
||||||
|
|
||||||
# IDEs & System Files
|
# IDEs & System Files
|
||||||
.idea/
|
.idea/
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|||||||
+11
-11
@@ -5,7 +5,7 @@
|
|||||||
# builds (podman builds all --platform targets concurrently).
|
# builds (podman builds all --platform targets concurrently).
|
||||||
# Declare the automatic build arguments
|
# Declare the automatic build arguments
|
||||||
ARG BUILDPLATFORM
|
ARG BUILDPLATFORM
|
||||||
FROM --platform=$BUILDPLATFORM node:lts-trixie-slim AS base
|
FROM --platform=$BUILDPLATFORM docker.io/library/node:lts-trixie-slim AS base
|
||||||
|
|
||||||
# Install dependencies only when needed
|
# Install dependencies only when needed
|
||||||
FROM base AS deps
|
FROM base AS deps
|
||||||
@@ -36,7 +36,7 @@ RUN \
|
|||||||
else echo "Lockfile not found." && exit 1; \
|
else echo "Lockfile not found." && exit 1; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
FROM python:3.14-slim AS runner
|
FROM docker.io/library/python:3.14-slim AS runner
|
||||||
LABEL maintainer="Amritanshu <docker@tanshu.com>"
|
LABEL maintainer="Amritanshu <docker@tanshu.com>"
|
||||||
|
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
@@ -69,15 +69,6 @@ WORKDIR /app/
|
|||||||
# Ref: https://docs.astral.sh/uv/guides/integration/docker/#using-the-environment
|
# Ref: https://docs.astral.sh/uv/guides/integration/docker/#using-the-environment
|
||||||
ENV PATH="/app/.venv/bin:$PATH"
|
ENV PATH="/app/.venv/bin:$PATH"
|
||||||
|
|
||||||
# Pass the version from the Makefile. The build context has no usable .git
|
|
||||||
# (a git-URL build is a tag-less shallow clone and git is not installed), so
|
|
||||||
# hatch-vcs cannot discover the version itself. hatch-vcs calls
|
|
||||||
# setuptools_scm without a dist name, so only the generic
|
|
||||||
# SETUPTOOLS_SCM_PRETEND_VERSION is honored - the
|
|
||||||
# SETUPTOOLS_SCM_PRETEND_VERSION_FOR_<NAME> variant is silently ignored.
|
|
||||||
ARG SETUPTOOLS_SCM_PRETEND_VERSION
|
|
||||||
ENV SETUPTOOLS_SCM_PRETEND_VERSION=$SETUPTOOLS_SCM_PRETEND_VERSION
|
|
||||||
|
|
||||||
# Install dependencies
|
# Install dependencies
|
||||||
# Ref: https://docs.astral.sh/uv/guides/integration/docker/#intermediate-layers
|
# Ref: https://docs.astral.sh/uv/guides/integration/docker/#intermediate-layers
|
||||||
RUN --mount=type=cache,target=/root/.cache/uv \
|
RUN --mount=type=cache,target=/root/.cache/uv \
|
||||||
@@ -87,6 +78,15 @@ RUN --mount=type=cache,target=/root/.cache/uv \
|
|||||||
|
|
||||||
COPY /brewman ./
|
COPY /brewman ./
|
||||||
|
|
||||||
|
# Pass the version from the Makefile. The build context has no usable .git
|
||||||
|
# (git archive stream / shallow clone lacks git metadata), so
|
||||||
|
# hatch-vcs cannot discover the version itself. hatch-vcs calls
|
||||||
|
# setuptools_scm without a dist name, so only the generic
|
||||||
|
# SETUPTOOLS_SCM_PRETEND_VERSION is honored - the
|
||||||
|
# SETUPTOOLS_SCM_PRETEND_VERSION_FOR_<NAME> variant is silently ignored.
|
||||||
|
ARG SETUPTOOLS_SCM_PRETEND_VERSION
|
||||||
|
ENV SETUPTOOLS_SCM_PRETEND_VERSION=$SETUPTOOLS_SCM_PRETEND_VERSION
|
||||||
|
|
||||||
# hatch-vcs generates _version.py only inside uv's isolated wheel build, so
|
# hatch-vcs generates _version.py only inside uv's isolated wheel build, so
|
||||||
# the source tree copied here lacks it. Write it ourselves (from the same
|
# the source tree copied here lacks it. Write it ourselves (from the same
|
||||||
# build arg) so importing brewman from /app works identically to the
|
# build arg) so importing brewman from /app works identically to the
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
/>
|
/>
|
||||||
<mat-autocomplete #auto="matAutocomplete" autoActiveFirstOption [displayWith]="displayFn">
|
<mat-autocomplete #auto="matAutocomplete" autoActiveFirstOption [displayWith]="displayFn">
|
||||||
@for (account of accounts(); track account) {
|
@for (account of accounts(); track account.id) {
|
||||||
<mat-option [value]="account">{{ account.name }}</mat-option>
|
<mat-option [value]="account">{{ account.name }}</mat-option>
|
||||||
}
|
}
|
||||||
</mat-autocomplete>
|
</mat-autocomplete>
|
||||||
|
|||||||
Reference in New Issue
Block a user