Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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 .github/docker-compose-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ services:

xqueue:
container_name: xqueue
image: edxops/xqueue-dev:latest
image: ubuntu:22.04
command: tail -f /dev/null
volumes:
- ..:/edx/app/xqueue/xqueue
Expand Down
21 changes: 15 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['py311', 'py312']
env-name: ['django42','django52', 'quality']
python-version: ['py312']
env-name: ['django52', 'quality']
db-version: ['mysql80']

steps:
Expand All @@ -26,11 +26,11 @@ jobs:

- name: Setup Python ${{ matrix.python-version }} inside container
run: |
PY_VER=$(if [ "${{ matrix.python-version }}" = "py312" ]; then echo "3.12"; else echo "3.11"; fi)
PY_VER=3.12

docker exec xqueue bash -c "
docker exec -e DEBIAN_FRONTEND=noninteractive xqueue bash -c "
apt update &&
apt install -y software-properties-common curl &&
apt install -y software-properties-common curl build-essential pkg-config default-libmysqlclient-dev git memcached &&
add-apt-repository ppa:deadsnakes/ppa -y &&
apt install -y python$PY_VER python$PY_VER-dev python$PY_VER-venv &&
update-alternatives --install /usr/bin/python3 python3 /usr/bin/python$PY_VER 1 &&
Expand All @@ -43,4 +43,13 @@ jobs:
TOXENV: ${{ matrix.python-version }}-${{ matrix.env-name }}
run: |
docker exec xqueue bash -c "cd /edx/app/xqueue/xqueue/; /tmp/venv/bin/pip install -r requirements/ci.txt"
docker exec xqueue bash -c "cd /edx/app/xqueue/xqueue/ && DB_HOST=${{ matrix.db-version }} tox -e ${TOXENV}"
docker exec xqueue bash -c "cd /edx/app/xqueue/xqueue/ && DB_HOST=${{ matrix.db-version }} /tmp/venv/bin/tox -e ${TOXENV}"

# Aggregate check required by the master branch ruleset.
tests:
needs: build
if: always()
runs-on: ubuntu-latest
steps:
- name: Fail unless all build jobs succeeded
run: test "${{ needs.build.result }}" = "success"
2 changes: 1 addition & 1 deletion .github/workflows/mysql8-migrations-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
strategy:
matrix:
os: [ ubuntu-latest ]
python-version: [ '3.11', '3.12' ]
python-version: [ '3.12' ]

steps:
- name: Checkout repo
Expand Down
3 changes: 0 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,6 @@ upgrade: $(COMMON_CONSTRAINTS_TXT) ## update the requirements/*.txt files with t
pip-compile --upgrade -o requirements/test.txt requirements/test.in
pip-compile --upgrade -o requirements/ci.txt requirements/ci.in
pip-compile --upgrade -o requirements/dev.txt requirements/dev.in
# Let tox control the Django version for tests
sed '/^[dD]jango==/d' requirements/test.txt > requirements/test.tmp
mv requirements/test.tmp requirements/test.txt

quality: ## check coding style with pycodestyle and pylint
isort --recursive --check-only submission_queue/ xqueue/
Expand Down
62 changes: 28 additions & 34 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
#
# This file is autogenerated by pip-compile with Python 3.11
# This file is autogenerated by pip-compile with Python 3.12
# by the following command:
#
# make upgrade
#
asgiref==3.8.1
asgiref==3.12.1
# via django
backoff==2.2.1
# via -r requirements/base.in
boto3==1.38.43
boto3==1.43.106
# via -r requirements/base.in
botocore==1.38.43
botocore==1.43.106
# via
# boto3
# s3transfer
certifi==2025.6.15
certifi==2026.7.22
# via requests
cffi==1.17.1
cffi==2.1.1
# via pynacl
charset-normalizer==3.4.2
charset-normalizer==3.5.2
# via requests
click==8.2.1
click==8.5.0
# via edx-django-utils
django==4.2.23
django==5.2.17
# via
# -c requirements/common_constraints.txt
# -r requirements/base.in
Expand All @@ -39,57 +39,51 @@ django-waffle==5.0.0
# via edx-django-utils
edx-django-release-util==1.5.0
# via -r requirements/base.in
edx-django-utils==8.0.0
edx-django-utils==8.0.2
# via -r requirements/base.in
gunicorn==23.0.0
gunicorn==26.2.0
# via -r requirements/base.in
idna==3.10
idna==3.20
# via requests
isort==6.0.1
isort==9.0.2
# via -r requirements/base.in
jmespath==1.0.1
jmespath==1.1.0
# via
# boto3
# botocore
mysqlclient==2.2.7
mypy-extensions==1.1.0
# via isort
mysqlclient==2.3.0
# via -r requirements/base.in
newrelic==10.14.0
newrelic==13.6.1
# via -r requirements/base.in
packaging==25.0
# via gunicorn
path==17.1.0
path==17.1.1
# via -r requirements/base.in
pbr==6.1.1
# via stevedore
psutil==7.0.0
psutil==7.2.2
# via edx-django-utils
pycparser==2.22
pycparser==3.0
# via cffi
pynacl==1.5.0
pynacl==1.6.2
# via edx-django-utils
python-dateutil==2.9.0.post0
# via botocore
python-memcached==1.62
# via -r requirements/base.in
pyyaml==6.0.2
pyyaml==6.0.3
# via edx-django-release-util
requests==2.32.4
requests==2.34.2
# via -r requirements/base.in
s3transfer==0.13.0
s3transfer==0.19.2
# via boto3
six==1.17.0
# via
# edx-django-release-util
# python-dateutil
sqlparse==0.5.3
sqlparse==0.6.0
# via django
stevedore==5.4.1
stevedore==5.9.1
# via edx-django-utils
urllib3==2.2.3
urllib3==2.8.0
# via
# -c requirements/common_constraints.txt
# botocore
# requests

