Skip to content

Commit a78b530

Browse files
committed
RHAIENG-2846 [3/3]: Hermetic Dockerfile + build patches + Tekton for codeserver
Hermetic build for codeserver/ubi9-python-3.12: all dependencies (RPMs, npm packages, Python wheels, generic artifacts) are prefetched and the Dockerfile builds entirely offline. Core changes: - Rewrite Dockerfile.cpu as a multi-stage hermetic build (rpm-base, whl-cache, cpu-base, codeserver, tests) using /cachi2/output mounts - Delete get_code_server_rpm.sh, replaced by apply-patch.sh - Add offline build patches: apply-patch.sh, setup-offline-binaries.sh, codeserver-offline-env.sh, tweak-gha.sh (GHA-only memory tuning) - Add s390x.patch and lockfile overlays for microsoft-authentication and test/ subdirectories Build infrastructure: - Update Makefile to auto-detect cachi2/output and inject --volume + LOCAL_BUILD=true for hermetic local builds - Fix scripts/sandbox.py for macOS (glob expansion, .git permission errors, xattr handling) and deduplicate prerequisites - Add scripts/lockfile-generators/post-prefetch.sh CI / Tekton: - Add timeout: 4h to build-images task in multiarch-combined-pipeline - Update Tekton PipelineRuns (pull-request + push) to point at prefetch-input/odh/ and add pipeline timeout - GHA: add --layers=false and --build-arg GHA_BUILD=true for codeserver targets; trigger LVM overlay for codeserver builds Documentation: - Add docs/hermetic-guide.md - Update codeserver/ubi9-python-3.12/README.md
1 parent ae2bb4c commit a78b530

37 files changed

+27243
-613
lines changed

.dockerignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ tests/
66
.idea/
77

88
# git
9-
.git/
9+
# .git/ is intentionally NOT ignored: the Dockerfile needs it to resolve the
10+
# code-server git submodule (COPY .git ...). Ensure CI uses a shallow clone.
1011
.gitignore
1112
.gitkeep
1213

.github/workflows/build-notebooks-TEMPLATE.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,10 @@ jobs:
272272
# Hermetic builds: when the target ships a prefetch-input/ directory,
273273
# download all dependencies into cachi2/output/ so the Dockerfile can
274274
# build fully offline. Targets without prefetch-input/ are unaffected.
275+
# For RHDS/AIPCC builds (subscription: true), the --rhds flag selects the
276+
# downstream lockfiles and the SUBSCRIPTION_* env vars supply the RHEL
277+
# credentials for RPM downloads from cdn.redhat.com — secrets never
278+
# appear on the command line.
275279
- name: "Prefetch hermetic build dependencies"
276280
id: prefetch
277281
run: |

.tekton/multiarch-combined-pipeline.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,7 @@ spec:
263263
value:
264264
- $(params.build-platforms)
265265
name: build-images
266+
timeout: 4h
266267
params:
267268
- name: IMAGE
268269
value: $(params.output-image)

.tekton/odh-workbench-codeserver-datascience-cpu-py312-ubi9-pull-request.yaml

