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

build: adding python3.11 support. #2389

Merged
merged 1 commit into from
May 7, 2024
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
12 changes: 8 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,14 @@ on:
jobs:
quality_and_translations_tests:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.8", "3.11"]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.8"
python-version: ${{ matrix.python-version }}
architecture: x64
- name: Install Dependencies
run: make requirements
Expand All @@ -33,13 +36,13 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["py38"]
python-version: ["3.8", "3.11"]
django-version: ["django42"]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.8"
python-version: ${{ matrix.python-version }}
architecture: x64
- name: Setup Nodejs Env
run: echo "NODE_VER=`cat .nvmrc`" >> $GITHUB_ENV
Expand Down Expand Up @@ -91,10 +94,11 @@ jobs:
make static
make tests
- name: Run code coverage
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
flags: unittests
fail_ci_if_error: true
token: ${{secrets.CODECOV_TOKEN}}

docs:
runs-on: ubuntu-latest
Expand Down
51 changes: 3 additions & 48 deletions requirements/all.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,15 @@ attrs==23.2.0
# -r requirements/dev.txt
# -r requirements/production.txt
# edx-ace
# jsonschema
# openedx-events
backoff==2.2.1
# via
# -r requirements/dev.txt
# -r requirements/production.txt
# segment-analytics-python
backports-zoneinfo==0.2.1
backports-zoneinfo==0.2.1 ; python_version < "3.9"
# via
# -c requirements/constraints.txt
# -r requirements/dev.txt
# -r requirements/production.txt
# django
Expand Down Expand Up @@ -117,7 +117,6 @@ cryptography==42.0.7
# via
# -r requirements/dev.txt
# -r requirements/production.txt
# paramiko
# pyjwt
# social-auth-core
ddt==1.7.2
Expand All @@ -140,10 +139,6 @@ distlib==0.3.8
# via
# -r requirements/dev.txt
# virtualenv
distro==1.9.0
# via
# -r requirements/dev.txt
# docker-compose
django==4.2.12
# via
# -c requirements/common_constraints.txt
Expand Down Expand Up @@ -250,20 +245,6 @@ dnspython==2.6.1
# -r requirements/dev.txt
# -r requirements/production.txt
# pymongo
docker[ssh]==7.0.0
# via
# -r requirements/dev.txt
# docker-compose
docker-compose==1.29.2
Copy link
Contributor Author

@awais786 awais786 Mar 26, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to move this to some where else. This is not compatible with 3.11. Its main purpose is devstack.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This requirement isn't needed anymore as there is no usage left of docker-compose v1 in this repo.

