Merge branch 'master' into asalikhov/ubuntu_jammy

This commit is contained in:
Ayaz Salikhov
2022-05-13 18:30:10 +03:00
13 changed files with 81 additions and 33 deletions

14
.github/pull_request_template.md vendored Normal file
View File

@@ -0,0 +1,14 @@
## Describe your changes
## Issue ticket if applicable
<!-- Example - Fix: https://github.com/jupyter/docker-stacks/issues/0 -->
## Checklist (especially for first-time contributors)
- [ ] I have performed a self-review of my code
- [ ] If it is a core feature, I have added thorough tests
- [ ] I will try not to use force-push to make the review process easier for reviewers
- [ ] I have updated the documentation for significant changes
<!-- markdownlint-disable-file MD041 -->

View File

@@ -67,10 +67,10 @@ jobs:
# https://github.com/docker/build-push-action/tree/master#usage # https://github.com/docker/build-push-action/tree/master#usage
# https://github.com/docker/build-push-action/blob/master/docs/advanced/multi-platform.md # https://github.com/docker/build-push-action/blob/master/docs/advanced/multi-platform.md
- name: Set up QEMU (for docker buildx) 🐳 - name: Set up QEMU (for docker buildx) 🐳
uses: docker/setup-qemu-action@27d0a4f181a40b142cce983c5393082c365d1480 # dependabot updates to latest release uses: docker/setup-qemu-action@8b122486cedac8393e77aa9734c3528886e4a1a8 # dependabot updates to latest release
- name: Set up Docker Buildx (for multi-arch builds) 🐳 - name: Set up Docker Buildx (for multi-arch builds) 🐳
uses: docker/setup-buildx-action@94ab11c41e45d028884a99163086648e898eed25 # dependabot updates to latest release uses: docker/setup-buildx-action@dc7b9719a96d48369863986a06765841d7ea23f6 # dependabot updates to latest release
- name: Checkout Repo ⚡️ - name: Checkout Repo ⚡️
uses: actions/checkout@v3 uses: actions/checkout@v3
@@ -97,7 +97,7 @@ jobs:
- name: Checkout Wiki Repo 📃 - name: Checkout Wiki Repo 📃
uses: actions/checkout@v3 uses: actions/checkout@v3
with: with:
repository: ${{github.repository}}.wiki repository: ${{ github.repository }}.wiki
path: wiki/ path: wiki/
- name: Create tags and manifest 🏷 - name: Create tags and manifest 🏷
@@ -107,15 +107,15 @@ jobs:
if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main' || github.event_name == 'schedule' if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main' || github.event_name == 'schedule'
uses: stefanzweifel/git-auto-commit-action@49620cd3ed21ee620a48530e81dba0d139c9cb80 # dependabot updates to latest release uses: stefanzweifel/git-auto-commit-action@49620cd3ed21ee620a48530e81dba0d139c9cb80 # dependabot updates to latest release
with: with:
commit_message: "Automated wiki publish for ${{github.sha}}" commit_message: "Automated wiki publish for ${{ github.sha }}"
repository: wiki/ repository: wiki/
- name: Login to Docker Hub 🔐 - name: Login to Docker Hub 🔐
if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main' || github.event_name == 'schedule' if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main' || github.event_name == 'schedule'
uses: docker/login-action@dd4fa0671be5250ee6f50aedf4cb05514abda2c7 # dependabot updates to latest release uses: docker/login-action@49ed152c8eca782a232dede0303416e8f356c37b # dependabot updates to latest release
with: with:
username: ${{secrets.DOCKERHUB_USERNAME}} username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{secrets.DOCKERHUB_TOKEN}} password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Push Images to Docker Hub 📤 - name: Push Images to Docker Hub 📤
if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main' || github.event_name == 'schedule' if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main' || github.event_name == 'schedule'

View File

