Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: upgrade to Quince #25

Merged
merged 27 commits into from
Dec 11, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
07255c2
docs: change quickstart to launch
Sep 20, 2022
aa3dc2b
Merge remote-tracking branch 'origin/master' into nightly
Dec 22, 2022
d0a4007
Merge remote-tracking branch 'origin/master' into nightly
Feb 27, 2023
8318502
Merge remote-tracking branch 'origin/master' into nightly
Mar 19, 2023
0927834
Merge remote-tracking branch 'origin/master' into nightly
May 16, 2023
5595ba7
Merge remote-tracking branch 'origin/master' into nightly
May 17, 2023
33c4ca9
Merge remote-tracking branch 'origin/master' into nightly
May 19, 2023
c40a96e
Merge remote-tracking branch 'origin/master' into nightly
May 22, 2023
e282c95
Merge remote-tracking branch 'origin/master' into nightly
May 26, 2023
70730f1
Merge remote-tracking branch 'origin/master' into nightly
May 26, 2023
06c5390
feat: label nightly version
regisb May 26, 2023
f9cf62c
fix: nightly package version
regisb May 26, 2023
b3bc260
Merge branch 'master' into nightly
regisb Jun 14, 2023
9787d8d
Merge remote-tracking branch 'origin/master' into nightly
Jun 27, 2023
1ea6681
Merge remote-tracking branch 'origin/master' into nightly
Jul 31, 2023
ee0f356
Merge branch 'master' into nightly
regisb Aug 9, 2023
790405a
Merge remote-tracking branch 'origin/master' into nightly
Aug 14, 2023
4d75cd0
Merge remote-tracking branch 'origin/master' into nightly
Sep 7, 2023
b25a7e2
Merge remote-tracking branch 'origin/master' into nightly
Oct 3, 2023
f81740f
Merge remote-tracking branch 'origin/master' into nightly
Nov 14, 2023
18a6d5b
fix: add missing pkg-config package (#26)
regisb Nov 21, 2023
be48ede
feat: simplify nightly version management
regisb Nov 20, 2023
4256df3
docs: docs.tutor.overhang.io -> docs.tutor.edly.io
regisb Dec 5, 2023
67c55ff
local.overhang.io -> local.edly.io
regisb Dec 9, 2023
241283e
Merge branch 'master' into nightly
regisb Dec 9, 2023
8703186
feat: upgrade to Quince
jfavellar90 Nov 15, 2023
7f09751
chore: addressing comments
jfavellar90 Nov 21, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ variables:
TUTOR_PLUGIN: xqueue
TUTOR_IMAGES: xqueue
TUTOR_PYPI_PACKAGE: tutor-xqueue
OPENEDX_RELEASE: palm
OPENEDX_RELEASE: quince
GITHUB_REPO: overhangio/tutor-xqueue

include:
Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,13 @@ instructions, because git commits are used to generate release notes:

<!-- scriv-insert-here -->

<a id='changelog-17.0.0'></a>
## v17.0.0 (2023-12-09)

- 💥 [Feature] Upgrade to Quince (by @jfavellar90).
- [Improvement] Add a scriv-compliant changelog. (by @regisb)
- [Improvement] Removing the xqueue permissions container in favor of a global single permissions container. (by @jfavellar90)
- [Bugfix] Fix "Error: service "xqueue-job" depends on undefined service mysql: invalid compose project" - add conditional statement to check whether the mysql service is enabled or if the user is using an external mysql instance. (by @ravikhetani)
- [Improvement] Added Typing to code, Makefile and test action to the repository and formatted code with Black and isort. (by @CodeWithEmad)


2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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.overhang.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.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.

Count the number of submissions that need to be graded::

Expand Down
1 change: 0 additions & 1 deletion changelog.d/20230519_161836_regis.md

This file was deleted.

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/20231113_135404_r.khetani.md

This file was deleted.

1 change: 0 additions & 1 deletion changelog.d/20231118_161232_codewithemad.md

This file was deleted.

4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@
packages=find_packages(exclude=["tests*"]),
include_package_data=True,
python_requires=">=3.8",
install_requires=["tutor>=16.0.0,<17.0.0", "requests"],
install_requires=["tutor>=17.0.0,<18.0.0", "requests"],
extras_require={
"dev": ["tutor[dev]>=16.0.0,<17.0.0"],
"dev": ["tutor[dev]>=17.0.0,<18.0.0"],
},
entry_points={"tutor.plugin.v1": ["xqueue = tutorxqueue.plugin"]},
classifiers=[
Expand Down
2 changes: 1 addition & 1 deletion tutorxqueue/__about__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "16.0.2"
__version__ = "17.0.0"
1 change: 1 addition & 0 deletions tutorxqueue/plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import pkg_resources
import requests # type: ignore
from tutor import config as tutor_config
from tutor.__about__ import __version_suffix__
from tutor import exceptions
from tutor import hooks as tutor_hooks
from tutor.__about__ import __version_suffix__
Expand Down
25 changes: 17 additions & 8 deletions tutorxqueue/templates/xqueue/build/xqueue/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,13 +1,20 @@
{% if is_buildkit_enabled() %}# syntax=docker/dockerfile:1.4{% endif %}
# syntax=docker/dockerfile:1.4
###### Minimal image with base system requirements for most stages ######
FROM docker.io/ubuntu:20.04 as minimal

ARG DEBIAN_FRONTEND=noninteractive
RUN {% if is_buildkit_enabled() %}--mount=type=cache,target=/var/cache/apt,sharing=locked \
--mount=type=cache,target=/var/lib/apt,sharing=locked{% endif %} \
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 language-pack-en git python3 python3-pip python3-venv libmysqlclient-dev
apt install -y \
language-pack-en \
git \
python3 \
python3-pip \
python3-venv \
libmysqlclient-dev \
pkg-config
RUN ln -s /usr/bin/python3 /usr/bin/python

###### Git-clone xqueue repo ######
Expand All @@ -20,10 +27,12 @@ WORKDIR /openedx/xqueue
###### Install python venv ######
RUN python -m venv /openedx/venv
ENV PATH /openedx/venv/bin:${PATH}

RUN {% if is_buildkit_enabled() %}--mount=type=cache,target=/openedx/.cache/pip,sharing=shared {% endif %}pip install --upgrade pip setuptools
RUN {% if is_buildkit_enabled() %}--mount=type=cache,target=/openedx/.cache/pip,sharing=shared {% endif %}pip install -r requirements.txt
RUN {% if is_buildkit_enabled() %}--mount=type=cache,target=/openedx/.cache/pip,sharing=shared {% endif %}pip install uwsgi==2.0.21
# 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==68.2.2 pip==23.2.1. wheel==0.41.2
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.22

RUN mkdir /openedx/data /openedx/data/media

Expand Down
Loading