diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ded908..77a2d07 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,21 @@ instructions, because git commits are used to generate release notes: + +## v19.0.0 (2024-10-24) + +- 💥 [Deprecation] Drop support for python 3.8 and set Python 3.9 as the minimum supported python version. (by @DawoudSheraz) + +- 💥[Improvement] Rename Tutor's two branches (by @DawoudSheraz): + * Rename **master** to **release**, as this branch runs the latest official Open edX release tag. + * Rename **nightly** to **main**, as this branch runs the Open edX master branches, which are the basis for the next Open edX release. + +- [Bugfix] Fix legacy warnings during Docker build. (by @regisb) + +- 💥[Feature] Update Xqueue Image to use Ubuntu 24.04 as base OS. (by @jfavellar90) + +- 💥[Feature] Upgrade to Sumac. (by @jfavellar90) + ## v18.0.0 (2024-05-09) diff --git a/README.rst b/README.rst index a787bfc..6519bc1 100644 --- a/README.rst +++ b/README.rst @@ -56,7 +56,7 @@ For a problem that includes a file submission, write instead:: Note that in all cases, the queue name must be "openedx". -Save and publish the created unit. Then, access the unit from the LMS and attempt to answer the problem. The answer is sent to the Xqueue service. If you know how to use the Xqueue API, you can access it at http(s)://xqueue.LMS_HOST (in production) or http://xqueue.local.edly.io (in development). However, the Xqueue API is a bit awkward to use. Tutor provides a simple command-line interface to interact with the Xqueue service. +Save and publish the created unit. Then, access the unit from the LMS and attempt to answer the problem. The answer is sent to the Xqueue service. If you know how to use the Xqueue API, you can access it at http(s)://xqueue.LMS_HOST (in production) or http://xqueue.local.openedx.io (in development). However, the Xqueue API is a bit awkward to use. Tutor provides a simple command-line interface to interact with the Xqueue service. Count the number of submissions that need to be graded:: diff --git a/changelog.d/20240621_170044_regis.md b/changelog.d/20240621_170044_regis.md deleted file mode 100644 index d7d2eb7..0000000 --- a/changelog.d/20240621_170044_regis.md +++ /dev/null @@ -1 +0,0 @@ -- [Bugfix] Fix legacy warnings during Docker build. (by @regisb) diff --git a/changelog.d/20241111_170333_dawoud.sheraz_remove_py38_references.md b/changelog.d/20241111_170333_dawoud.sheraz_remove_py38_references.md deleted file mode 100644 index aeead7e..0000000 --- a/changelog.d/20241111_170333_dawoud.sheraz_remove_py38_references.md +++ /dev/null @@ -1 +0,0 @@ -- 💥 [Deprecation] Drop support for python 3.8 and set Python 3.9 as the minimum supported python version. (by @DawoudSheraz) diff --git a/changelog.d/20241119_165848_dawoud.sheraz_branch_rename.md b/changelog.d/20241119_165848_dawoud.sheraz_branch_rename.md deleted file mode 100644 index fb6e264..0000000 --- a/changelog.d/20241119_165848_dawoud.sheraz_branch_rename.md +++ /dev/null @@ -1,3 +0,0 @@ -- 💥[Improvement] Rename Tutor's two branches (by @DawoudSheraz): - * Rename **master** to **release**, as this branch runs the latest official Open edX release tag. - * Rename **nightly** to **main**, as this branch runs the Open edX master branches, which are the basis for the next Open edX release. \ No newline at end of file diff --git a/setup.py b/setup.py index 4b1df0f..bc01c06 100644 --- a/setup.py +++ b/setup.py @@ -33,9 +33,9 @@ packages=find_packages(exclude=["tests*"]), include_package_data=True, python_requires=">=3.9", - install_requires=["tutor>=18.0.0,<19.0.0", "requests"], + install_requires=["tutor>=19.0.0,<20.0.0", "requests"], extras_require={ - "dev": ["tutor[dev]>=18.0.0,<19.0.0"], + "dev": ["tutor[dev]>=19.0.0,<20.0.0"], }, entry_points={"tutor.plugin.v1": ["xqueue = tutorxqueue.plugin"]}, classifiers=[ diff --git a/tutorxqueue/__about__.py b/tutorxqueue/__about__.py index c6a8b8e..0122a6f 100644 --- a/tutorxqueue/__about__.py +++ b/tutorxqueue/__about__.py @@ -1 +1 @@ -__version__ = "18.0.0" +__version__ = "19.0.0" diff --git a/tutorxqueue/templates/xqueue/build/xqueue/Dockerfile b/tutorxqueue/templates/xqueue/build/xqueue/Dockerfile index ce2df52..ccffa5f 100644 --- a/tutorxqueue/templates/xqueue/build/xqueue/Dockerfile +++ b/tutorxqueue/templates/xqueue/build/xqueue/Dockerfile @@ -1,22 +1,24 @@ # syntax=docker/dockerfile:1.4 -###### Minimal image with base system requirements for most stages ###### -FROM docker.io/python:3.12-slim-bookworm +FROM docker.io/ubuntu:24.04 ARG DEBIAN_FRONTEND=noninteractive + +# Delete default UID=1000 `ubuntu` user to ensure we can use id 1000 for app user +RUN userdel -r ubuntu + RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ --mount=type=cache,target=/var/lib/apt,sharing=locked \ apt update && \ apt upgrade -y && \ apt install -y \ - locales \ + language-pack-en \ git \ - python3-dev \ - build-essential \ - default-libmysqlclient-dev \ - pkg-config && \ - sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && \ - locale-gen -ENV LC_ALL=en_US.UTF-8 + python3 \ + python3-pip \ + python3-venv \ + libmysqlclient-dev \ + pkg-config +RUN ln -s /usr/bin/python3 /usr/bin/python ###### Git-clone xqueue repo ###### ARG APP_USER_ID=1000 @@ -32,7 +34,7 @@ ENV PATH=/openedx/venv/bin:${PATH} # https://pypi.org/project/setuptools/ # https://pypi.org/project/pip/ # https://pypi.org/project/wheel/ -RUN --mount=type=cache,target=/openedx/.cache/pip,sharing=shared pip install setuptools==69.2.0 pip==24.0 wheel==0.43.0 +RUN --mount=type=cache,target=/openedx/.cache/pip,sharing=shared pip install setuptools==75.2.0 pip==24.2 wheel==0.44.0 RUN --mount=type=cache,target=/openedx/.cache/pip,sharing=shared pip install -r requirements.txt RUN --mount=type=cache,target=/openedx/.cache/pip,sharing=shared pip install uwsgi==2.0.25.1