Skip to content

Commit c1ff7d8

Browse files
authored
Merge branch 'main' into python3.13
2 parents 7e45dac + de998c4 commit c1ff7d8

File tree

9 files changed

+39
-11
lines changed

9 files changed

+39
-11
lines changed

.github/workflows/docker-merge-tags.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ jobs:
5959

6060
- name: Login to Registry 🔐
6161
if: env.PUSH_TO_REGISTRY == 'true'
62-
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
62+
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
6363
with:
6464
registry: quay.io
6565
username: ${{ secrets.REGISTRY_USERNAME }}

.github/workflows/docker-tag-push.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ jobs:
4949

5050
- name: Login to Registry 🔐
5151
if: env.PUSH_TO_REGISTRY == 'true'
52-
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
52+
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
5353
with:
5454
registry: quay.io
5555
username: ${{ secrets.REGISTRY_USERNAME }}

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@ Affected: all images.
99

1010
- **Breaking:** `docker-stacks-foundation`: switch to Python 3.13 ([#2163](https://github.com/jupyter/docker-stacks/pull/2163)).
1111

12+
## 2025-03-23
13+
14+
Affected: `tensorflow-notebook`.
15+
16+
- **Non-breaking:** `tensorflow-notebook`: Use mamba to install jupyter-server-proxy ([#2262](https://github.com/jupyter/docker-stacks/pull/2262)).
17+
1218
## 2025-03-22
1319

1420
Affected: all images.

docs/using/selecting.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ It contains:
113113
[rodbc](https://cran.r-project.org/web/packages/RODBC/index.html),
114114
[rsqlite](https://cran.r-project.org/web/packages/RSQLite/index.html),
115115
[shiny](https://shiny.posit.co),
116-
[tidymodels](https://www.tidymodels.org/),
116+
[tidymodels](https://tidymodels.org/),
117117
[unixodbc](https://www.unixodbc.org)
118118
packages from [conda-forge](https://conda-forge.org/feedstock-outputs/index.html)
119119

images/tensorflow-notebook/Dockerfile

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,15 @@ LABEL maintainer="Jupyter Project <[email protected]>"
1111
# Fix: https://github.com/koalaman/shellcheck/wiki/SC3014
1212
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
1313

14+
RUN mamba install --yes \
15+
'jupyter-server-proxy' && \
16+
mamba clean --all -f -y && \
17+
fix-permissions "${CONDA_DIR}" && \
18+
fix-permissions "/home/${NB_USER}"
19+
1420
# Install tensorflow with pip, on x86_64 tensorflow-cpu
1521
RUN [[ $(uname -m) = x86_64 ]] && TF_POSTFIX="-cpu" || TF_POSTFIX="" && \
1622
pip install --no-cache-dir \
17-
"jupyter-server-proxy" \
1823
"tensorflow${TF_POSTFIX}" && \
1924
fix-permissions "${CONDA_DIR}" && \
2025
fix-permissions "/home/${NB_USER}"

images/tensorflow-notebook/cuda/Dockerfile

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,14 @@ LABEL maintainer="Jupyter Project <[email protected]>"
1111
# Fix: https://github.com/koalaman/shellcheck/wiki/SC3014
1212
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
1313

14+
RUN mamba install --yes \
15+
'jupyter-server-proxy' && \
16+
mamba clean --all -f -y && \
17+
fix-permissions "${CONDA_DIR}" && \
18+
fix-permissions "/home/${NB_USER}"
19+
1420
# Install TensorFlow, CUDA and cuDNN with pip
1521
RUN pip install --no-cache-dir \
16-
"jupyter-server-proxy" \
1722
"tensorflow[and-cuda]<=2.17.1" && \
1823
fix-permissions "${CONDA_DIR}" && \
1924
fix-permissions "/home/${NB_USER}"

tagging/utils/docker_runner.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@ def exec_cmd(container: Container, cmd: str) -> str:
4747
exec_result = container.exec_run(cmd)
4848
output = exec_result.output.decode().rstrip()
4949
assert isinstance(output, str)
50-
LOGGER.debug(f"Command output: {output}")
51-
assert exec_result.exit_code == 0, f"Command: `{cmd}` failed"
50+
if exec_result.exit_code != 0:
51+
LOGGER.error(f"Command output:\n{output}")
52+
raise AssertionError(f"Command: `{cmd}` failed")
53+
else:
54+
LOGGER.debug(f"Command output:\n{output}")
5255
return output

tests/by_image/docker-stacks-foundation/test_packages.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
"grpcio-status",
5555
"grpcio",
5656
"hdf5",
57+
"jupyter-server-proxy",
5758
"jupyterhub-singleuser",
5859
"jupyterlab-git",
5960
"mamba",

tests/utils/tracked_container.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,11 @@ def exec_cmd(self, cmd: str, **kwargs: Any) -> str:
7575
exec_result = container.exec_run(cmd, **final_kwargs)
7676
output = exec_result.output.decode().rstrip()
7777
assert isinstance(output, str)
78-
LOGGER.debug(f"Command output: {output}")
79-
assert exec_result.exit_code == 0, f"Command: `{cmd}` failed"
78+
if exec_result.exit_code != 0:
79+
LOGGER.error(f"Command output:\n{output}")
80+
raise AssertionError(f"Command: `{cmd}` failed")
81+
else:
82+
LOGGER.debug(f"Command output:\n{output}")
8083
return output
8184

8285
def run_and_wait(
@@ -91,10 +94,15 @@ def run_and_wait(
9194
assert self.container is not None
9295
rv = self.container.wait(timeout=timeout)
9396
logs = self.get_logs()
94-
LOGGER.debug(logs)
97+
failed = rv["StatusCode"] != 0
98+
99+
if failed:
100+
LOGGER.error(f"Command output:\n{logs}")
101+
else:
102+
LOGGER.debug(f"Command output:\n{logs}")
103+
assert no_failure != failed
95104
assert no_warnings == (not self.get_warnings(logs))
96105
assert no_errors == (not self.get_errors(logs))
97-
assert no_failure == (rv["StatusCode"] == 0)
98106
self.remove()
99107
return logs
100108

0 commit comments

Comments
 (0)