Lines changed: 127 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,13 @@ metadata:
1313
pipelinesascode.tekton.dev/max-keep-runs: '3'
1414
pipelinesascode.tekton.dev/on-comment: ^/kfbuild\s+(all|odh\-workbench\-codeserver\-datascience\-cpu\-py312\-ubi9|codeserver/ubi9\-python\-3\.12)
1515
pipelinesascode.tekton.dev/on-cel-expression: |
16-
event == "pull_request" && target_branch == "main" && !("manifests/base/params-latest.env".pathChanged()) && ( ".tekton/odh-workbench-codeserver-datascience-cpu-py312-ubi9-pull-request.yaml".pathChanged() || "codeserver/ubi9-python-3.12/**".pathChanged() || "codeserver/ubi9-python-3.12/build-args/cpu.conf".pathChanged() )
17-
&& body.repository.full_name == "opendatahub-io/notebooks"
16+
event == "pull_request" && target_branch == "main" &&
17+
!("manifests/base/params-latest.env".pathChanged()) &&
18+
(
19+
".tekton/odh-workbench-codeserver-datascience-cpu-py312-ubi9-pull-request.yaml".pathChanged() ||
20+
"codeserver/ubi9-python-3.12/**".pathChanged() ||
21+
"codeserver/ubi9-python-3.12/build-args/cpu.conf".pathChanged()
22+
) && body.repository.full_name == "opendatahub-io/notebooks"
1823
labels:
1924
appstudio.openshift.io/application: opendatahub-release
2025
appstudio.openshift.io/component: odh-workbench-codeserver-datascience-cpu-py312-ubi9
@@ -27,6 +32,8 @@ spec:
2732
params:
2833
- name: event-type
2934
value: '{{event_type}}'
35+
- name: enable-cache-proxy
36+
value: "true"
3037
- name: git-url
3138
value: '{{source_url}}'
3239
- name: revision
@@ -47,6 +54,124 @@ spec:
4754
value: .
4855
- name: build-args-file
4956
value: codeserver/ubi9-python-3.12/build-args/cpu.conf
57+
- name: hermetic
58+
value: "true"
59+
- name: prefetch-input
60+
value:
61+
- path: codeserver/ubi9-python-3.12/prefetch-input/odh
62+
type: rpm
63+
- path: codeserver/ubi9-python-3.12/prefetch-input/odh
64+
type: generic
65+
- path: codeserver/ubi9-python-3.12
66+
type: pip
67+
binary:
68+
arch: "x86_64,aarch64,ppc64le"
69+
requirements_files: ["requirements.cpu.txt"]
70+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/.vscode/extensions/vscode-selfhost-import-aid
71+
type: npm
72+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/.vscode/extensions/vscode-selfhost-test-provider
73+
type: npm
74+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/build
75+
type: npm
76+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/build/npm/gyp
77+
type: npm
78+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions
79+
type: npm
80+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/configuration-editing
81+
type: npm
82+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/css-language-features
83+
type: npm
84+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/css-language-features/server
85+
type: npm
86+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/debug-auto-launch
87+
type: npm
88+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/debug-server-ready
89+
type: npm
90+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/emmet
91+
type: npm
92+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/extension-editing
93+
type: npm
94+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/git
95+
type: npm
96+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/git-base
97+
type: npm
98+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/github
99+
type: npm
100+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/github-authentication
101+
type: npm
102+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/grunt
103+
type: npm
104+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/gulp
105+
type: npm
106+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/html-language-features
107+
type: npm
108+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/html-language-features/server
109+
type: npm
110+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/ipynb
111+
type: npm
112+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/jake
113+
type: npm
114+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/json-language-features
115+
type: npm
116+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/json-language-features/server
117+
type: npm
118+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/markdown-language-features
119+
type: npm
120+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/markdown-math
121+
type: npm
122+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/media-preview
123+
type: npm
124+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/merge-conflict
125+
type: npm
126+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/mermaid-chat-features
127+
type: npm
128+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/notebook-renderers
129+
type: npm
130+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/npm
131+
type: npm
132+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/php-language-features
133+
type: npm
134+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/references-view
135+
type: npm
136+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/simple-browser
137+
type: npm
138+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/tunnel-forwarding
139+
type: npm
140+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/typescript-language-features
141+
type: npm
142+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/vscode-api-tests
143+
type: npm
144+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/vscode-colorize-perf-tests
145+
type: npm
146+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/vscode-colorize-tests
147+
type: npm
148+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/vscode-test-resolver
149+
type: npm
150+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/remote
151+
type: npm
152+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/remote/web
153+
type: npm
154+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/test/automation
155+
type: npm
156+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/test/integration/browser
157+
type: npm
158+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/test/mcp
159+
type: npm
160+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/test/monaco
161+
type: npm
162+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/test/smoke
163+
type: npm
164+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/test/e2e/extensions/test-extension
165+
type: npm
166+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server
167+
type: npm
168+
# patches/
169+
- path: codeserver/ubi9-python-3.12/prefetch-input/patches/code-server-v4.106.3/lib/vscode
170+
type: npm
171+
- path: codeserver/ubi9-python-3.12/prefetch-input/patches/code-server-v4.106.3/test
172+
type: npm
173+
- path: codeserver/ubi9-python-3.12/prefetch-input/patches/code-server-v4.106.3/lib/vscode/extensions/microsoft-authentication
174+
type: npm
50175
pipelineRef:
51176
name: multiarch-combined-pipeline
52177
taskRunTemplate:

.tekton/odh-workbench-codeserver-datascience-cpu-py312-ubi9-push.yaml

Lines changed: 131 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,13 @@ metadata:
88
pipelinesascode.tekton.dev/cancel-in-progress: "false"
99
pipelinesascode.tekton.dev/max-keep-runs: "3"
1010
build.appstudio.openshift.io/build-nudge-files: "manifests/base/params-latest.env"
11-
pipelinesascode.tekton.dev/on-cel-expression: event == "push" && target_branch == "main" && !("manifests/base/params-latest.env".pathChanged()) && ( ".tekton/odh-workbench-codeserver-datascience-cpu-py312-ubi9-push.yaml".pathChanged() || "codeserver/ubi9-python-3.12/**".pathChanged() || "codeserver/ubi9-python-3.12/build-args/cpu.conf".pathChanged() )
11+
pipelinesascode.tekton.dev/on-cel-expression: |
12+
event == "push" && target_branch == "main" &&
13+
!("manifests/base/params-latest.env".pathChanged()) &&
14+
(
15+
".tekton/odh-workbench-codeserver-datascience-cpu-py312-ubi9-push.yaml".pathChanged() ||
16+
"codeserver/ubi9-python-3.12/**".pathChanged()
17+
)
1218
creationTimestamp:
1319
labels:
1420
appstudio.openshift.io/application: opendatahub-release
@@ -17,9 +23,13 @@ metadata:
1723
name: odh-workbench-codeserver-datascience-cpu-py312-ubi9-on-push
1824
namespace: open-data-hub-tenant
1925
spec:
26+
timeouts:
27+
pipeline: 6h
2028
params:
2129
- name: event-type
2230
value: '{{event_type}}'
31+
- name: enable-cache-proxy
32+
value: "true"
2333
- name: git-url
2434
value: '{{source_url}}'
2535
- name: revision
@@ -30,6 +40,8 @@ spec:
3040
value: codeserver/ubi9-python-3.12/Dockerfile.cpu
3141
- name: build-args-file
3242
value: codeserver/ubi9-python-3.12/build-args/cpu.conf
43+
- name: hermetic
44+
value: "true"
3345
- name: path-context
3446
value: .
3547
- name: additional-tags
@@ -40,6 +52,124 @@ spec:
4052
value:
4153
- linux-d160-m4xlarge/amd64
4254
- linux-d160-m4xlarge/arm64
55+
- linux/ppc64le
56+
- name: prefetch-input
57+
value:
58+
- path: codeserver/ubi9-python-3.12/prefetch-input/odh
59+
type: rpm
60+
- path: codeserver/ubi9-python-3.12/prefetch-input/odh
61+
type: generic
62+
- path: codeserver/ubi9-python-3.12
63+
type: pip
64+
binary:
65+
arch: "x86_64,aarch64,ppc64le"
66+
requirements_files: ["requirements.cpu.txt"]
67+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/.vscode/extensions/vscode-selfhost-import-aid
68+
type: npm
69+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/.vscode/extensions/vscode-selfhost-test-provider
70+
type: npm
71+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/build
72+
type: npm
73+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/build/npm/gyp
74+
type: npm
75+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions
76+
type: npm
77+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/configuration-editing
78+
type: npm
79+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/css-language-features
80+
type: npm
81+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/css-language-features/server
82+
type: npm
83+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/debug-auto-launch
84+
type: npm
85+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/debug-server-ready
86+
type: npm
87+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/emmet
88+
type: npm
89+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/extension-editing
90+
type: npm
91+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/git
92+
type: npm
93+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/git-base
94+
type: npm
95+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/github
96+
type: npm
97+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/github-authentication
98+
type: npm
99+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/grunt
100+
type: npm
101+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/gulp
102+
type: npm
103+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/html-language-features
104+
type: npm
105+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/html-language-features/server
106+
type: npm
107+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/ipynb
108+
type: npm
109+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/jake
110+
type: npm
111+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/json-language-features
112+
type: npm
113+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/json-language-features/server
114+
type: npm
115+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/markdown-language-features
116+
type: npm
117+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/markdown-math
118+
type: npm
119+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/media-preview
120+
type: npm
121+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/merge-conflict
122+
type: npm
123+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/mermaid-chat-features
124+
type: npm
125+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/notebook-renderers
126+
type: npm
127+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/npm
128+
type: npm
129+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/php-language-features
130+
type: npm
131+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/references-view
132+
type: npm
133+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/simple-browser
134+
type: npm
135+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/tunnel-forwarding
136+
type: npm
137+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/typescript-language-features
138+
type: npm
139+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/vscode-api-tests
140+
type: npm
141+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/vscode-colorize-perf-tests
142+
type: npm
143+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/vscode-colorize-tests
144+
type: npm
145+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/extensions/vscode-test-resolver
146+
type: npm
147+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/remote
148+
type: npm
149+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/remote/web
150+
type: npm
151+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/test/automation
152+
type: npm
153+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/test/integration/browser
154+
type: npm
155+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/test/mcp
156+
type: npm
157+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/test/monaco
158+
type: npm
159+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/lib/vscode/test/smoke
160+
type: npm
161+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server/test/e2e/extensions/test-extension
162+
type: npm
163+
- path: codeserver/ubi9-python-3.12/prefetch-input/code-server
164+
type: npm
165+
# patches/
166+
- path: codeserver/ubi9-python-3.12/prefetch-input/patches/code-server-v4.106.3/lib/vscode
167+
type: npm
168+
- path: codeserver/ubi9-python-3.12/prefetch-input/patches/code-server-v4.106.3/test
169+
type: npm
170+
- path: codeserver/ubi9-python-3.12/prefetch-input/patches/code-server-v4.106.3/lib/vscode/extensions/microsoft-authentication
171+
type: npm
172+
43173
pipelineRef:
44174
name: multiarch-combined-pipeline
45175
taskRunTemplate:

Makefile

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ INDEX_MODE ?= auto
3030
# KONFLUX: whether to build images from Dockerfile.konflux.* (default: no)
3131
KONFLUX ?= no
3232

33+
3334
# OS dependant: Generate date, select appropriate cmd to locate container engine
3435
ifdef OS
3536
ifeq ($(OS), Windows_NT)
@@ -84,10 +85,14 @@ define build_image
8485
awk -F= '!/^#/ && NF {gsub(/^[ \t]+|[ \t]+$$/, "", $$1); gsub(/^[ \t]+|[ \t]+$$/, "", $$2); printf "--build-arg %s=%s ", $$1, $$2}' $(CONF_FILE); \
8586
fi))
8687

88+
# Hermetic local build: when cachi2/output/ exists AND this target has a
89+
# prefetch-input/ directory, mount pre-downloaded deps and set LOCAL_BUILD=true.
90+
$(eval CACHI2_VOLUME := $(if $(and $(wildcard cachi2/output),$(wildcard $(BUILD_DIR)prefetch-input)),--volume $(ROOT_DIR)cachi2/output:/cachi2/output:Z --build-arg LOCAL_BUILD=true,))
91+
8792
$(info # Building $(IMAGE_NAME) using $(DOCKERFILE_NAME) with $(CONF_FILE) and $(BUILD_ARGS)...)
8893

8994
$(ROOT_DIR)/scripts/sandbox.py --dockerfile '$(2)' --platform '$(BUILD_ARCH)' -- \
90-
$(CONTAINER_ENGINE) build $(CONTAINER_BUILD_CACHE_ARGS) --platform=$(BUILD_ARCH) --label release=$(RELEASE) --tag $(IMAGE_NAME) --file '$(2)' $(BUILD_ARGS) {}\;
95+
$(CONTAINER_ENGINE) build $(CONTAINER_BUILD_CACHE_ARGS) $(CACHI2_VOLUME) --platform=$(BUILD_ARCH) --label release=$(RELEASE) --tag $(IMAGE_NAME) --file '$(2)' $(BUILD_ARGS) {}\;
9196
endef
9297

9398
# Push function for the notebook image:

0 commit comments

Comments
 (0)