@@ -34,8 +34,8 @@ jobs:
- name: push README to Dockerhub for base-notebook 🐳 - name: push README to Dockerhub for base-notebook 🐳
uses: christian-korneck/update-container-description-action@d36005551adeaba9698d8d67a296bd16fa91f8e8 # dependabot updates to latest release uses: christian-korneck/update-container-description-action@d36005551adeaba9698d8d67a296bd16fa91f8e8 # dependabot updates to latest release
env: env:
DOCKER_USER: ${{secrets.DOCKERHUB_USERNAME}} DOCKER_USER: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKER_PASS: ${{secrets.DOCKERHUB_TOKEN}} DOCKER_PASS: ${{ secrets.DOCKERHUB_TOKEN }}
with: with:
destination_container_repo: jupyter/base-notebook destination_container_repo: jupyter/base-notebook
provider: dockerhub provider: dockerhub

View File

@@ -14,7 +14,7 @@
repos: repos:
# Autoupdate: Python code # Autoupdate: Python code
- repo: https://github.com/asottile/pyupgrade - repo: https://github.com/asottile/pyupgrade
rev: v2.32.0 rev: v2.32.1
hooks: hooks:
- id: pyupgrade - id: pyupgrade
args: [--py39-plus] args: [--py39-plus]
@@ -35,7 +35,7 @@ repos:
# Check python code static typing # Check python code static typing
- repo: https://github.com/pre-commit/mirrors-mypy - repo: https://github.com/pre-commit/mirrors-mypy
rev: v0.942 rev: v0.950
hooks: hooks:
- id: mypy - id: mypy
args: [--config, ./mypy.ini] args: [--config, ./mypy.ini]

View File

