mirror of
https://github.com/jupyter/docker-stacks.git
synced 2025-10-17 23:12:56 +00:00
Merge branch 'master' into asalikhov/ubuntu_jammy
This commit is contained in:
14
.github/pull_request_template.md
vendored
Normal file
14
.github/pull_request_template.md
vendored
Normal 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 -->
|
14
.github/workflows/docker.yml
vendored
14
.github/workflows/docker.yml
vendored
@@ -67,10 +67,10 @@ jobs:
|
||||
# https://github.com/docker/build-push-action/tree/master#usage
|
||||
# https://github.com/docker/build-push-action/blob/master/docs/advanced/multi-platform.md
|
||||
- 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) 🐳
|
||||
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 ⚡️
|
||||
uses: actions/checkout@v3
|
||||
@@ -97,7 +97,7 @@ jobs:
|
||||
- name: Checkout Wiki Repo 📃
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: ${{github.repository}}.wiki
|
||||
repository: ${{ github.repository }}.wiki
|
||||
path: wiki/
|
||||
|
||||
- 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'
|
||||
uses: stefanzweifel/git-auto-commit-action@49620cd3ed21ee620a48530e81dba0d139c9cb80 # dependabot updates to latest release
|
||||
with:
|
||||
commit_message: "Automated wiki publish for ${{github.sha}}"
|
||||
commit_message: "Automated wiki publish for ${{ github.sha }}"
|
||||
repository: wiki/
|
||||
|
||||
- name: Login to Docker Hub 🔐
|
||||
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:
|
||||
username: ${{secrets.DOCKERHUB_USERNAME}}
|
||||
password: ${{secrets.DOCKERHUB_TOKEN}}
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
- name: Push Images to Docker Hub 📤
|
||||
if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main' || github.event_name == 'schedule'
|
||||
|
4
.github/workflows/hub-overview.yml
vendored
4
.github/workflows/hub-overview.yml
vendored
@@ -34,8 +34,8 @@ jobs:
|
||||
- name: push README to Dockerhub for base-notebook 🐳
|
||||
uses: christian-korneck/update-container-description-action@d36005551adeaba9698d8d67a296bd16fa91f8e8 # dependabot updates to latest release
|
||||
env:
|
||||
DOCKER_USER: ${{secrets.DOCKERHUB_USERNAME}}
|
||||
DOCKER_PASS: ${{secrets.DOCKERHUB_TOKEN}}
|
||||
DOCKER_USER: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
DOCKER_PASS: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
with:
|
||||
destination_container_repo: jupyter/base-notebook
|
||||
provider: dockerhub
|
||||
|
@@ -14,7 +14,7 @@
|
||||
repos:
|
||||
# Autoupdate: Python code
|
||||
- repo: https://github.com/asottile/pyupgrade
|
||||
rev: v2.32.0
|
||||
rev: v2.32.1
|
||||
hooks:
|
||||
- id: pyupgrade
|
||||
args: [--py39-plus]
|
||||
@@ -35,7 +35,7 @@ repos:
|
||||
|
||||
# Check python code static typing
|
||||
- repo: https://github.com/pre-commit/mirrors-mypy
|
||||
rev: v0.942
|
||||
rev: v0.950
|
||||
hooks:
|
||||
- id: mypy
|
||||
args: [--config, ./mypy.ini]
|
||||
|
@@ -1,5 +1,3 @@
|
||||
<!-- markdownlint-disable MD041 -->
|
||||
|
||||
Thanks for contributing! Please see the
|
||||
**Contributor Guide** section in [the documentation](https://jupyter-docker-stacks.readthedocs.io/en/latest/) for
|
||||
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),
|
||||
[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).
|
||||
|
||||
<!-- markdownlint-disable-file MD041 -->
|
||||
|
@@ -27,7 +27,13 @@ RUN apt-get update --yes && \
|
||||
USER ${NB_UID}
|
||||
|
||||
# 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-ggplot2' \
|
||||
'r-irkernel' \
|
||||
|
@@ -119,7 +119,8 @@ RUN set -x && \
|
||||
if [ "${arch}" == "aarch64" ]; then \
|
||||
# Prevent libmamba from sporadically hanging on arm64 under QEMU
|
||||
# <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 && \
|
||||
# Install the packages
|
||||
./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
|
||||
# https://github.com/jupyter/docker-stacks/issues/915#issuecomment-1068528799
|
||||
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
|
||||
USER ${NB_UID}
|
||||
|
@@ -61,7 +61,13 @@ USER ${NB_UID}
|
||||
|
||||
# R packages including IRKernel which gets installed globally.
|
||||
# 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-caret' \
|
||||
'r-crayon' \
|
||||
@@ -75,23 +81,23 @@ RUN mamba install --quiet --yes \
|
||||
'r-nycflights13' \
|
||||
'r-randomforest' \
|
||||
'r-rcurl' \
|
||||
'r-rmarkdown' \
|
||||
'r-rodbc' \
|
||||
'r-rsqlite' \
|
||||
'r-shiny' \
|
||||
'r-tidyverse' \
|
||||
'rpy2' \
|
||||
'unixodbc' && \
|
||||
mamba clean --all -f -y && \
|
||||
fix-permissions "${CONDA_DIR}" && \
|
||||
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 && \
|
||||
arch=$(uname -m) && \
|
||||
if [ "${arch}" == "x86_64" ]; then \
|
||||
mamba install --quiet --yes \
|
||||
'r-rmarkdown' \
|
||||
'r-tidymodels' \
|
||||
'r-tidyverse' && \
|
||||
'r-tidymodels' && \
|
||||
mamba clean --all -f -y && \
|
||||
fix-permissions "${CONDA_DIR}" && \
|
||||
fix-permissions "/home/${NB_USER}"; \
|
||||
|
@@ -61,7 +61,13 @@ RUN fix-permissions "/etc/ipython/"
|
||||
USER ${NB_UID}
|
||||
|
||||
# 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' && \
|
||||
mamba clean --all -f -y && \
|
||||
fix-permissions "${CONDA_DIR}" && \
|
||||
|
@@ -27,7 +27,13 @@ USER ${NB_UID}
|
||||
|
||||
# R packages including IRKernel which gets installed globally.
|
||||
# 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-caret' \
|
||||
'r-crayon' \
|
||||
@@ -52,7 +58,6 @@ RUN mamba install --quiet --yes \
|
||||
fix-permissions "/home/${NB_USER}"
|
||||
|
||||
# `r-tidymodels` is not easy to install under arm
|
||||
# hadolint ignore=SC2039
|
||||
RUN set -x && \
|
||||
arch=$(uname -m) && \
|
||||
if [ "${arch}" == "x86_64" ]; then \
|
||||
|
@@ -26,7 +26,13 @@ RUN apt-get update --yes && \
|
||||
USER ${NB_UID}
|
||||
|
||||
# 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' \
|
||||
'beautifulsoup4' \
|
||||
'bokeh' \
|
||||
|
@@ -11,7 +11,13 @@ LABEL maintainer="Jupyter Project <jupyter@googlegroups.com>"
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
|
||||
# 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' && \
|
||||
mamba clean --all -f -y && \
|
||||
fix-permissions "${CONDA_DIR}" && \
|
||||
|
@@ -10,12 +10,9 @@ LOGGER = logging.getLogger(__name__)
|
||||
def test_julia(container: TrackedContainer) -> None:
|
||||
"""Basic julia test"""
|
||||
LOGGER.info("Test that julia is correctly installed ...")
|
||||
running_container = container.run_detached(
|
||||
logs = container.run_and_wait(
|
||||
timeout=5,
|
||||
tty=True,
|
||||
command=["start.sh", "bash", "-c", "sleep infinity"],
|
||||
command=["start.sh", "bash", "-c", "julia --version"],
|
||||
)
|
||||
command = "julia --version"
|
||||
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}"
|
||||
LOGGER.debug(logs)
|
||||
|
Reference in New Issue
Block a user