Merge pull request #37 from overhangio/redwood

* feat: adding python 3.12 support (#36)

* feat: adding first version of Dockerfile Python3.12 compatible

* ci: add python 3.12 checks

* feat: upgrade to redwood
This commit is contained in:
Régis Behmo 2024-06-20 03:12:10 +02:00 committed by GitHub
commit 06fd645d44
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 30 additions and 19 deletions

View File

@ -7,12 +7,15 @@ on:
jobs: jobs:
tests: tests:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.8', '3.12']
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v3
- name: Set up Python 3.8 - name: Set up Python
uses: actions/setup-python@v2 uses: actions/setup-python@v5
with: with:
python-version: 3.8 python-version: ${{ matrix.python-version }}
- name: Upgrade pip - name: Upgrade pip
run: python -m pip install --upgrade pip setuptools run: python -m pip install --upgrade pip setuptools
- name: Install dependencies - name: Install dependencies

View File

@ -19,6 +19,14 @@ instructions, because git commits are used to generate release notes:
<!-- scriv-insert-here --> <!-- scriv-insert-here -->
<a id='changelog-18.0.0'></a>
## v18.0.0 (2024-05-09)
- [Bugfix] Make plugin compatible with Python 3.12 by removing dependency on `pkg_resources`. (by @regisb)
- 💥[Feature] Upgrade Python version to 3.12.3. (by @jfavellar90)
- 💥[Feature] Upgrade to Redwood. (by @jfavellar90)
<a id='changelog-17.0.0'></a> <a id='changelog-17.0.0'></a>
## v17.0.0 (2023-12-09) ## v17.0.0 (2023-12-09)

View File

@ -1,9 +1,9 @@
Students notes plugin for `Tutor <https://docs.tutor.edly.io>`_ Students notes plugin for `Tutor <https://docs.tutor.edly.io>`_
=================================================================== ===================================================================
This is a plugin for `Tutor <https://docs.tutor.edly.io>`_ to easily add the `Open edX note-taking app <https://github.com/openedx/edx-notes-api>`_ to an Open edX platform. This app allows students to annotate portions of the courseware (see `the official documentation <https://edx.readthedocs.io/projects/open-edx-building-and-running-a-course/en/open-release-quince.master/exercises_tools/notes.html>`_). This is a plugin for `Tutor <https://docs.tutor.edly.io>`_ to easily add the `Open edX note-taking app <https://github.com/openedx/edx-notes-api>`_ to an Open edX platform. This app allows students to annotate portions of the courseware (see `the official documentation <https://edx.readthedocs.io/projects/open-edx-building-and-running-a-course/en/open-release-redwood.master/exercises_tools/notes.html>`_).
.. image:: https://edx.readthedocs.io/projects/open-edx-building-and-running-a-course/en/open-release-quince.master/_images/SFD_SN_bodyexample.png .. image:: https://edx.readthedocs.io/projects/open-edx-building-and-running-a-course/en/open-release-redwood.master/_images/SFD_SN_bodyexample.png
:alt: Notes in action :alt: Notes in action
Installation Installation

View File

@ -1 +0,0 @@
- [Bugfix] Make plugin compatible with Python 3.12 by removing dependency on `pkg_resources`. (by @regisb)

View File

@ -32,8 +32,8 @@ setup(
packages=find_packages(exclude=["tests*"]), packages=find_packages(exclude=["tests*"]),
include_package_data=True, include_package_data=True,
python_requires=">=3.8", python_requires=">=3.8",
install_requires=["tutor>=17.0.0,<18.0.0"], install_requires=["tutor>=18.0.0,<19.0.0"],
extras_require={"dev": ["tutor[dev]>=17.0.0,<18.0.0"]}, extras_require={"dev": ["tutor[dev]>=18.0.0,<19.0.0"]},
entry_points={"tutor.plugin.v1": ["notes = tutornotes.plugin"]}, entry_points={"tutor.plugin.v1": ["notes = tutornotes.plugin"]},
classifiers=[ classifiers=[
"Development Status :: 5 - Production/Stable", "Development Status :: 5 - Production/Stable",

View File

@ -1 +1 @@
__version__ = "17.0.0" __version__ = "18.0.0"

View File

@ -1,5 +1,5 @@
# syntax=docker/dockerfile:1.4 # syntax=docker/dockerfile:1.4
FROM docker.io/ubuntu:20.04 FROM docker.io/python:3.12-slim-bookworm
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
@ -7,14 +7,15 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
apt update && \ apt update && \
apt upgrade -y && \ apt upgrade -y && \
apt install -y \ apt install -y \
language-pack-en \ locales \
git \ git \
python3 \ python3-dev \
python3-pip \ build-essential \
python3-venv \ default-libmysqlclient-dev \
libmysqlclient-dev \ pkg-config && \
pkg-config sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && \
RUN ln -s /usr/bin/python3 /usr/bin/python locale-gen
ENV LC_ALL en_US.UTF-8
###### Git-clone Notes repo ###### ###### Git-clone Notes repo ######
ARG APP_USER_ID=1000 ARG APP_USER_ID=1000
@ -30,7 +31,7 @@ ENV PATH /app/venv/bin:${PATH}
# https://pypi.org/project/setuptools/ # https://pypi.org/project/setuptools/
# https://pypi.org/project/pip/ # https://pypi.org/project/pip/
# https://pypi.org/project/wheel/ # https://pypi.org/project/wheel/
RUN --mount=type=cache,target=/app/.cache/pip,sharing=shared pip install setuptools==68.2.2 pip==23.2.1 wheel==0.41.2 RUN --mount=type=cache,target=/app/.cache/pip,sharing=shared pip install setuptools==69.2.0 pip==24.0 wheel==0.43.0
RUN --mount=type=cache,target=/app/.cache/pip,sharing=shared pip install -r requirements/base.txt RUN --mount=type=cache,target=/app/.cache/pip,sharing=shared pip install -r requirements/base.txt
EXPOSE 8000 EXPOSE 8000