# via -r requirements/dev.txt
dockerpty==0.4.1
# via
# -r requirements/dev.txt
# docker-compose
docopt==0.6.2
# via
# -r requirements/dev.txt
# docker-compose
drf-jwt==1.19.2
# via
# -r requirements/dev.txt
Expand Down Expand Up @@ -406,10 +387,6 @@ jmespath==1.0.1
# -r requirements/production.txt
# boto3
# botocore
jsonschema==3.2.0
# via
# -r requirements/dev.txt
# docker-compose
lxml[html-clean]==5.1.1
# via
# -c requirements/constraints.txt
Expand Down Expand Up @@ -470,16 +447,11 @@ packaging==24.0
# -r requirements/dev.txt
# -r requirements/production.txt
# black
# docker
# drf-yasg
# gunicorn
# pyproject-api
# pytest
# tox
paramiko==3.4.0
# via
# -r requirements/dev.txt
# docker
path==16.14.0
# via
# -r requirements/dev.txt
Expand Down Expand Up @@ -573,7 +545,6 @@ pynacl==1.5.0
# -r requirements/dev.txt
# -r requirements/production.txt
# edx-django-utils
# paramiko
pypng==0.20220715.0
# via
# -r requirements/dev.txt
Expand Down Expand Up @@ -601,10 +572,6 @@ python-dateutil==2.9.0.post0
# edx-ace
# faker
# segment-analytics-python
python-dotenv==0.21.1
# via
# -r requirements/dev.txt
# docker-compose
python-memcached==1.62
# via
# -r requirements/dev.txt
Expand All @@ -627,13 +594,11 @@ pytz==2024.1
# drf-yasg
pywatchman==2.0.0 ; "linux" in sys_platform
# via -r requirements/dev.txt
pyyaml==5.4.1
pyyaml==6.0.1
# via
# -c requirements/constraints.txt
# -r requirements/dev.txt
# -r requirements/production.txt
# code-annotations
# docker-compose
# drf-yasg
# edx-django-release-util
# edx-i18n-tools
Expand All @@ -647,8 +612,6 @@ requests==2.31.0
# -r requirements/dev.txt
# -r requirements/production.txt
# coreapi
# docker
# docker-compose
# edx-drf-extensions
# edx-rest-api-client
# requests-oauthlib
Expand Down Expand Up @@ -693,14 +656,11 @@ six==1.16.0
# -r requirements/dev.txt
# -r requirements/production.txt
# bleach
# dockerpty
# edx-ace
# edx-auth-backends
# edx-django-release-util
# edx-lint
# jsonschema
# python-dateutil
# websocket-client
slumber==0.7.1
# via
# -r requirements/dev.txt
Expand Down Expand Up @@ -738,10 +698,6 @@ text-unidecode==1.3
# -r requirements/dev.txt
# -r requirements/production.txt
# python-slugify
texttable==1.7.0
# via
# -r requirements/dev.txt
# docker-compose
tomli==2.0.1
# via
# -r requirements/dev.txt
Expand Down Expand Up @@ -778,7 +734,6 @@ urllib3==1.26.18
# -r requirements/dev.txt
# -r requirements/production.txt
# botocore
# docker
# requests
# responses
virtualenv==20.26.1
Expand Down
6 changes: 3 additions & 3 deletions requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,9 @@ attrs==23.2.0
# openedx-events
backoff==2.2.1
# via segment-analytics-python
backports-zoneinfo==0.2.1
backports-zoneinfo==0.2.1 ; python_version < "3.9"
# via
# -c requirements/constraints.txt
# django
# djangorestframework
bleach==6.1.0
Expand Down Expand Up @@ -249,9 +250,8 @@ pytz==2024.1
# via
# -r requirements/base.in
# drf-yasg
pyyaml==5.4.1
pyyaml==6.0.1
# via
# -c requirements/constraints.txt
# code-annotations
# drf-yasg
# edx-django-release-util
Expand Down
8 changes: 4 additions & 4 deletions requirements/constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@
# Common constraints for edx repos
-c common_constraints.txt

# The update to pyyaml 6.x failed as docker-compose wants <6,>=3.10. Pinning to <6.0. This constraint will be
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

since it looks like we're not removing Python 3.8 support, will this break for Python 3.8?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like this was more of an issue of incompatibility with an old version of docker-compose but that package is no longer needed.

Pyyaml 6.x is compatible with Python 3.8 and 3.11

# re-evaluated as part of APER-1556.
pyyaml<6.0

# Pinning urllib3 to versions < 2.x as this conflicts with boto. This constraint will be re-evaluated as part of
# APER-2422
urllib3<2


# Temporary to Support the python 3.11 Upgrade
backports.zoneinfo;python_version<"3.9" # Newer versions have zoneinfo available in the standard library

# Pinning lxml to < 5.2 as edx-i18n-tools package needs to be updated.
# Release notes: https://pypi.org/project/lxml/5.2.0/
# Github issue: https://github.com/openedx/i18n-tools/issues/144
Expand Down
2 changes: 0 additions & 2 deletions requirements/dev.in
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@
# i18n
edx-i18n-tools

# for docker devstack
docker-compose

# More efficient checking for runserver reload trigger events
pywatchman; "linux" in sys_platform
Expand Down
Loading
Loading