Skip to content

Commit 96509fa

Browse files
authored
triage: --container-url-template (#1493)
This allows the container-level search to use a different series of dated container images.
1 parent c0a470b commit 96509fa

File tree

3 files changed

+22
-5
lines changed

3 files changed

+22
-5
lines changed

.github/triage/jax_toolbox_triage/args.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,14 @@ def parse_args(args=None) -> argparse.Namespace:
5757
Container to use. Example: jax, maxtext. Used to construct the URLs of
5858
nightly containers, like ghcr.io/nvidia/jax:CONTAINER-YYYY-MM-DD.""",
5959
)
60+
container_search_args.add_argument(
61+
"--container-url-template",
62+
type=str,
63+
help="""
64+
Container URL pattern as a Python format string into which `container` and
65+
`date` will be substituted, e.g. ghcr.io/nvidia/jax:{container}-{date} for
66+
the JAX-Toolbox public nightlies.""",
67+
)
6068
parser.add_argument(
6169
"--output-prefix",
6270
default=datetime.datetime.now().strftime("triage-%Y-%m-%d-%H-%M-%S"),

.github/triage/jax_toolbox_triage/main.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,11 @@ def test_output_directory(
9999
out_dir.mkdir(mode=0o755)
100100
return out_dir.resolve()
101101

102-
container_url = functools.partial(container_url_base, container=args.container)
102+
container_url = functools.partial(
103+
container_url_base,
104+
container=args.container,
105+
template=args.container_url_template,
106+
)
103107

104108
def Container(
105109
url, test_output_host_directory: typing.Optional[pathlib.Path] = None

.github/triage/jax_toolbox_triage/utils.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,23 @@
77
import typing
88

99

10-
def container_url(date: datetime.date, *, container: str) -> str:
10+
def container_url(
11+
date: datetime.date, *, container: str, template: typing.Optional[str] = None
12+
) -> str:
1113
"""
1214
Construct the URL for --container on the given date.
1315
1416
Arguments:
1517
date: YYYY-MM-DD format.
1618
"""
19+
date_str = date.isoformat()
20+
if template is not None:
21+
return template.format(container=container, date=date_str)
1722
# Around 2024-02-09 the naming scheme changed.
18-
if date > datetime.date(year=2024, month=2, day=9):
19-
return f"ghcr.io/nvidia/jax:{container}-{date.isoformat()}"
23+
elif date > datetime.date(year=2024, month=2, day=9):
24+
return f"ghcr.io/nvidia/jax:{container}-{date_str}"
2025
else:
21-
return f"ghcr.io/nvidia/{container}:nightly-{date.isoformat()}"
26+
return f"ghcr.io/nvidia/{container}:nightly-{date_str}"
2227

2328

2429
def get_logger(output_prefix: pathlib.Path) -> logging.Logger:

0 commit comments

Comments
 (0)