Skip to content

Commit 2d229fc

Browse files
yzheng6GitHub Enterprise
authored andcommitted
Add docker tag option (#831)
Add option to specify docker image tag manually to avoid having to update the entire docker image when only the test code is changing and to directly specify a tag during release.
1 parent 12b80a5 commit 2d229fc

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

tools/imagesets/imgset.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -78,14 +78,17 @@ def imgname(self, repomod="", tagmod=""):
7878
Modifier to nominal Docker tag name
7979
8080
"""
81-
if tagmod != "":
82-
tagmod = "-" + tagmod
83-
try:
84-
gitmod = '-' + subprocess.check_output(["git", "rev-parse", "--short", "HEAD"]).decode('ascii').strip()
85-
except:
86-
gitmod = ""
87-
return f"nisar-adt/isce3{repomod}:{self.name}{tagmod}" \
88-
+ f"-{getpass.getuser()}{gitmod}"
81+
if self.imgtag:
82+
return f"nisar-adt/isce3{repomod}:{self.imgtag}"
83+
else:
84+
if tagmod != "":
85+
tagmod = "-" + tagmod
86+
try:
87+
gitmod = '-' + subprocess.check_output(["git", "rev-parse", "--short", "HEAD"]).decode('ascii').strip()
88+
except:
89+
gitmod = ""
90+
return f"nisar-adt/isce3{repomod}:{self.name}{tagmod}" \
91+
+ f"-{getpass.getuser()}{gitmod}"
8992

9093
def docker_run(self, img, cmd):
9194
runcmd = f"{docker} run {self.run_args} --rm -i {self.tty} " \
@@ -98,7 +101,7 @@ def docker_run_dev(self, cmd):
98101
"""
99102
self.docker_run("dev", cmd)
100103

101-
def __init__(self, name, *, projblddir, printlog=False):
104+
def __init__(self, name, *, projblddir, printlog=False, imgtag=None):
102105
"""
103106
A set of docker images for building and testing isce3/nisar distributables.
104107
@@ -113,6 +116,7 @@ def __init__(self, name, *, projblddir, printlog=False):
113116
"""
114117
self.name = name
115118
self.projblddir = projblddir
119+
self.imgtag = imgtag
116120
self.datadir = projblddir + "/workflow_testdata_tmp/data"
117121
self.testdir = projblddir + "/workflow_testdata_tmp/test"
118122
self.build_args = f'''
@@ -143,7 +147,7 @@ def __init__(self, name, *, projblddir, printlog=False):
143147
self.run_args += " --runtime=nvidia"
144148

145149
logging.basicConfig(format='', level=logging.INFO)
146-
self.printlog = printlog
150+
self.printlog = printlog
147151

148152
def cmake_args(self):
149153
return [f"-D{key}={value}" for key, value in self.cmake_defs.items()] \

tools/run.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,5 +64,6 @@ def run(*, steps, imgset, **kwargs):
6464
parser.add_argument("-i", "--imgset", default="centos7conda")
6565
parser.add_argument("-B", "--projblddir", default=f"{projsrcdir}/build-docker")
6666
parser.add_argument("-p", "--printlog", action='store_true')
67+
parser.add_argument("-t", "--imgtag", default=None)
6768
parser.add_argument("steps", nargs="+")
6869
run(**vars(parser.parse_args()))

0 commit comments

Comments
 (0)