diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1aed3535..35979f28 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,7 +7,7 @@ on: branches: [ main ] env: - PYTHON_VERSION: "3.10" + PYTHON_VERSION: "3.12" PIPELINE_FAMILY: "general" jobs: diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 5a39d6ba..6d54bbec 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -11,7 +11,7 @@ env: PACKAGE: "unstructured-api" PIPELINE_FAMILY: "general" PIP_VERSION: "25.1.1" - PYTHON_VERSION: "3.10" + PYTHON_VERSION: "3.12" jobs: setup: diff --git a/Dockerfile b/Dockerfile index 31cd453d..c703634f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,8 @@ # syntax=docker/dockerfile:experimental -FROM quay.io/unstructured-io/base-images:wolfi-base-latest as base +FROM cgr.dev/chainguard/wolfi-base as base + +RUN apk add python-3.12 +RUN python3.12 -m ensurepip # NOTE(crag): NB_USER ARG for mybinder.org compat: # https://mybinder.readthedocs.io/en/latest/tutorials/dockerfile.html @@ -7,12 +10,15 @@ ARG NB_USER=notebook-user ARG NB_UID=1000 ARG PIP_VERSION ARG PIPELINE_PACKAGE -ARG PYTHON_VERSION="3.11" +ARG PYTHON_VERSION="3.12" # Set up environment ENV PYTHON python${PYTHON_VERSION} ENV PIP ${PYTHON} -m pip +RUN adduser -u ${NB_UID} -D ${NB_USER} +ENV HOME=/home/${NB_USER} + WORKDIR ${HOME} USER ${NB_USER} diff --git a/docker/rockylinux-9.4/Dockerfile b/docker/rockylinux-9.4/Dockerfile index 064a1008..1c8c49d6 100644 --- a/docker/rockylinux-9.4/Dockerfile +++ b/docker/rockylinux-9.4/Dockerfile @@ -22,18 +22,18 @@ ENV PATH="/home/${NB_USER}/.local/bin:${PATH}" FROM base as python-deps # COPY requirements/dev.txt requirements-dev.txt COPY requirements/base.txt requirements-base.txt -RUN python3.10 -m pip install pip==${PIP_VERSION} \ +RUN python3.12 -m pip install pip==${PIP_VERSION} \ && dnf -y groupinstall "Development Tools" \ - && su -l ${NB_USER} -c 'pip3.10 install --no-cache -r requirements-base.txt' \ + && su -l ${NB_USER} -c 'pip3.12 install --no-cache -r requirements-base.txt' \ && dnf -y groupremove "Development Tools" \ && dnf clean all \ - && ln -s /home/notebook-user/.local/bin/pip3.10 /usr/local/bin/pip3.10 || true + && ln -s /home/notebook-user/.local/bin/pip3.12 /usr/local/bin/pip3.12 || true USER ${NB_USER} FROM python-deps as model-deps -RUN python3.10 -c "from unstructured.nlp.tokenize import download_nltk_packages; download_nltk_packages()" && \ - python3.10 -c "from unstructured.partition.model_init import initialize; initialize()" +RUN python3.12 -c "from unstructured.nlp.tokenize import download_nltk_packages; download_nltk_packages()" && \ + python3.12 -c "from unstructured.partition.model_init import initialize; initialize()" FROM model-deps as code COPY --chown=${NB_USER}:${NB_USER} CHANGELOG.md CHANGELOG.md