From 4d4046c73ea71d37db6fc284131ff8ee7210ebb6 Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Fri, 23 Feb 2024 04:26:41 -0500 Subject: [PATCH 1/5] feat: add python312 support fix: update celery package constraint --- .github/workflows/ci.yml | 20 +++++++++----------- Makefile | 2 -- requirements/base.txt | 1 - requirements/constraints.txt | 7 ++++--- requirements/devstack.txt | 2 +- requirements/production.txt | 2 +- requirements/test.txt | 2 +- tox.ini | 7 ++++--- 8 files changed, 20 insertions(+), 23 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f96490a2..9ee7f354 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,10 +3,10 @@ name: Python CI on: push: branches: - - master + - master pull_request: branches: - - '**' + - '**' jobs: run_tests: @@ -14,15 +14,13 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: - - ubuntu-20.04 - python-version: - - 3.8 - toxenv: [ django42 ] + os: [ubuntu-20.04] + python-version: ['3.8', '3.12'] + toxenv: [django42] steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v3 - name: setup python - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 with: python-version: ${{ matrix.python-version }} architecture: x64 @@ -45,8 +43,8 @@ jobs: make static make validate_translations - name: Run Coverage - if: matrix.python-version == '3.8' && matrix.toxenv=='django42' - uses: codecov/codecov-action@v4 + if: matrix.python-version == '3.12' && matrix.toxenv=='django42' + uses: codecov/codecov-action@v1 with: flags: unittests file: ./coverage.xml diff --git a/Makefile b/Makefile index e5d30f20..2e93f5b3 100644 --- a/Makefile +++ b/Makefile @@ -59,8 +59,6 @@ upgrade: export CUSTOM_COMPILE_COMMAND=make upgrade upgrade: piptools $(COMMON_CONSTRAINTS_TXT) ## re-compile requirements .txt files from .in files sed 's/django-simple-history==3.0.0//g' requirements/common_constraints.txt > requirements/common_constraints.tmp mv requirements/common_constraints.tmp requirements/common_constraints.txt - sed 's/Django<4.0//g' requirements/common_constraints.txt > requirements/common_constraints.tmp - mv requirements/common_constraints.tmp requirements/common_constraints.txt pip-compile --allow-unsafe --rebuild --upgrade -o requirements/pip.txt requirements/pip.in pip-compile --upgrade -o requirements/pip-tools.txt requirements/pip-tools.in pip install -qr requirements/pip.txt diff --git a/requirements/base.txt b/requirements/base.txt index a96f7345..2620397e 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -61,7 +61,6 @@ defusedxml==0.8.0rc2 django==4.2.14 # via # -c requirements/common_constraints.txt - # -c requirements/constraints.txt # -r requirements/base.in # django-cors-headers # django-crum diff --git a/requirements/constraints.txt b/requirements/constraints.txt index 9f837379..bb9f3a92 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -11,9 +11,6 @@ # Common constraints for edx repos -c common_constraints.txt -# This constraint can be removed once global constraint is updated. -Django<4.3 - # Version 3.2.0 contains bad arabic translations that will cause validation tests to fail django-extensions<3.2.0 @@ -48,3 +45,7 @@ wrapt < 1.14.0 # At the time of adding this, the moto version 4.1.9 requires urllib3<1.27,>=1.25.4 urllib3<1.27,>=1.25.4 + +# backports.zoneinfo needed for Python 3.12 + Django 4.2 compatibility +# Can be removed once requirements have been upgraded with Python>=3.9 +backports.zoneinfo; python_version<'3.9' diff --git a/requirements/devstack.txt b/requirements/devstack.txt index 067357d9..8c067e74 100644 --- a/requirements/devstack.txt +++ b/requirements/devstack.txt @@ -43,6 +43,7 @@ backoff==1.10.0 # analytics-python backports-zoneinfo[tzdata]==0.2.1 # via + # -c requirements/constraints.txt # -r requirements/local.txt # celery # django @@ -161,7 +162,6 @@ distlib==0.3.8 django==4.2.14 # via # -c requirements/common_constraints.txt - # -c requirements/constraints.txt # -r requirements/local.txt # django-cors-headers # django-crum diff --git a/requirements/production.txt b/requirements/production.txt index d9784c9a..696ba0ee 100644 --- a/requirements/production.txt +++ b/requirements/production.txt @@ -25,6 +25,7 @@ backoff==1.10.0 # analytics-python backports-zoneinfo[tzdata]==0.2.1 # via + # -c requirements/constraints.txt # -r requirements/base.txt # celery # django @@ -93,7 +94,6 @@ defusedxml==0.8.0rc2 django==4.2.14 # via # -c requirements/common_constraints.txt - # -c requirements/constraints.txt # -r requirements/base.txt # django-cors-headers # django-crum diff --git a/requirements/test.txt b/requirements/test.txt index 9bbc7f5e..97375ce6 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -29,6 +29,7 @@ backoff==1.10.0 # analytics-python backports-zoneinfo[tzdata]==0.2.1 # via + # -c requirements/constraints.txt # -r requirements/base.txt # celery # django @@ -124,7 +125,6 @@ distlib==0.3.8 # via virtualenv # via # -c requirements/common_constraints.txt - # -c requirements/constraints.txt # -r requirements/base.txt # django-cors-headers # django-crum diff --git a/tox.ini b/tox.ini index 6f5406a3..a8591756 100644 --- a/tox.ini +++ b/tox.ini @@ -1,13 +1,14 @@ [tox] -envlist = py38-django{42} +envlist = py{38, 312}-django{42} skipsdist = true [testenv] passenv = * -deps = +deps = + setuptools django42: -r requirements/django.txt -r{toxinidir}/requirements/test.txt -allowlist_externals = +allowlist_externals = i18n_tool /bin/bash commands = {posargs:pytest} From c54bcc4066dd6c8313df1a4520bd4ac27bfb3e5c Mon Sep 17 00:00:00 2001 From: Usama Sadiq Date: Tue, 7 May 2024 18:29:13 +0500 Subject: [PATCH 2/5] chore: upgrade requirements with py38 --- requirements/base.txt | 3 ++- requirements/devstack.txt | 2 +- requirements/local.txt | 2 +- requirements/monitoring/requirements.txt | 2 +- requirements/production.txt | 2 +- requirements/test.txt | 2 +- 6 files changed, 7 insertions(+), 6 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index 2620397e..3f353f37 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -16,8 +16,9 @@ async-timeout==4.0.3 # via redis backoff==1.10.0 # via analytics-python -backports-zoneinfo[tzdata]==0.2.1 +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # celery # django # djangorestframework diff --git a/requirements/devstack.txt b/requirements/devstack.txt index 8c067e74..3c48ef63 100644 --- a/requirements/devstack.txt +++ b/requirements/devstack.txt @@ -41,7 +41,7 @@ backoff==1.10.0 # via # -r requirements/local.txt # analytics-python -backports-zoneinfo[tzdata]==0.2.1 +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # via # -c requirements/constraints.txt # -r requirements/local.txt diff --git a/requirements/local.txt b/requirements/local.txt index a64e172c..c16fd037 100644 --- a/requirements/local.txt +++ b/requirements/local.txt @@ -47,7 +47,7 @@ backoff==1.10.0 # -r requirements/docs.txt # -r requirements/test.txt # analytics-python -backports-zoneinfo[tzdata]==0.2.1 +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # via # -r requirements/docs.txt # -r requirements/test.txt diff --git a/requirements/monitoring/requirements.txt b/requirements/monitoring/requirements.txt index 8579e57e..65f158ef 100644 --- a/requirements/monitoring/requirements.txt +++ b/requirements/monitoring/requirements.txt @@ -62,7 +62,7 @@ backoff==1.10.0 # -r requirements/monitoring/../production.txt # -r requirements/monitoring/../test.txt # analytics-python -backports-zoneinfo[tzdata]==0.2.1 +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # via # -r requirements/monitoring/../devstack.txt # -r requirements/monitoring/../local.txt diff --git a/requirements/production.txt b/requirements/production.txt index 696ba0ee..35e7dbdd 100644 --- a/requirements/production.txt +++ b/requirements/production.txt @@ -23,7 +23,7 @@ backoff==1.10.0 # via # -r requirements/base.txt # analytics-python -backports-zoneinfo[tzdata]==0.2.1 +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # via # -c requirements/constraints.txt # -r requirements/base.txt diff --git a/requirements/test.txt b/requirements/test.txt index 97375ce6..ad3c9bf5 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -27,7 +27,7 @@ backoff==1.10.0 # via # -r requirements/base.txt # analytics-python -backports-zoneinfo[tzdata]==0.2.1 +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # via # -c requirements/constraints.txt # -r requirements/base.txt From ce99cd0ef9e4584d471b09bc143339221843e5a2 Mon Sep 17 00:00:00 2001 From: Usama Sadiq Date: Mon, 13 May 2024 17:50:11 +0500 Subject: [PATCH 3/5] build: skip coverage check --- .github/workflows/ci.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9ee7f354..dc44ef57 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -42,11 +42,11 @@ jobs: sudo apt install gettext make static make validate_translations - - name: Run Coverage - if: matrix.python-version == '3.12' && matrix.toxenv=='django42' - uses: codecov/codecov-action@v1 - with: - flags: unittests - file: ./coverage.xml - fail_ci_if_error: true - token: ${{ secrets.CODECOV_TOKEN }} + # - name: Run Coverage + # if: matrix.python-version == '3.12' && matrix.toxenv=='django42' + # uses: codecov/codecov-action@v1 + # with: + # flags: unittests + # file: ./coverage.xml + # fail_ci_if_error: true + # token: ${{ secrets.CODECOV_TOKEN }} From bbaae95874954614310113a93bc6f2cd46bcad28 Mon Sep 17 00:00:00 2001 From: Usama Sadiq Date: Tue, 30 Jul 2024 14:34:34 +0500 Subject: [PATCH 4/5] chore: upgrade requirements with py38 --- requirements/devstack.txt | 10 +++++----- requirements/docs.txt | 4 ++-- requirements/local.txt | 12 ++++++------ requirements/monitoring/requirements.txt | 10 +++++----- requirements/pip.txt | 4 ++-- requirements/production.txt | 4 ++-- requirements/test.txt | 4 ++-- 7 files changed, 24 insertions(+), 24 deletions(-) diff --git a/requirements/devstack.txt b/requirements/devstack.txt index 3c48ef63..ac1d38aa 100644 --- a/requirements/devstack.txt +++ b/requirements/devstack.txt @@ -57,12 +57,12 @@ billiard==4.2.0 # via # -r requirements/local.txt # celery -boto3==1.34.149 +boto3==1.34.150 # via # -c requirements/constraints.txt # -r requirements/local.txt # moto -botocore==1.34.149 +botocore==1.34.150 # via # -r requirements/local.txt # boto3 @@ -258,7 +258,7 @@ edx-django-utils==5.14.2 # edx-rest-api-client edx-drf-extensions==10.3.0 # via -r requirements/local.txt -edx-i18n-tools==1.6.0 +edx-i18n-tools==1.6.1 # via -r requirements/local.txt edx-lint==5.3.7 # via -r requirements/local.txt @@ -330,7 +330,7 @@ lxml[html-clean]==5.2.2 # -r requirements/local.txt # edx-i18n-tools # lxml-html-clean -lxml-html-clean==0.1.1 +lxml-html-clean==0.2.0 # via # -r requirements/local.txt # lxml @@ -374,7 +374,7 @@ packaging==24.1 # pytest # sphinx # tox -path==16.14.0 +path==17.0.0 # via # -r requirements/local.txt # edx-i18n-tools diff --git a/requirements/docs.txt b/requirements/docs.txt index ad9f539b..1d5bcf80 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -31,8 +31,9 @@ backoff==1.10.0 # via # -r requirements/base.txt # analytics-python -backports-zoneinfo[tzdata]==0.2.1 +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # -r requirements/base.txt # celery # django @@ -95,7 +96,6 @@ defusedxml==0.8.0rc2 django==4.2.14 # via # -c requirements/common_constraints.txt - # -c requirements/constraints.txt # -r requirements/base.txt # django-cors-headers # django-crum diff --git a/requirements/local.txt b/requirements/local.txt index c16fd037..ac285236 100644 --- a/requirements/local.txt +++ b/requirements/local.txt @@ -49,6 +49,7 @@ backoff==1.10.0 # analytics-python backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # -r requirements/docs.txt # -r requirements/test.txt # celery @@ -64,12 +65,12 @@ billiard==4.2.0 # -r requirements/docs.txt # -r requirements/test.txt # celery -boto3==1.34.149 +boto3==1.34.150 # via # -c requirements/constraints.txt # -r requirements/test.txt # moto -botocore==1.34.149 +botocore==1.34.150 # via # -r requirements/test.txt # boto3 @@ -177,7 +178,6 @@ distlib==0.3.8 django==4.2.14 # via # -c requirements/common_constraints.txt - # -c requirements/constraints.txt # -r requirements/docs.txt # -r requirements/test.txt # django-cors-headers @@ -303,7 +303,7 @@ edx-drf-extensions==10.3.0 # via # -r requirements/docs.txt # -r requirements/test.txt -edx-i18n-tools==1.6.0 +edx-i18n-tools==1.6.1 # via -r requirements/local.in edx-lint==5.3.7 # via -r requirements/test.txt @@ -381,7 +381,7 @@ lxml[html-clean,html_clean]==5.2.2 # via # edx-i18n-tools # lxml-html-clean -lxml-html-clean==0.1.1 +lxml-html-clean==0.2.0 # via lxml lz4==4.3.3 # via ruamel-yaml-cmd @@ -424,7 +424,7 @@ packaging==24.1 # pytest # sphinx # tox -path==16.14.0 +path==17.0.0 # via edx-i18n-tools pathspec==0.12.1 # via diff --git a/requirements/monitoring/requirements.txt b/requirements/monitoring/requirements.txt index 65f158ef..d4dc1fa5 100644 --- a/requirements/monitoring/requirements.txt +++ b/requirements/monitoring/requirements.txt @@ -84,14 +84,14 @@ billiard==4.2.0 # -r requirements/monitoring/../production.txt # -r requirements/monitoring/../test.txt # celery -boto3==1.34.149 +boto3==1.34.150 # via # -r requirements/monitoring/../devstack.txt # -r requirements/monitoring/../local.txt # -r requirements/monitoring/../production.txt # -r requirements/monitoring/../test.txt # moto -botocore==1.34.149 +botocore==1.34.150 # via # -r requirements/monitoring/../devstack.txt # -r requirements/monitoring/../local.txt @@ -410,7 +410,7 @@ edx-drf-extensions==10.3.0 # -r requirements/monitoring/../local.txt # -r requirements/monitoring/../production.txt # -r requirements/monitoring/../test.txt -edx-i18n-tools==1.6.0 +edx-i18n-tools==1.6.1 # via # -r requirements/monitoring/../devstack.txt # -r requirements/monitoring/../local.txt @@ -534,7 +534,7 @@ lxml[html-clean]==5.2.2 # -r requirements/monitoring/../local.txt # edx-i18n-tools # lxml-html-clean -lxml-html-clean==0.1.1 +lxml-html-clean==0.2.0 # via # -r requirements/monitoring/../devstack.txt # -r requirements/monitoring/../local.txt @@ -602,7 +602,7 @@ packaging==24.1 # pytest # sphinx # tox -path==16.14.0 +path==17.0.0 # via # -r requirements/monitoring/../devstack.txt # -r requirements/monitoring/../local.txt diff --git a/requirements/pip.txt b/requirements/pip.txt index ebe14bbe..7b187b8d 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -8,7 +8,7 @@ wheel==0.43.0 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: -pip==24.1.2 +pip==24.2 # via -r requirements/pip.in -setuptools==71.1.0 +setuptools==72.1.0 # via -r requirements/pip.in diff --git a/requirements/production.txt b/requirements/production.txt index 35e7dbdd..b5f4d7ab 100644 --- a/requirements/production.txt +++ b/requirements/production.txt @@ -35,11 +35,11 @@ billiard==4.2.0 # via # -r requirements/base.txt # celery -boto3==1.34.149 +boto3==1.34.150 # via # -c requirements/constraints.txt # -r requirements/production.in -botocore==1.34.149 +botocore==1.34.150 # via # boto3 # s3transfer diff --git a/requirements/test.txt b/requirements/test.txt index ad3c9bf5..4070a346 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -39,11 +39,11 @@ billiard==4.2.0 # via # -r requirements/base.txt # celery -boto3==1.34.149 +boto3==1.34.150 # via # -c requirements/constraints.txt # moto -botocore==1.34.149 +botocore==1.34.150 # via # boto3 # moto From 7fa83069400165b47b8ac90d9b7e95eeda5957e0 Mon Sep 17 00:00:00 2001 From: Usama Sadiq Date: Tue, 30 Jul 2024 15:35:15 +0500 Subject: [PATCH 5/5] fix: pin path<16.15.0 --- requirements/constraints.txt | 3 +++ requirements/devstack.txt | 3 ++- requirements/local.txt | 6 ++++-- requirements/monitoring/requirements.txt | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/requirements/constraints.txt b/requirements/constraints.txt index bb9f3a92..9e40c380 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -49,3 +49,6 @@ urllib3<1.27,>=1.25.4 # backports.zoneinfo needed for Python 3.12 + Django 4.2 compatibility # Can be removed once requirements have been upgraded with Python>=3.9 backports.zoneinfo; python_version<'3.9' + +# path>16.14.0 has removed the deprecated abspath function, which is breaking the docs build +path<16.15.0 diff --git a/requirements/devstack.txt b/requirements/devstack.txt index ac1d38aa..1932bf8a 100644 --- a/requirements/devstack.txt +++ b/requirements/devstack.txt @@ -374,8 +374,9 @@ packaging==24.1 # pytest # sphinx # tox -path==17.0.0 +path==16.14.0 # via + # -c requirements/constraints.txt # -r requirements/local.txt # edx-i18n-tools pathspec==0.12.1 diff --git a/requirements/local.txt b/requirements/local.txt index ac285236..46c62655 100644 --- a/requirements/local.txt +++ b/requirements/local.txt @@ -424,8 +424,10 @@ packaging==24.1 # pytest # sphinx # tox -path==17.0.0 - # via edx-i18n-tools +path==16.14.0 + # via + # -c requirements/constraints.txt + # edx-i18n-tools pathspec==0.12.1 # via # -r requirements/test.txt diff --git a/requirements/monitoring/requirements.txt b/requirements/monitoring/requirements.txt index d4dc1fa5..b4d0257f 100644 --- a/requirements/monitoring/requirements.txt +++ b/requirements/monitoring/requirements.txt @@ -602,7 +602,7 @@ packaging==24.1 # pytest # sphinx # tox -path==17.0.0 +path==16.14.0 # via # -r requirements/monitoring/../devstack.txt # -r requirements/monitoring/../local.txt