# The following packages are considered to be unsafe in a requirements file:
# setuptools
30 changes: 19 additions & 11 deletions requirements/ci.txt
Original file line number Diff line number Diff line change
@@ -1,34 +1,42 @@
#
# This file is autogenerated by pip-compile with Python 3.11
# This file is autogenerated by pip-compile with Python 3.12
# by the following command:
#
# make upgrade
#
cachetools==6.1.0
# via tox
chardet==5.2.0
cachetools==7.2.0
# via tox
colorama==0.4.6
# via tox
distlib==0.3.9
distlib==0.4.3
# via virtualenv
filelock==3.18.0
filelock==4.0.8
# via
# python-discovery
# tox
# virtualenv
packaging==25.0
packaging==26.3
# via
# pyproject-api
# tox
platformdirs==4.3.8
# virtualenv
platformdirs==4.12.2
# via
# tox
# virtualenv
pluggy==1.6.0
# via tox
pyproject-api==1.9.1
pyproject-api==1.11.2
# via tox
tox==4.27.0
python-discovery==1.6.1
# via
# tox
# virtualenv
tomli-w==1.2.0
# via tox
tox==4.64.6
# via -r requirements/ci.in
virtualenv==20.31.2
typing-extensions==4.16.0
# via tox
virtualenv==21.14.2
# via tox
32 changes: 22 additions & 10 deletions requirements/common_constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,20 +17,32 @@
# this file from Github directly. It does not require packaging in edx-lint.

# using LTS django version
Django<5.0
Django<6.0

# elasticsearch>=7.14.0 includes breaking changes in it which caused issues in discovery upgrade process.
# elastic search changelog: https://www.elastic.co/guide/en/enterprise-search/master/release-notes-7.14.0.html
# See https://github.com/openedx/edx-platform/issues/35126 for more info
elasticsearch<7.14.0

# django-simple-history>3.0.0 adds indexing and causes a lot of migrations to be affected
django-simple-history==3.0.0
# 2026-07-06: Constrain social-auth-* packages to the latest version compatible with
# edx-drf-extensions<=10.6.0. (Newer versions require a POST instead of a GET.)
# Tracking issue: https://github.com/openedx/edx-drf-extensions/issues/561
social-auth-app-django<6.0.0
social-auth-core<5.0.0

# Cause: https://github.com/openedx/edx-lint/issues/458
# This can be unpinned once https://github.com/openedx/edx-lint/issues/459 has been resolved.
pip<24.3

# Cause: https://github.com/openedx/edx-lint/issues/475
# This can be unpinned once https://github.com/openedx/edx-lint/issues/476 has been resolved.
urllib3<2.3.0
# 2026-08-11: pip-tools is only tested against the latest pip released at the time
# pip-tools was released; also, pip-tools package dependencies are extremely permissive
# about the pip version required, so the dependency resolver will not prevent an unwanted
# pip upgrade which would break pip-tools. The end result is that pip MUST be constrained
# by all pip-tools users in order to avoid potentially weeks-long lapses in pip <->
# pip-tools compatibility. We've constrained pip here in common_constraints.txt in the
# past, but always removed it once the issue was "fixed". Removing this constraint was
# always a mistake.
#
# This is a semi-permanent constraint and should be manually bumped after each pip-tools
# release.
#
# Exceptional conditions for removal:
# - We stop using pip-tools, OR
# - We migrate to the proposed `pip-tools[stable]` extra: https://github.com/jazzband/pip-tools/pull/2257
pip<26.2.1 # Known to work with pip-tools==7.6.1
Loading
Loading