@@ -137,23 +137,6 @@ ENV PROTOTOOL_CACHE_PATH /.cache/prototool
137
137
ARG SOURCE_DATE_EPOCH
138
138
ENV SOURCE_DATE_EPOCH ${SOURCE_DATE_EPOCH}
139
139
WORKDIR /src
140
- ARG NAME
141
- ARG SHA
142
- ARG USERNAME
143
- ARG REGISTRY
144
- ARG TAG
145
- ARG ARTIFACTS
146
- ARG PKGS
147
- ARG EXTRAS
148
- RUN mkdir -p pkg/machinery/gendata/data && \
149
- echo -n ${NAME} > pkg/machinery/gendata/data/name && \
150
- echo -n ${SHA} > pkg/machinery/gendata/data/sha && \
151
- echo -n ${USERNAME} > pkg/machinery/gendata/data/username && \
152
- echo -n ${REGISTRY} > pkg/machinery/gendata/data/registry && \
153
- echo -n ${EXTRAS} > pkg/machinery/gendata/data/extras && \
154
- echo -n ${PKGS} > pkg/machinery/gendata/data/pkgs && \
155
- echo -n ${TAG} > pkg/machinery/gendata/data/tag && \
156
- echo -n ${ARTIFACTS} > pkg/machinery/gendata/data/artifacts
157
140
158
141
# The build-go target creates a container to build Go code with Go modules downloaded and verified.
159
142
@@ -226,11 +209,36 @@ RUN --mount=type=cache,target=/.cache go generate ./...
226
209
RUN goimports -w -local github.com/talos-systems/talos ./
227
210
RUN gofumpt -w ./
228
211
229
- FROM build AS fix_embed
212
+ FROM build AS embed-generate
213
+ ARG NAME
214
+ ARG SHA
215
+ ARG USERNAME
216
+ ARG REGISTRY
217
+ ARG TAG
218
+ ARG ARTIFACTS
219
+ ARG PKGS
220
+ ARG EXTRAS
221
+ RUN mkdir -p pkg/machinery/gendata/data && \
222
+ echo -n ${NAME} > pkg/machinery/gendata/data/name && \
223
+ echo -n ${SHA} > pkg/machinery/gendata/data/sha && \
224
+ echo -n ${USERNAME} > pkg/machinery/gendata/data/username && \
225
+ echo -n ${REGISTRY} > pkg/machinery/gendata/data/registry && \
226
+ echo -n ${EXTRAS} > pkg/machinery/gendata/data/extras && \
227
+ echo -n ${PKGS} > pkg/machinery/gendata/data/pkgs && \
228
+ echo -n ${TAG} > pkg/machinery/gendata/data/tag && \
229
+ echo -n ${ARTIFACTS} > pkg/machinery/gendata/data/artifacts
230
+
231
+ FROM scratch AS embed
232
+ COPY --from=embed-generate /src/pkg/machinery/gendata/data /pkg/machinery/gendata/data
233
+
234
+ FROM embed-generate AS embed-abbrev-generate
230
235
ARG ABBREV_TAG
231
236
RUN echo -n "undefined" > pkg/machinery/gendata/data/sha && \
232
237
echo -n ${ABBREV_TAG} > pkg/machinery/gendata/data/tag
233
238
239
+ FROM scratch AS embed-abbrev
240
+ COPY --from=embed-abbrev-generate /src/pkg/machinery/gendata/data /pkg/machinery/gendata/data
241
+
234
242
FROM --platform=${BUILDPLATFORM} scratch AS generate
235
243
COPY --from=proto-format-build /src/api /api/
236
244
COPY --from=generate-build /api/common/*.pb.go /pkg/machinery/api/common/
@@ -247,7 +255,7 @@ COPY --from=go-generate /src/pkg/machinery/resources/network/ /pkg/machinery/res
247
255
COPY --from=go-generate /src/pkg/machinery/config/types/v1alpha1/ /pkg/machinery/config/types/v1alpha1/
248
256
COPY --from=go-generate /src/pkg/machinery/nethelpers/ /pkg/machinery/nethelpers/
249
257
COPY --from=go-generate /src/pkg/machinery/extensions/ /pkg/machinery/extensions/
250
- COPY --from=fix_embed /src/pkg/machinery/gendata/data /pkg/machinery/gendata/data
258
+ COPY --from=embed-abbrev / /
251
259
252
260
# The base target provides a container that can be used to build all Talos
253
261
# assets.
@@ -257,7 +265,7 @@ COPY ./cmd ./cmd
257
265
COPY ./pkg ./pkg
258
266
COPY ./internal ./internal
259
267
COPY --from=generate /pkg/machinery/ ./pkg/machinery/
260
- COPY --from=build /src/pkg/machinery/gendata/data ./pkg/machinery/gendata/data
268
+ COPY --from=embed / ./
261
269
RUN --mount=type=cache,target=/.cache go list all >/dev/null
262
270
WORKDIR /src/pkg/machinery
263
271
RUN --mount=type=cache,target=/.cache go mod download
0 commit comments