@@ -1,5 +1,3 @@
<!-- markdownlint-disable MD041 -->
Thanks for contributing! Please see the Thanks for contributing! Please see the
**Contributor Guide** section in [the documentation](https://jupyter-docker-stacks.readthedocs.io/en/latest/) for **Contributor Guide** section in [the documentation](https://jupyter-docker-stacks.readthedocs.io/en/latest/) for
information about how to contribute information about how to contribute
@@ -8,3 +6,5 @@ information about how to contribute
[tests](https://jupyter-docker-stacks.readthedocs.io/en/latest/contributing/tests.html), [tests](https://jupyter-docker-stacks.readthedocs.io/en/latest/contributing/tests.html),
[features](https://jupyter-docker-stacks.readthedocs.io/en/latest/contributing/features.html), [features](https://jupyter-docker-stacks.readthedocs.io/en/latest/contributing/features.html),
[community-maintained stacks](https://jupyter-docker-stacks.readthedocs.io/en/latest/contributing/stacks.html). [community-maintained stacks](https://jupyter-docker-stacks.readthedocs.io/en/latest/contributing/stacks.html).
<!-- markdownlint-disable-file MD041 -->

View File

@@ -27,7 +27,13 @@ RUN apt-get update --yes && \
USER ${NB_UID} USER ${NB_UID}
# R packages including IRKernel which gets installed globally. # R packages including IRKernel which gets installed globally.
RUN mamba install --quiet --yes \ RUN arch=$(uname -m) && \
if [ "${arch}" == "aarch64" ]; then \
# Prevent libmamba from sporadically hanging on arm64 under QEMU
# <https://github.com/mamba-org/mamba/issues/1611>
export G_SLICE=always-malloc; \
fi && \
mamba install --quiet --yes \
'r-base' \ 'r-base' \
'r-ggplot2' \ 'r-ggplot2' \
'r-irkernel' \ 'r-irkernel' \

View File

@@ -119,7 +119,8 @@ RUN set -x && \
if [ "${arch}" == "aarch64" ]; then \ if [ "${arch}" == "aarch64" ]; then \
# Prevent libmamba from sporadically hanging on arm64 under QEMU # Prevent libmamba from sporadically hanging on arm64 under QEMU
# <https://github.com/mamba-org/mamba/issues/1611> # <https://github.com/mamba-org/mamba/issues/1611>
./micromamba config set extract_threads 1; \ # We don't use `micromamba config set` since it instead modifies ~/.condarc.
echo "extract_threads: 1" >> "${CONDA_DIR}/.condarc"; \
fi && \ fi && \
# Install the packages # Install the packages
./micromamba install \ ./micromamba install \
@@ -165,7 +166,8 @@ RUN sed -re "s/c.ServerApp/c.NotebookApp/g" \
# This healtcheck works well for `lab`, `notebook`, `nbclassic`, `server` and `retro` jupyter commands # This healtcheck works well for `lab`, `notebook`, `nbclassic`, `server` and `retro` jupyter commands
# https://github.com/jupyter/docker-stacks/issues/915#issuecomment-1068528799 # https://github.com/jupyter/docker-stacks/issues/915#issuecomment-1068528799
HEALTHCHECK --interval=15s --timeout=3s --start-period=5s --retries=3 \ HEALTHCHECK --interval=15s --timeout=3s --start-period=5s --retries=3 \
CMD wget -O- --no-verbose --tries=1 http://localhost:8888${JUPYTERHUB_SERVICE_PREFIX:-/}api || exit 1 CMD wget -O- --no-verbose --tries=1 --no-check-certificate \
http${GEN_CERT:+s}://localhost:8888${JUPYTERHUB_SERVICE_PREFIX:-/}api || exit 1
# Switch back to jovyan to avoid accidental container runs as root # Switch back to jovyan to avoid accidental container runs as root
USER ${NB_UID} USER ${NB_UID}

View File

@@ -61,7 +61,13 @@ USER ${NB_UID}
# R packages including IRKernel which gets installed globally. # R packages including IRKernel which gets installed globally.
# r-e1071: dependency of the caret R package # r-e1071: dependency of the caret R package
RUN mamba install --quiet --yes \ RUN arch=$(uname -m) && \
if [ "${arch}" == "aarch64" ]; then \
# Prevent libmamba from sporadically hanging on arm64 under QEMU
# <https://github.com/mamba-org/mamba/issues/1611>
export G_SLICE=always-malloc; \
fi && \
mamba install --quiet --yes \
'r-base' \ 'r-base' \
'r-caret' \ 'r-caret' \
'r-crayon' \ 'r-crayon' \
@@ -75,23 +81,23 @@ RUN mamba install --quiet --yes \
'r-nycflights13' \ 'r-nycflights13' \
'r-randomforest' \ 'r-randomforest' \
'r-rcurl' \ 'r-rcurl' \
'r-rmarkdown' \
'r-rodbc' \ 'r-rodbc' \
'r-rsqlite' \ 'r-rsqlite' \
'r-shiny' \ 'r-shiny' \
'r-tidyverse' \
'rpy2' \ 'rpy2' \
'unixodbc' && \ 'unixodbc' && \
mamba clean --all -f -y && \ mamba clean --all -f -y && \
fix-permissions "${CONDA_DIR}" && \ fix-permissions "${CONDA_DIR}" && \
fix-permissions "/home/${NB_USER}" fix-permissions "/home/${NB_USER}"
# These packages are not easy to install under arm # `r-tidymodels` is not easy to install under arm
RUN set -x && \ RUN set -x && \
arch=$(uname -m) && \ arch=$(uname -m) && \
if [ "${arch}" == "x86_64" ]; then \ if [ "${arch}" == "x86_64" ]; then \
mamba install --quiet --yes \ mamba install --quiet --yes \
'r-rmarkdown' \ 'r-tidymodels' && \
'r-tidymodels' \
'r-tidyverse' && \
mamba clean --all -f -y && \ mamba clean --all -f -y && \
fix-permissions "${CONDA_DIR}" && \ fix-permissions "${CONDA_DIR}" && \
fix-permissions "/home/${NB_USER}"; \ fix-permissions "/home/${NB_USER}"; \

View File

@@ -61,7 +61,13 @@ RUN fix-permissions "/etc/ipython/"
USER ${NB_UID} USER ${NB_UID}
# Install pyarrow # Install pyarrow
RUN mamba install --quiet --yes \ RUN arch=$(uname -m) && \
if [ "${arch}" == "aarch64" ]; then \
# Prevent libmamba from sporadically hanging on arm64 under QEMU
# <https://github.com/mamba-org/mamba/issues/1611>
export G_SLICE=always-malloc; \
fi && \
mamba install --quiet --yes \
'pyarrow' && \ 'pyarrow' && \
mamba clean --all -f -y && \ mamba clean --all -f -y && \
fix-permissions "${CONDA_DIR}" && \ fix-permissions "${CONDA_DIR}" && \

View File

@@ -27,7 +27,13 @@ USER ${NB_UID}
# R packages including IRKernel which gets installed globally. # R packages including IRKernel which gets installed globally.
# r-e1071: dependency of the caret R package # r-e1071: dependency of the caret R package
RUN mamba install --quiet --yes \ RUN arch=$(uname -m) && \
if [ "${arch}" == "aarch64" ]; then \
# Prevent libmamba from sporadically hanging on arm64 under QEMU
# <https://github.com/mamba-org/mamba/issues/1611>
export G_SLICE=always-malloc; \
fi && \
mamba install --quiet --yes \
'r-base' \ 'r-base' \
'r-caret' \ 'r-caret' \
'r-crayon' \ 'r-crayon' \
@@ -52,7 +58,6 @@ RUN mamba install --quiet --yes \
fix-permissions "/home/${NB_USER}" fix-permissions "/home/${NB_USER}"
# `r-tidymodels` is not easy to install under arm # `r-tidymodels` is not easy to install under arm
# hadolint ignore=SC2039
RUN set -x && \ RUN set -x && \
arch=$(uname -m) && \ arch=$(uname -m) && \
if [ "${arch}" == "x86_64" ]; then \ if [ "${arch}" == "x86_64" ]; then \

View File

@@ -26,7 +26,13 @@ RUN apt-get update --yes && \
USER ${NB_UID} USER ${NB_UID}
# Install Python 3 packages # Install Python 3 packages
RUN mamba install --quiet --yes \ RUN arch=$(uname -m) && \
if [ "${arch}" == "aarch64" ]; then \
# Prevent libmamba from sporadically hanging on arm64 under QEMU
# <https://github.com/mamba-org/mamba/issues/1611>
export G_SLICE=always-malloc; \
fi && \
mamba install --quiet --yes \
'altair' \ 'altair' \
'beautifulsoup4' \ 'beautifulsoup4' \
'bokeh' \ 'bokeh' \

View File

@@ -11,7 +11,13 @@ LABEL maintainer="Jupyter Project <jupyter@googlegroups.com>"
SHELL ["/bin/bash", "-o", "pipefail", "-c"] SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# Install Tensorflow # Install Tensorflow
RUN mamba install --quiet --yes \ RUN arch=$(uname -m) && \
if [ "${arch}" == "aarch64" ]; then \
# Prevent libmamba from sporadically hanging on arm64 under QEMU
# <https://github.com/mamba-org/mamba/issues/1611>
export G_SLICE=always-malloc; \
fi && \
mamba install --quiet --yes \
'tensorflow' && \ 'tensorflow' && \
mamba clean --all -f -y && \ mamba clean --all -f -y && \
fix-permissions "${CONDA_DIR}" && \ fix-permissions "${CONDA_DIR}" && \

View File

@@ -10,12 +10,9 @@ LOGGER = logging.getLogger(__name__)
def test_julia(container: TrackedContainer) -> None: def test_julia(container: TrackedContainer) -> None:
"""Basic julia test""" """Basic julia test"""
LOGGER.info("Test that julia is correctly installed ...") LOGGER.info("Test that julia is correctly installed ...")
running_container = container.run_detached( logs = container.run_and_wait(
timeout=5,
tty=True, tty=True,
command=["start.sh", "bash", "-c", "sleep infinity"], command=["start.sh", "bash", "-c", "julia --version"],
) )
command = "julia --version" LOGGER.debug(logs)
cmd = running_container.exec_run(command)
output = cmd.output.decode("utf-8")
LOGGER.debug(output)
assert cmd.exit_code == 0, f"Command {command} failed {output}"