9
9
# directly in `cmds: []`, the variables have to be passed in explicitly.
10
10
11
11
tasks :
12
- core:build :
13
- desc : Build the Python 3.x image
14
- cmds :
15
- - >-
16
- docker build python/{{.IDENTIFIER}}/{{.NBL_PYTHON_VERSION}} \
17
- --build-arg "NBL_PYTHON_VERSION={{.NBL_PYTHON_VERSION}}" \
18
- --build-arg "BASE_IMAGE={{.BASE_IMAGE}}" \
19
- --target "{{.BUILD_TARGET}}" \
20
- --tag "local/kernel-python-{{.NBL_PYTHON_VERSION}}-{{.IDENTIFIER}}{{.TAG_SUFFIX}}:dev"
21
- requires :
22
- vars : [IDENTIFIER, NBL_PYTHON_VERSION]
23
- vars :
24
- BUILD_TARGET : ' {{default "base" .BUILD_TARGET}}'
25
- TAG_SUFFIX : ' {{default "" .TAG_SUFFIX}}'
26
-
27
12
base:copy-files :
28
13
desc : Copy files from the Python directory to the build directories
29
14
cmds :
74
59
desc : Build the Python 3.x base image after copying required files
75
60
cmds :
76
61
- task python:base:copy-files IDENTIFIER=base NBL_PYTHON_VERSION={{.NBL_PYTHON_VERSION}}
77
- - task python:core: build IDENTIFIER=base NBL_PYTHON_VERSION ={{.NBL_PYTHON_VERSION}}
62
+ - task build LANGUAGE=python NBL_LANGUAGE_VERSION ={{.NBL_PYTHON_VERSION}} IDENTIFIER=base
78
63
79
64
# Base GPU image
80
65
base-gpu:lock-dependencies :
@@ -86,14 +71,16 @@ tasks:
86
71
base-gpu:build :
87
72
desc : Build the Python 3.x image with GPU support after copying required files
88
73
cmds :
89
- - task python:base:copy-files IDENTIFIER=base-gpu NBL_PYTHON_VERSION={{.NBL_PYTHON_VERSION}}
74
+ # ensure the base image is built first
75
+ - task python:base:build IDENTIFIER=datascience NBL_PYTHON_VERSION={{.NBL_PYTHON_VERSION}}
90
76
# copy base-gpu specific files
77
+ - task python:base:copy-files IDENTIFIER=base-gpu NBL_PYTHON_VERSION={{.NBL_PYTHON_VERSION}}
91
78
- cp python/base-gpu/environment.txt python/base-gpu/{{.NBL_PYTHON_VERSION}}/environment.txt
92
79
- cp python/base-gpu/gpu.Aptfile python/base-gpu/{{.NBL_PYTHON_VERSION}}/gpu.Aptfile
93
80
- cp python/base-gpu/run.sh python/base-gpu/{{.NBL_PYTHON_VERSION}}/run.sh
94
81
- cp python/base-gpu/initial-condarc python/base-gpu/{{.NBL_PYTHON_VERSION}}/initial-condarc
95
- # build off of the base image
96
- - task python:core: build IDENTIFIER=base-gpu NBL_PYTHON_VERSION ={{.NBL_PYTHON_VERSION}} BASE_IMAGE= local/kernel-python-{{.NBL_PYTHON_VERSION}}-base:dev
82
+ # build the base-gpu image off of the base image
83
+ - task build LANGUAGE=python NBL_LANGUAGE_VERSION ={{.NBL_PYTHON_VERSION}} IDENTIFIER=base-gpu BUILD_TARGET=main -- --build-context base=docker-image:// local/kernel-python-{{.NBL_PYTHON_VERSION}}-base:dev
97
84
98
85
# Datascience image
99
86
datascience:lock-dependencies :
@@ -106,8 +93,8 @@ tasks:
106
93
cmds :
107
94
# ensure the base image is built first
108
95
- task python:base:build IDENTIFIER=datascience NBL_PYTHON_VERSION={{.NBL_PYTHON_VERSION}}
109
- # build the datascience image
110
- - task python:core: build IDENTIFIER=datascience NBL_PYTHON_VERSION ={{.NBL_PYTHON_VERSION}} BASE_IMAGE= local/kernel-python-{{.NBL_PYTHON_VERSION}}-base:dev
96
+ # build the datascience image off of the base image
97
+ - task build LANGUAGE=python NBL_LANGUAGE_VERSION ={{.NBL_PYTHON_VERSION}} IDENTIFIER=datascience BUILD_TARGET=main -- --build-context base=docker-image:// local/kernel-python-{{.NBL_PYTHON_VERSION}}-base:dev
111
98
112
99
# Datascience GPU image
113
100
datascience-gpu:lock-dependencies :
@@ -120,8 +107,8 @@ tasks:
120
107
cmds :
121
108
# ensure the base-gpu image is built first
122
109
- task python:base-gpu:build IDENTIFIER=datascience NBL_PYTHON_VERSION={{.NBL_PYTHON_VERSION}}
123
- # build the datascience-gpu image
124
- - task python:core: build IDENTIFIER=datascience NBL_PYTHON_VERSION ={{.NBL_PYTHON_VERSION}} BASE_IMAGE= local/kernel-python-{{.NBL_PYTHON_VERSION}}-base-gpu:dev BUILD_TARGET=gpu TAG_SUFFIX=-gpu
110
+ # build the datascience-gpu image off of the base-gpu image
111
+ - task build LANGUAGE=python NBL_LANGUAGE_VERSION ={{.NBL_PYTHON_VERSION}} IDENTIFIER=datascience BUILD_TARGET=gpu TAG_SUFFIX=-gpu -- --build-context base=docker-image:// local/kernel-python-{{.NBL_PYTHON_VERSION}}-base-gpu:dev
125
112
126
113
# Noteable image
127
114
noteable:copy-files :
@@ -144,9 +131,10 @@ tasks:
144
131
cmds :
145
132
# ensure the datascience image is built first
146
133
- task python:datascience:build IDENTIFIER=noteable-gpu NBL_PYTHON_VERSION={{.NBL_PYTHON_VERSION}}
147
- # build the noteable image after copying over noteable-specific files
134
+ # copy over noteable-specific files
148
135
- task python:noteable:copy-files IDENTIFIER=noteable NBL_PYTHON_VERSION={{.NBL_PYTHON_VERSION}}
149
- - task python:core:build IDENTIFIER=noteable NBL_PYTHON_VERSION={{.NBL_PYTHON_VERSION}} BASE_IMAGE=local/kernel-python-{{.NBL_PYTHON_VERSION}}-datascience:dev
136
+ # build the noteable image off of the datascience image
137
+ - task build LANGUAGE=python NBL_LANGUAGE_VERSION={{.NBL_PYTHON_VERSION}} IDENTIFIER=noteable BUILD_TARGET=main -- --build-context base=docker-image://local/kernel-python-{{.NBL_PYTHON_VERSION}}-datascience:dev
150
138
151
139
# Noteable GPU image
152
140
noteable-gpu:lock-dependencies :
@@ -159,9 +147,10 @@ tasks:
159
147
cmds :
160
148
# ensure the datascience-gpu image is built first
161
149
- task python:datascience-gpu:build IDENTIFIER=noteable-gpu NBL_PYTHON_VERSION={{.NBL_PYTHON_VERSION}}
162
- # build the noteable-gpu image after copying over noteable-specific files
150
+ # copy over noteable-specific files
163
151
- task python:noteable:copy-files IDENTIFIER=noteable NBL_PYTHON_VERSION={{.NBL_PYTHON_VERSION}} FILE_PREFIX="gpu."
164
- - task python:core:build IDENTIFIER=noteable NBL_PYTHON_VERSION={{.NBL_PYTHON_VERSION}} BASE_IMAGE=local/kernel-python-{{.NBL_PYTHON_VERSION}}-datascience-gpu:dev BUILD_TARGET=gpu TAG_SUFFIX=-gpu
152
+ # build the noteable-gpu image off of the datascience-gpu image
153
+ - task build LANGUAGE=python NBL_LANGUAGE_VERSION={{.NBL_PYTHON_VERSION}} IDENTIFIER=noteable BUILD_TARGET=gpu TAG_SUFFIX=-gpu -- --build-context base=docker-image://local/kernel-python-{{.NBL_PYTHON_VERSION}}-datascience-gpu:dev
165
154
166
155
# convenience functions for building multiple images in parallel
167
156
base:lock-all-dependencies :
0 commit comments