From 5677134ca7f9dab4b210b6b3cca3c6ba3c992092 Mon Sep 17 00:00:00 2001 From: aarif Date: Tue, 19 Nov 2019 12:29:50 +0500 Subject: [PATCH 01/40] ran python-modernize and isort on the repo --- concept/concept.py | 9 ++++++--- setup.py | 3 +++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/concept/concept.py b/concept/concept.py index d86d72b..eb3fcaa 100644 --- a/concept/concept.py +++ b/concept/concept.py @@ -2,14 +2,17 @@ can integrate with the LMS more easily than with Studio, so it's in many ways an easier environment where to do this.""" -import pkg_resources +from __future__ import absolute_import -import json, requests +import json +import pkg_resources from xblock.core import XBlock -from xblock.fields import Scope, Integer, String +from xblock.fields import Integer, Scope, String from xblock.fragment import Fragment +import requests + class ConceptXBlock(XBlock): """ diff --git a/setup.py b/setup.py index 44313bf..406d173 100644 --- a/setup.py +++ b/setup.py @@ -1,6 +1,9 @@ """Setup for concept XBlock.""" +from __future__ import absolute_import + import os + from setuptools import setup From fe6876a42ee1d0d244f0c6e10ad412481da3b7a4 Mon Sep 17 00:00:00 2001 From: Eric Herrera Date: Sun, 28 Jun 2020 08:31:58 -0500 Subject: [PATCH 02/40] Add setup.py install_requirements definition. Create requirements folder. create pip_tools and base requirements files. Add Makefile. Add makefile upgrade command. Include requirements files generated using upgrade command. Update openedx.yaml OEPs list. --- Makefile | 5 +++++ openedx.yaml | 10 ++++++++++ requirements/base.in | 4 ++++ requirements/base.txt | 21 +++++++++++++++++++++ requirements/constraints.txt | 9 +++++++++ requirements/pip_tools.in | 4 ++++ requirements/pip_tools.txt | 12 ++++++++++++ setup.py | 27 ++++++++++++++++++++++++--- 8 files changed, 89 insertions(+), 3 deletions(-) create mode 100644 Makefile create mode 100644 openedx.yaml create mode 100644 requirements/base.in create mode 100644 requirements/base.txt create mode 100644 requirements/constraints.txt create mode 100644 requirements/pip_tools.in create mode 100644 requirements/pip_tools.txt diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..64bd113 --- /dev/null +++ b/Makefile @@ -0,0 +1,5 @@ +upgrade: export CUSTOM_COMPILE_COMMAND=make upgrade +upgrade: ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in + pip install -q -r requirements/pip_tools.txt + pip-compile --upgrade -o requirements/pip_tools.txt requirements/pip_tools.in + pip-compile --upgrade -o requirements/base.txt requirements/base.in diff --git a/openedx.yaml b/openedx.yaml new file mode 100644 index 0000000..f99cd3c --- /dev/null +++ b/openedx.yaml @@ -0,0 +1,10 @@ +# This file describes this Open edX repo, as described in OEP-2: +# https://open-edx-proposals.readthedocs.io/en/latest/oep-0002-bp-repo-metadata.html#specification + +oeps: + oep-2: True + oep-7: True + oep-18: True + +tags: + - xblock diff --git a/requirements/base.in b/requirements/base.in new file mode 100644 index 0000000..45fea65 --- /dev/null +++ b/requirements/base.in @@ -0,0 +1,4 @@ +# Core requirements for using this package +-c constraints.txt + +XBlock diff --git a/requirements/base.txt b/requirements/base.txt new file mode 100644 index 0000000..de71e9c --- /dev/null +++ b/requirements/base.txt @@ -0,0 +1,21 @@ +# +# This file is autogenerated by pip-compile +# To update, run: +# +# make upgrade +# +appdirs==1.4.4 # via fs +fs==2.4.11 # via xblock +lxml==4.5.1 # via xblock +markupsafe==1.1.1 # via xblock +python-dateutil==2.8.1 # via xblock +pytz==2020.1 # via fs, xblock +pyyaml==5.3.1 # via xblock +six==1.15.0 # via fs, python-dateutil, xblock +typing==3.7.4.1 # via fs +web-fragments==0.3.2 # via xblock +webob==1.8.6 # via xblock +xblock==1.3.1 # via -r requirements/base.in + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/requirements/constraints.txt b/requirements/constraints.txt new file mode 100644 index 0000000..94595ab --- /dev/null +++ b/requirements/constraints.txt @@ -0,0 +1,9 @@ +# Version constraints for pip-installation. +# +# This file doesn't install any packages. It specifies version constraints +# that will be applied if a package is needed. +# +# When pinning something here, please provide an explanation of why. Ideally, +# link to other information that will help people in the future to remove the +# pin when possible. Writing an issue against the offending project and +# linking to it here is good. diff --git a/requirements/pip_tools.in b/requirements/pip_tools.in new file mode 100644 index 0000000..caf45a9 --- /dev/null +++ b/requirements/pip_tools.in @@ -0,0 +1,4 @@ + # Dependencies to run compile tools +-c constraints.txt + +pip-tools # Contains pip-compile, used to generate pip requirements files diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt new file mode 100644 index 0000000..279019f --- /dev/null +++ b/requirements/pip_tools.txt @@ -0,0 +1,12 @@ +# +# This file is autogenerated by pip-compile +# To update, run: +# +# make upgrade +# +click==7.1.2 # via pip-tools +pip-tools==5.2.1 # via -r requirements/pip_tools.in +six==1.15.0 # via pip-tools + +# The following packages are considered to be unsafe in a requirements file: +# pip diff --git a/setup.py b/setup.py index 406d173..a349bef 100644 --- a/setup.py +++ b/setup.py @@ -17,6 +17,29 @@ def package_data(pkg, root): return {pkg: data} +def load_requirements(*requirements_paths): + """ + Load all requirements from the specified requirements files. + Returns a list of requirement strings. + """ + requirements = set() + for path in requirements_paths: + with open(path) as reqs: + requirements.update( + line.split('#')[0].strip() for line in reqs + if is_requirement(line.strip()) + ) + return list(requirements) + + +def is_requirement(line): + """ + Return True if the requirement line is a package requirement; + that is, it is not blank, a comment, a URL, or an included file. + """ + return line and not line.startswith(('-r', '#', '-e', 'git+', '-c')) + + setup( name='concept-xblock', version='0.1', @@ -24,9 +47,7 @@ def package_data(pkg, root): packages=[ 'concept', ], - install_requires=[ - 'XBlock', - ], + install_requires=load_requirements('requirements/base.in'), entry_points={ 'xblock.v1': [ 'concept = concept:ConceptXBlock', From 71440d23ed796f036c8e12734dd6feaee126a70a Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Tue, 12 Jan 2021 06:46:30 -0500 Subject: [PATCH 03/40] Python code cleanup by the cleanup-python-code Jenkins job. This pull request was generated by the cleanup-python-code Jenkins job, which ran ``` make upgrade;find . -type f -name '*.py' | while read fname; do pyupgrade --exit-zero-even-if-changed --keep-percent-format --py3-plus --py36-plus --py38-plus "$fname"; done ``` The following packages were installed: `pyupgrade,git+https://github.com/edx/repo-tools.git@c05453b733602ba7a2224ffbbf58a8d0903b62d8` --- concept/concept.py | 1 - requirements/base.txt | 7 +++---- requirements/pip_tools.txt | 3 +-- setup.py | 1 - 4 files changed, 4 insertions(+), 8 deletions(-) diff --git a/concept/concept.py b/concept/concept.py index eb3fcaa..e463495 100644 --- a/concept/concept.py +++ b/concept/concept.py @@ -2,7 +2,6 @@ can integrate with the LMS more easily than with Studio, so it's in many ways an easier environment where to do this.""" -from __future__ import absolute_import import json diff --git a/requirements/base.txt b/requirements/base.txt index de71e9c..319e30d 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -6,16 +6,15 @@ # appdirs==1.4.4 # via fs fs==2.4.11 # via xblock -lxml==4.5.1 # via xblock +lxml==4.6.2 # via xblock markupsafe==1.1.1 # via xblock python-dateutil==2.8.1 # via xblock -pytz==2020.1 # via fs, xblock +pytz==2020.5 # via fs, xblock pyyaml==5.3.1 # via xblock six==1.15.0 # via fs, python-dateutil, xblock -typing==3.7.4.1 # via fs web-fragments==0.3.2 # via xblock webob==1.8.6 # via xblock -xblock==1.3.1 # via -r requirements/base.in +xblock==1.4.0 # via -r requirements/base.in # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt index 279019f..a6f6c30 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -5,8 +5,7 @@ # make upgrade # click==7.1.2 # via pip-tools -pip-tools==5.2.1 # via -r requirements/pip_tools.in -six==1.15.0 # via pip-tools +pip-tools==5.5.0 # via -r requirements/pip_tools.in # The following packages are considered to be unsafe in a requirements file: # pip diff --git a/setup.py b/setup.py index a349bef..4506afa 100644 --- a/setup.py +++ b/setup.py @@ -1,6 +1,5 @@ """Setup for concept XBlock.""" -from __future__ import absolute_import import os From 12bd6ba3f1cf35a3c3a28ce34a44a40bafedb7b0 Mon Sep 17 00:00:00 2001 From: Jawayria <39649635+Jawayria@users.noreply.github.com> Date: Tue, 11 May 2021 13:33:11 +0500 Subject: [PATCH 04/40] feat: Added upgrade-python-requirements workflow --- .../workflows/upgrade-python-requirements.yml | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 .github/workflows/upgrade-python-requirements.yml diff --git a/.github/workflows/upgrade-python-requirements.yml b/.github/workflows/upgrade-python-requirements.yml new file mode 100644 index 0000000..56ec0aa --- /dev/null +++ b/.github/workflows/upgrade-python-requirements.yml @@ -0,0 +1,68 @@ +name: Upgrade Requirements + +on: + schedule: + # will start the job at 03:30 UTC every Wednesday + - cron: "30 3 * * 3" + workflow_dispatch: + inputs: + branch: + description: "Target branch to create requirements PR against" + required: true + default: 'master' + +jobs: + upgrade_requirements: + runs-on: ubuntu-20.04 + + strategy: + matrix: + python-version: ["3.8"] + + steps: + - name: setup target branch + run: echo "target_branch=$(if ['${{ github.event.inputs.branch }}' = '']; then echo 'master'; else echo '${{ github.event.inputs.branch }}'; fi)" >> $GITHUB_ENV + + - uses: actions/checkout@v1 + with: + ref: ${{ env.target_branch }} + + - name: setup python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: make upgrade + run: | + cd $GITHUB_WORKSPACE + make upgrade + + - name: setup testeng-ci + run: | + git clone https://github.com/edx/testeng-ci.git + cd $GITHUB_WORKSPACE/testeng-ci + pip install -r requirements/base.txt + - name: create pull request + env: + GITHUB_TOKEN: ${{ secrets.REQUIREMENTS_BOT_GITHUB_TOKEN }} + GITHUB_USER_EMAIL: ${{ secrets.REQUIREMENTS_BOT_GITHUB_EMAIL }} + run: | + cd $GITHUB_WORKSPACE/testeng-ci + python -m jenkins.pull_request_creator --repo-root=$GITHUB_WORKSPACE \ + --target-branch="${{ env.target_branch }}" --base-branch-name="upgrade-python-requirements" \ + --commit-message="chore: Updating Python Requirements" --pr-title="Python Requirements Update" \ + --pr-body="Python requirements update.Please review the [changelogs](https://openedx.atlassian.net/wiki/spaces/TE/pages/1001521320/Python+Package+Changelogs) for the upgraded packages." \ + --user-reviewers="" --team-reviewers="teaching-and-learning" --delete-old-pull-requests + + - name: Send failure notification + if: ${{ failure() }} + uses: dawidd6/action-send-mail@v3 + with: + server_address: email-smtp.us-east-1.amazonaws.com + server_port: 465 + username: ${{secrets.EDX_SMTP_USERNAME}} + password: ${{secrets.EDX_SMTP_PASSWORD}} + subject: Upgrade python requirements workflow failed in ${{github.repository}} + to: teaching-and-learning@edx.opsgenie.net + from: github-actions + body: Upgrade python requirements workflow in ${{github.repository}} failed! For details see "github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" From 8f885ca5673aa14dd83b045fd6b29b8a70c9adfe Mon Sep 17 00:00:00 2001 From: Sarina Canelake Date: Mon, 24 May 2021 17:18:55 -0400 Subject: [PATCH 05/40] build: update escalation email address s/teaching-and-learning@edx.opsgenie.net/community-engineering@edx.opsgenie.net/ --- .github/workflows/upgrade-python-requirements.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/upgrade-python-requirements.yml b/.github/workflows/upgrade-python-requirements.yml index 56ec0aa..8342611 100644 --- a/.github/workflows/upgrade-python-requirements.yml +++ b/.github/workflows/upgrade-python-requirements.yml @@ -52,7 +52,7 @@ jobs: --target-branch="${{ env.target_branch }}" --base-branch-name="upgrade-python-requirements" \ --commit-message="chore: Updating Python Requirements" --pr-title="Python Requirements Update" \ --pr-body="Python requirements update.Please review the [changelogs](https://openedx.atlassian.net/wiki/spaces/TE/pages/1001521320/Python+Package+Changelogs) for the upgraded packages." \ - --user-reviewers="" --team-reviewers="teaching-and-learning" --delete-old-pull-requests + --user-reviewers="" --team-reviewers="community-engineering" --delete-old-pull-requests - name: Send failure notification if: ${{ failure() }} @@ -63,6 +63,6 @@ jobs: username: ${{secrets.EDX_SMTP_USERNAME}} password: ${{secrets.EDX_SMTP_PASSWORD}} subject: Upgrade python requirements workflow failed in ${{github.repository}} - to: teaching-and-learning@edx.opsgenie.net + to: community-engineering@edx.opsgenie.net from: github-actions body: Upgrade python requirements workflow in ${{github.repository}} failed! For details see "github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" From 565e0d9bccea6f000c58af5011d31dfe509d485f Mon Sep 17 00:00:00 2001 From: stvn Date: Wed, 26 May 2021 10:34:24 -0700 Subject: [PATCH 06/40] build: add CODEOWNERS; edx/community-engineering Background ========== As part of our Squad-based ownership, we should stay on top of what happens in these repositories. However, due to the number of repositories (and subsequently pull requests) across the edX ecosystem, it is challenging to stay on top of notifications, separating the 'signal' from the 'noise'. Email filters can go a long way to taming Inbox notifications, but this is manual and requires maintenance as Squad ownership changes. It also fails to account for Github-specific behavior. Proposal ======== By leveraging Github support for `CODEOWNERS` files [1], we can ensure that our team is at least CCed explicitly, here, in the form a requested review. This request is just that, a request, not a requirement; we are not enacting any new merge requirements at this time. - [1] https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners --- .github/CODEOWNERS | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/CODEOWNERS diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..d0c8142 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @edx/community-engineering From 9794819d2706ad81fef14fe429ee1d7164055cd2 Mon Sep 17 00:00:00 2001 From: Sarina Canelake Date: Wed, 26 May 2021 20:34:34 -0400 Subject: [PATCH 07/40] build: remove OpsGenie alert for Python upgrade failures The Community Engineering team has agreed that we would only like to get tagged on Python upgrade notifications, not paged in Ops Genie. This PR removes OG notification and also removes the team-reviewers as that was not working; we are moving to being tagged in the CODEOWNERS file --- .github/workflows/upgrade-python-requirements.yml | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/.github/workflows/upgrade-python-requirements.yml b/.github/workflows/upgrade-python-requirements.yml index 8342611..e94724d 100644 --- a/.github/workflows/upgrade-python-requirements.yml +++ b/.github/workflows/upgrade-python-requirements.yml @@ -52,17 +52,4 @@ jobs: --target-branch="${{ env.target_branch }}" --base-branch-name="upgrade-python-requirements" \ --commit-message="chore: Updating Python Requirements" --pr-title="Python Requirements Update" \ --pr-body="Python requirements update.Please review the [changelogs](https://openedx.atlassian.net/wiki/spaces/TE/pages/1001521320/Python+Package+Changelogs) for the upgraded packages." \ - --user-reviewers="" --team-reviewers="community-engineering" --delete-old-pull-requests - - - name: Send failure notification - if: ${{ failure() }} - uses: dawidd6/action-send-mail@v3 - with: - server_address: email-smtp.us-east-1.amazonaws.com - server_port: 465 - username: ${{secrets.EDX_SMTP_USERNAME}} - password: ${{secrets.EDX_SMTP_PASSWORD}} - subject: Upgrade python requirements workflow failed in ${{github.repository}} - to: community-engineering@edx.opsgenie.net - from: github-actions - body: Upgrade python requirements workflow in ${{github.repository}} failed! For details see "github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" + --user-reviewers="" --team-reviewers="" --delete-old-pull-requests From e4f2221676066ad7cddde7565c9383431f81c97a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 11 Jun 2021 16:16:10 +0000 Subject: [PATCH 08/40] Bump lxml from 4.6.2 to 4.6.3 in /requirements Bumps [lxml](https://github.com/lxml/lxml) from 4.6.2 to 4.6.3. - [Release notes](https://github.com/lxml/lxml/releases) - [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt) - [Commits](https://github.com/lxml/lxml/compare/lxml-4.6.2...lxml-4.6.3) --- updated-dependencies: - dependency-name: lxml dependency-type: indirect ... Signed-off-by: dependabot[bot] --- requirements/base.txt | 38 +++++++++++++++++++++++++++----------- 1 file changed, 27 insertions(+), 11 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index 319e30d..ff68d41 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -4,17 +4,33 @@ # # make upgrade # -appdirs==1.4.4 # via fs -fs==2.4.11 # via xblock -lxml==4.6.2 # via xblock -markupsafe==1.1.1 # via xblock -python-dateutil==2.8.1 # via xblock -pytz==2020.5 # via fs, xblock -pyyaml==5.3.1 # via xblock -six==1.15.0 # via fs, python-dateutil, xblock -web-fragments==0.3.2 # via xblock -webob==1.8.6 # via xblock -xblock==1.4.0 # via -r requirements/base.in +appdirs==1.4.4 + # via fs +fs==2.4.11 + # via xblock +lxml==4.6.3 + # via xblock +markupsafe==1.1.1 + # via xblock +python-dateutil==2.8.1 + # via xblock +pytz==2020.5 + # via + # fs + # xblock +pyyaml==5.3.1 + # via xblock +six==1.15.0 + # via + # fs + # python-dateutil + # xblock +web-fragments==0.3.2 + # via xblock +webob==1.8.6 + # via xblock +xblock==1.4.0 + # via -r base.in # The following packages are considered to be unsafe in a requirements file: # setuptools From 70de89ddb74ece93d264804246ab19a47b35a1b3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 11 Jun 2021 16:18:32 +0000 Subject: [PATCH 09/40] Bump pyyaml from 5.3.1 to 5.4 in /requirements Bumps [pyyaml](https://github.com/yaml/pyyaml) from 5.3.1 to 5.4. - [Release notes](https://github.com/yaml/pyyaml/releases) - [Changelog](https://github.com/yaml/pyyaml/blob/master/CHANGES) - [Commits](https://github.com/yaml/pyyaml/compare/5.3.1...5.4) --- updated-dependencies: - dependency-name: pyyaml dependency-type: indirect ... Signed-off-by: dependabot[bot] --- requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/base.txt b/requirements/base.txt index ff68d41..b7f7d1c 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -18,7 +18,7 @@ pytz==2020.5 # via # fs # xblock -pyyaml==5.3.1 +pyyaml==5.4 # via xblock six==1.15.0 # via From 7334bb4cf6ab279fb76470ae72e49483efdeb6b6 Mon Sep 17 00:00:00 2001 From: stvn Date: Fri, 11 Jun 2021 23:08:59 -0700 Subject: [PATCH 10/40] build(deps): local add common_constraints file --- Makefile | 7 ++++++- requirements/common_constraints.txt | 26 ++++++++++++++++++++++++++ requirements/constraints.txt | 3 +++ 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 requirements/common_constraints.txt diff --git a/Makefile b/Makefile index 64bd113..bc5094b 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,10 @@ +COMMON_CONSTRAINTS_TXT=requirements/common_constraints.txt +.PHONY: $(COMMON_CONSTRAINTS_TXT) +$(COMMON_CONSTRAINTS_TXT): + wget -O "$(@)" https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt || touch "$(@)" + upgrade: export CUSTOM_COMPILE_COMMAND=make upgrade -upgrade: ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in +upgrade: $(COMMON_CONSTRAINTS_TXT) ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in pip install -q -r requirements/pip_tools.txt pip-compile --upgrade -o requirements/pip_tools.txt requirements/pip_tools.in pip-compile --upgrade -o requirements/base.txt requirements/base.in diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt new file mode 100644 index 0000000..7665aac --- /dev/null +++ b/requirements/common_constraints.txt @@ -0,0 +1,26 @@ +# A central location for most common version constraints +# (across edx repos) for pip-installation. +# +# Similar to other constraint files this file doesn't install any packages. +# It specifies version constraints that will be applied if a package is needed. +# When pinning something here, please provide an explanation of why it is a good +# idea to pin this package across all edx repos, Ideally, link to other information +# that will help people in the future to remove the pin when possible. +# Writing an issue against the offending project and linking to it here is good. +# +# Note: Changes to this file will automatically be used by other repos, referencing +# this file from Github directly. It does not require packaging in edx-lint. + + +# using LTS django version +Django<2.3 + +# docutils version 0.17 is causing docs rendering to fail +# See https://sourceforge.net/p/docutils/bugs/417/ +docutils==0.16 + +# latest version is causing e2e failures in edx-platform. +drf-jwt<1.19.1 + +# Newer versions causing tests failures in multiple repos. +pyjwt[crypto]==1.7.1 diff --git a/requirements/constraints.txt b/requirements/constraints.txt index 94595ab..a51cb08 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -7,3 +7,6 @@ # link to other information that will help people in the future to remove the # pin when possible. Writing an issue against the offending project and # linking to it here is good. + +# Common constraints for edx repos +-c common_constraints.txt From 63765381a0584b2067baf3701b1886c60b667e3f Mon Sep 17 00:00:00 2001 From: stvn Date: Fri, 11 Jun 2021 23:09:38 -0700 Subject: [PATCH 11/40] build(deps): run `make upgrade` --- requirements/base.txt | 19 +++++++++---------- requirements/pip_tools.txt | 10 ++++++++-- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index b7f7d1c..1886ac9 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -6,31 +6,30 @@ # appdirs==1.4.4 # via fs -fs==2.4.11 +fs==2.4.13 # via xblock lxml==4.6.3 # via xblock -markupsafe==1.1.1 +markupsafe==2.0.1 # via xblock python-dateutil==2.8.1 # via xblock -pytz==2020.5 +pytz==2021.1 # via # fs # xblock -pyyaml==5.4 +pyyaml==5.4.1 # via xblock -six==1.15.0 +six==1.16.0 # via # fs # python-dateutil - # xblock -web-fragments==0.3.2 +web-fragments==1.0.0 # via xblock -webob==1.8.6 +webob==1.8.7 # via xblock -xblock==1.4.0 - # via -r base.in +xblock==1.4.2 + # via -r requirements/base.in # The following packages are considered to be unsafe in a requirements file: # setuptools diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt index a6f6c30..322a867 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -4,8 +4,14 @@ # # make upgrade # -click==7.1.2 # via pip-tools -pip-tools==5.5.0 # via -r requirements/pip_tools.in +click==8.0.1 + # via pip-tools +pep517==0.10.0 + # via pip-tools +pip-tools==6.1.0 + # via -r requirements/pip_tools.in +toml==0.10.2 + # via pep517 # The following packages are considered to be unsafe in a requirements file: # pip From 268c006357f4e8a68e31828bef4df7d6d4a5793f Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Wed, 23 Jun 2021 08:36:40 +0500 Subject: [PATCH 12/40] chore: Updating Python Requirements --- requirements/pip_tools.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt index 322a867..26f4157 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -8,10 +8,13 @@ click==8.0.1 # via pip-tools pep517==0.10.0 # via pip-tools -pip-tools==6.1.0 +pip-tools==6.2.0 # via -r requirements/pip_tools.in toml==0.10.2 # via pep517 +wheel==0.36.2 + # via pip-tools # The following packages are considered to be unsafe in a requirements file: # pip +# setuptools From 4bd96eb2ba7563b931bbdd88a4a3fc784810b7e3 Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Wed, 30 Jun 2021 08:36:33 +0500 Subject: [PATCH 13/40] chore: Updating Python Requirements --- requirements/base.txt | 2 +- requirements/pip_tools.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index 1886ac9..10384c3 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile +# This file is autogenerated by pip-compile with python 3.8 # To update, run: # # make upgrade diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt index 26f4157..cc29ef7 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile +# This file is autogenerated by pip-compile with python 3.8 # To update, run: # # make upgrade From 20e78a6e218d69a7bc44217b0b50294dec0a690c Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Wed, 11 Aug 2021 08:36:23 +0500 Subject: [PATCH 14/40] chore: Updating Python Requirements --- requirements/base.txt | 6 +++--- requirements/common_constraints.txt | 25 +++++++++++++++++++------ requirements/pip_tools.txt | 6 +++--- 3 files changed, 25 insertions(+), 12 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index 10384c3..75cea3d 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -12,7 +12,7 @@ lxml==4.6.3 # via xblock markupsafe==2.0.1 # via xblock -python-dateutil==2.8.1 +python-dateutil==2.8.2 # via xblock pytz==2021.1 # via @@ -24,11 +24,11 @@ six==1.16.0 # via # fs # python-dateutil -web-fragments==1.0.0 +web-fragments==1.1.0 # via xblock webob==1.8.7 # via xblock -xblock==1.4.2 +xblock==1.5.0 # via -r requirements/base.in # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index 7665aac..ed28441 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -15,12 +15,25 @@ # using LTS django version Django<2.3 -# docutils version 0.17 is causing docs rendering to fail -# See https://sourceforge.net/p/docutils/bugs/417/ -docutils==0.16 - # latest version is causing e2e failures in edx-platform. +# See pyjwt[crypto]<2.0.0 comment. drf-jwt<1.19.1 -# Newer versions causing tests failures in multiple repos. -pyjwt[crypto]==1.7.1 +# 4.0.0 requires pyjwt[crypto] 2.1.0. See pyjwt[crypto]<2.0.0 comment. +edx-auth-backends<4.0.0 + +# 7.0.0 requires pyjwt[crypto] 2.1.0. See pyjwt[crypto]<2.0.0 comment. +edx-drf-extensions<7.0.0 + +# PyJWT[crypto] 2.0.0 has a number of breaking changes that we are +# actively working to fix. A number of the active constraints are all related +# to this effort. Additionally, your IDA/service may also be affected directly +# by these changes. You should not upgrade without knowing what you are doing. +pyjwt[crypto]<2.0.0 + +# 5.0.0+ of social-auth-app-django requires social-auth-core>=4.1.0 +social-auth-app-django<5.0.0 + +# latest version requires PyJWT>=2.0.0 but drf-jwt requires PyJWT[crypto]<2.0.0,>=1.5.2. +# See pyjwt[crypto]<2.0.0 comment. +social-auth-core<4.0.3 diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt index cc29ef7..ac3012f 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -6,13 +6,13 @@ # click==8.0.1 # via pip-tools -pep517==0.10.0 +pep517==0.11.0 # via pip-tools pip-tools==6.2.0 # via -r requirements/pip_tools.in -toml==0.10.2 +tomli==1.2.1 # via pep517 -wheel==0.36.2 +wheel==0.37.0 # via pip-tools # The following packages are considered to be unsafe in a requirements file: From baa5ad745b90e994b1ec8acda8bfe3afc48e6867 Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Wed, 25 Aug 2021 08:34:36 +0500 Subject: [PATCH 15/40] chore: Updating Python Requirements --- requirements/common_constraints.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index ed28441..cc16c07 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -37,3 +37,7 @@ social-auth-app-django<5.0.0 # latest version requires PyJWT>=2.0.0 but drf-jwt requires PyJWT[crypto]<2.0.0,>=1.5.2. # See pyjwt[crypto]<2.0.0 comment. social-auth-core<4.0.3 + +# 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 +elasticsearch<7.14.0 From 524cef87b1586f22bb0c650415768700eb0923e1 Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Thu, 7 Oct 2021 13:48:18 -0400 Subject: [PATCH 16/40] build: use the organization commitlint check --- .github/workflows/commitlint.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .github/workflows/commitlint.yml diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml new file mode 100644 index 0000000..e2b0661 --- /dev/null +++ b/.github/workflows/commitlint.yml @@ -0,0 +1,10 @@ +# Run commitlint on the commit messages in a pull request. + +name: Lint Commit Messages + +on: + - pull_request + +jobs: + commitlint: + uses: edx/.github/.github/workflows/commitlint.yml@master From 50c8b3b65999fb4bac60f6f18270d2ea44c95420 Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Wed, 13 Oct 2021 08:34:41 +0500 Subject: [PATCH 17/40] chore: Updating Python Requirements --- requirements/base.txt | 4 ++-- requirements/common_constraints.txt | 19 ------------------- requirements/pip_tools.txt | 4 ++-- 3 files changed, 4 insertions(+), 23 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index 75cea3d..b73f860 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -14,7 +14,7 @@ markupsafe==2.0.1 # via xblock python-dateutil==2.8.2 # via xblock -pytz==2021.1 +pytz==2021.3 # via # fs # xblock @@ -28,7 +28,7 @@ web-fragments==1.1.0 # via xblock webob==1.8.7 # via xblock -xblock==1.5.0 +xblock==1.5.1 # via -r requirements/base.in # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index cc16c07..a0189aa 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -19,25 +19,6 @@ Django<2.3 # See pyjwt[crypto]<2.0.0 comment. drf-jwt<1.19.1 -# 4.0.0 requires pyjwt[crypto] 2.1.0. See pyjwt[crypto]<2.0.0 comment. -edx-auth-backends<4.0.0 - -# 7.0.0 requires pyjwt[crypto] 2.1.0. See pyjwt[crypto]<2.0.0 comment. -edx-drf-extensions<7.0.0 - -# PyJWT[crypto] 2.0.0 has a number of breaking changes that we are -# actively working to fix. A number of the active constraints are all related -# to this effort. Additionally, your IDA/service may also be affected directly -# by these changes. You should not upgrade without knowing what you are doing. -pyjwt[crypto]<2.0.0 - -# 5.0.0+ of social-auth-app-django requires social-auth-core>=4.1.0 -social-auth-app-django<5.0.0 - -# latest version requires PyJWT>=2.0.0 but drf-jwt requires PyJWT[crypto]<2.0.0,>=1.5.2. -# See pyjwt[crypto]<2.0.0 comment. -social-auth-core<4.0.3 - # 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 elasticsearch<7.14.0 diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt index ac3012f..3006d2b 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -4,11 +4,11 @@ # # make upgrade # -click==8.0.1 +click==8.0.3 # via pip-tools pep517==0.11.0 # via pip-tools -pip-tools==6.2.0 +pip-tools==6.4.0 # via -r requirements/pip_tools.in tomli==1.2.1 # via pep517 From 25f73fa0a59484dff6a027c2d969a8db9e422f26 Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Wed, 20 Oct 2021 08:34:40 +0500 Subject: [PATCH 18/40] chore: Updating Python Requirements --- requirements/base.txt | 2 +- requirements/common_constraints.txt | 4 ---- requirements/pip_tools.txt | 2 +- 3 files changed, 2 insertions(+), 6 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index b73f860..c32547d 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -18,7 +18,7 @@ pytz==2021.3 # via # fs # xblock -pyyaml==5.4.1 +pyyaml==6.0 # via xblock six==1.16.0 # via diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index a0189aa..881ec4f 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -15,10 +15,6 @@ # using LTS django version Django<2.3 -# latest version is causing e2e failures in edx-platform. -# See pyjwt[crypto]<2.0.0 comment. -drf-jwt<1.19.1 - # 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 elasticsearch<7.14.0 diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt index 3006d2b..ae77653 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -6,7 +6,7 @@ # click==8.0.3 # via pip-tools -pep517==0.11.0 +pep517==0.12.0 # via pip-tools pip-tools==6.4.0 # via -r requirements/pip_tools.in From b5c485adae0d30cd212cb6a3ca79a372c7705421 Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Wed, 27 Oct 2021 08:35:10 +0500 Subject: [PATCH 19/40] chore: Updating Python Requirements --- requirements/pip_tools.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt index ae77653..2aea4ec 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -10,7 +10,7 @@ pep517==0.12.0 # via pip-tools pip-tools==6.4.0 # via -r requirements/pip_tools.in -tomli==1.2.1 +tomli==1.2.2 # via pep517 wheel==0.37.0 # via pip-tools From 94f178b7bf7f5e4f7a6830608511da01f7b0aa0f Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Wed, 3 Nov 2021 08:34:58 +0500 Subject: [PATCH 20/40] chore: Updating Python Requirements --- requirements/base.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/base.txt b/requirements/base.txt index c32547d..f289a95 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -8,7 +8,7 @@ appdirs==1.4.4 # via fs fs==2.4.13 # via xblock -lxml==4.6.3 +lxml==4.6.4 # via xblock markupsafe==2.0.1 # via xblock From 8b39cfb49ca33d1ec0906caeb8a1d2125791f83f Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Thu, 4 Nov 2021 17:26:18 +0500 Subject: [PATCH 21/40] feat: advertise constraints in setup.py --- setup.py | 59 +++++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 50 insertions(+), 9 deletions(-) diff --git a/setup.py b/setup.py index 4506afa..05c4027 100644 --- a/setup.py +++ b/setup.py @@ -2,6 +2,7 @@ import os +import re from setuptools import setup @@ -16,27 +17,67 @@ def package_data(pkg, root): return {pkg: data} +# UPDATED VIA SEMGREP - if you need to remove/modify this method remove this line and add a comment specifying why. def load_requirements(*requirements_paths): """ Load all requirements from the specified requirements files. + + Requirements will include any constraints from files specified + with -c in the requirements files. Returns a list of requirement strings. """ - requirements = set() + requirements = {} + constraint_files = set() + + # groups "my-package-name<=x.y.z,..." into ("my-package-name", "<=x.y.z,...") + requirement_line_regex = re.compile(r"([a-zA-Z0-9-_.]+)([<>=][^#\s]+)?") + + def add_version_constraint_or_raise(current_line, current_requirements, add_if_not_present): + regex_match = requirement_line_regex.match(current_line) + if regex_match: + package = regex_match.group(1) + version_constraints = regex_match.group(2) + existing_version_constraints = current_requirements.get(package, None) + # it's fine to add constraints to an unconstrained package, but raise an error if there are already + # constraints in place + if existing_version_constraints and existing_version_constraints != version_constraints: + raise BaseException(f'Multiple constraint definitions found for {package}:' + f' {existing_version_constraints} and {version_constraints}.' + f'Combine constraints into one location with {package}' + f'{existing_version_constraints},{version_constraints}.') + if add_if_not_present or package in current_requirements: + current_requirements[package] = version_constraints + + # process .in files and store the path to any constraint files that are pulled in for path in requirements_paths: with open(path) as reqs: - requirements.update( - line.split('#')[0].strip() for line in reqs - if is_requirement(line.strip()) - ) - return list(requirements) + for line in reqs: + if is_requirement(line): + add_version_constraint_or_raise(line, requirements, True) + if line and line.startswith('-c') and not line.startswith('-c http'): + constraint_files.add(os.path.dirname(path) + '/' + line.split('#')[0].replace('-c', '').strip()) + # process constraint files and add any new constraints found to existing requirements + for constraint_file in constraint_files: + with open(constraint_file) as reader: + for line in reader: + if is_requirement(line): + add_version_constraint_or_raise(line, requirements, False) + # process back into list of pkg><=constraints strings + return [f'{pkg}{version or ""}' for (pkg, version) in sorted(requirements.items())] + + +# UPDATED VIA SEMGREP - if you need to remove/modify this method remove this line and add a comment specifying why def is_requirement(line): """ - Return True if the requirement line is a package requirement; - that is, it is not blank, a comment, a URL, or an included file. + Return True if the requirement line is a package requirement. + + Returns: + bool: True if the line is not blank, a comment, + a URL, or an included file """ - return line and not line.startswith(('-r', '#', '-e', 'git+', '-c')) + return line and line.strip() and not line.startswith(('-r', '#', '-e', 'git+', '-c')) setup( From 9848fe83bcfcdeb8b1ac90db1e350de9803aa32a Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Wed, 17 Nov 2021 08:34:54 +0500 Subject: [PATCH 22/40] chore: Updating Python Requirements --- requirements/base.txt | 2 +- requirements/common_constraints.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index f289a95..6d8a038 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -6,7 +6,7 @@ # appdirs==1.4.4 # via fs -fs==2.4.13 +fs==2.4.14 # via xblock lxml==4.6.4 # via xblock diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index 881ec4f..9eb5a46 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -13,7 +13,7 @@ # using LTS django version -Django<2.3 +Django<3.3 # 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 From d05732a78dd31416a97c204805d97b4d5f2f1c0d Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Tue, 14 Dec 2021 22:35:09 -0500 Subject: [PATCH 23/40] chore: Updating Python Requirements --- requirements/base.txt | 4 ++-- requirements/pip_tools.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index 6d8a038..14996c4 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -8,7 +8,7 @@ appdirs==1.4.4 # via fs fs==2.4.14 # via xblock -lxml==4.6.4 +lxml==4.7.1 # via xblock markupsafe==2.0.1 # via xblock @@ -24,7 +24,7 @@ six==1.16.0 # via # fs # python-dateutil -web-fragments==1.1.0 +web-fragments==2.0.0 # via xblock webob==1.8.7 # via xblock diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt index 2aea4ec..ee3e8f8 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -10,7 +10,7 @@ pep517==0.12.0 # via pip-tools pip-tools==6.4.0 # via -r requirements/pip_tools.in -tomli==1.2.2 +tomli==2.0.0 # via pep517 wheel==0.37.0 # via pip-tools From 34ebf1b409f161ff97f23f762ad2a1b468799a52 Mon Sep 17 00:00:00 2001 From: Sarina Canelake Date: Wed, 23 Feb 2022 14:34:27 -0500 Subject: [PATCH 24/40] build: add DEPR workflow automation --- .../add-depr-ticket-to-depr-board.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 .github/workflows/add-depr-ticket-to-depr-board.yml diff --git a/.github/workflows/add-depr-ticket-to-depr-board.yml b/.github/workflows/add-depr-ticket-to-depr-board.yml new file mode 100644 index 0000000..73ca4c5 --- /dev/null +++ b/.github/workflows/add-depr-ticket-to-depr-board.yml @@ -0,0 +1,19 @@ +# Run the workflow that adds new tickets that are either: +# - labelled "DEPR" +# - title starts with "[DEPR]" +# - body starts with "Proposal Date" (this is the first template field) +# to the org-wide DEPR project board + +name: Add newly created DEPR issues to the DEPR project board + +on: + issues: + types: [opened] + +jobs: + routeissue: + uses: openedx/.github/.github/workflows/add-depr-ticket-to-depr-board.yml@master + secrets: + GITHUB_APP_ID: ${{ secrets.GRAPHQL_AUTH_APP_ID }} + GITHUB_APP_PRIVATE_KEY: ${{ secrets.GRAPHQL_AUTH_APP_PEM }} + SLACK_BOT_TOKEN: ${{ secrets.SLACK_ISSUE_BOT_TOKEN }} \ No newline at end of file From 4e80a6b38fcdc8983ed4babe064677f1d6d449f6 Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Fri, 10 Jun 2022 11:45:32 -0400 Subject: [PATCH 25/40] fix: Install pip and pip-tools in upgrade script --- Makefile | 3 +++ requirements/base.txt | 14 ++++++-------- requirements/common_constraints.txt | 7 ++++++- requirements/pip.in | 7 +++++++ requirements/pip.txt | 16 ++++++++++++++++ requirements/pip_tools.txt | 8 ++++---- 6 files changed, 42 insertions(+), 13 deletions(-) create mode 100644 requirements/pip.in create mode 100644 requirements/pip.txt diff --git a/Makefile b/Makefile index bc5094b..6e7e774 100644 --- a/Makefile +++ b/Makefile @@ -6,5 +6,8 @@ $(COMMON_CONSTRAINTS_TXT): upgrade: export CUSTOM_COMPILE_COMMAND=make upgrade upgrade: $(COMMON_CONSTRAINTS_TXT) ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in pip install -q -r requirements/pip_tools.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 -q -r requirements/pip.txt + pip install -q -r requirements/pip_tools.txt pip-compile --upgrade -o requirements/base.txt requirements/base.in diff --git a/requirements/base.txt b/requirements/base.txt index 14996c4..8d33b8f 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -6,18 +6,16 @@ # appdirs==1.4.4 # via fs -fs==2.4.14 +fs==2.4.16 # via xblock -lxml==4.7.1 +lxml==4.9.0 # via xblock -markupsafe==2.0.1 +markupsafe==2.1.1 # via xblock python-dateutil==2.8.2 # via xblock -pytz==2021.3 - # via - # fs - # xblock +pytz==2022.1 + # via xblock pyyaml==6.0 # via xblock six==1.16.0 @@ -28,7 +26,7 @@ web-fragments==2.0.0 # via xblock webob==1.8.7 # via xblock -xblock==1.5.1 +xblock==1.6.1 # via -r requirements/base.in # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index 9eb5a46..cca3ccd 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -13,8 +13,13 @@ # using LTS django version -Django<3.3 +Django<4.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 elasticsearch<7.14.0 + +setuptools<60 + +# django-simple-history>3.0.0 adds indexing and causes a lot of migrations to be affected +django-simple-history==3.0.0 diff --git a/requirements/pip.in b/requirements/pip.in new file mode 100644 index 0000000..715478c --- /dev/null +++ b/requirements/pip.in @@ -0,0 +1,7 @@ +-c constraints.txt +# Core dependencies for installing other packages + +pip +setuptools +wheel + diff --git a/requirements/pip.txt b/requirements/pip.txt new file mode 100644 index 0000000..8a667c4 --- /dev/null +++ b/requirements/pip.txt @@ -0,0 +1,16 @@ +# +# This file is autogenerated by pip-compile with python 3.8 +# To update, run: +# +# make upgrade +# +wheel==0.37.1 + # via -r requirements/pip.in + +# The following packages are considered to be unsafe in a requirements file: +pip==22.1.2 + # via -r requirements/pip.in +setuptools==59.8.0 + # via + # -c requirements/common_constraints.txt + # -r requirements/pip.in diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt index ee3e8f8..4a6f82d 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -4,15 +4,15 @@ # # make upgrade # -click==8.0.3 +click==8.1.3 # via pip-tools pep517==0.12.0 # via pip-tools -pip-tools==6.4.0 +pip-tools==6.6.2 # via -r requirements/pip_tools.in -tomli==2.0.0 +tomli==2.0.1 # via pep517 -wheel==0.37.0 +wheel==0.37.1 # via pip-tools # The following packages are considered to be unsafe in a requirements file: From ad820a2fbee5e874a6779feb79e6893f237176f0 Mon Sep 17 00:00:00 2001 From: Sarina Canelake Date: Sat, 10 Sep 2022 17:57:27 -0400 Subject: [PATCH 26/40] fix: update path to .github workflows to read from openedx org --- .github/workflows/commitlint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml index e2b0661..fec11d6 100644 --- a/.github/workflows/commitlint.yml +++ b/.github/workflows/commitlint.yml @@ -7,4 +7,4 @@ on: jobs: commitlint: - uses: edx/.github/.github/workflows/commitlint.yml@master + uses: openedx/.github/.github/workflows/commitlint.yml@master From 2d987adec9be551b0e5e44a0ea0077d97bfcca08 Mon Sep 17 00:00:00 2001 From: Sarina Canelake Date: Thu, 15 Sep 2022 08:22:11 -0400 Subject: [PATCH 27/40] build: use canonical upgrade-python-requirements file --- .../workflows/upgrade-python-requirements.yml | 64 ++++++------------- 1 file changed, 18 insertions(+), 46 deletions(-) diff --git a/.github/workflows/upgrade-python-requirements.yml b/.github/workflows/upgrade-python-requirements.yml index e94724d..e95c079 100644 --- a/.github/workflows/upgrade-python-requirements.yml +++ b/.github/workflows/upgrade-python-requirements.yml @@ -1,55 +1,27 @@ -name: Upgrade Requirements +name: Upgrade Python Requirements on: schedule: - # will start the job at 03:30 UTC every Wednesday - - cron: "30 3 * * 3" + - cron: "0 0 * * 1" workflow_dispatch: inputs: branch: - description: "Target branch to create requirements PR against" + description: "Target branch against which to create requirements PR" required: true - default: 'master' + default: '$default-branch' jobs: - upgrade_requirements: - runs-on: ubuntu-20.04 - - strategy: - matrix: - python-version: ["3.8"] - - steps: - - name: setup target branch - run: echo "target_branch=$(if ['${{ github.event.inputs.branch }}' = '']; then echo 'master'; else echo '${{ github.event.inputs.branch }}'; fi)" >> $GITHUB_ENV - - - uses: actions/checkout@v1 - with: - ref: ${{ env.target_branch }} - - - name: setup python - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python-version }} - - - name: make upgrade - run: | - cd $GITHUB_WORKSPACE - make upgrade - - - name: setup testeng-ci - run: | - git clone https://github.com/edx/testeng-ci.git - cd $GITHUB_WORKSPACE/testeng-ci - pip install -r requirements/base.txt - - name: create pull request - env: - GITHUB_TOKEN: ${{ secrets.REQUIREMENTS_BOT_GITHUB_TOKEN }} - GITHUB_USER_EMAIL: ${{ secrets.REQUIREMENTS_BOT_GITHUB_EMAIL }} - run: | - cd $GITHUB_WORKSPACE/testeng-ci - python -m jenkins.pull_request_creator --repo-root=$GITHUB_WORKSPACE \ - --target-branch="${{ env.target_branch }}" --base-branch-name="upgrade-python-requirements" \ - --commit-message="chore: Updating Python Requirements" --pr-title="Python Requirements Update" \ - --pr-body="Python requirements update.Please review the [changelogs](https://openedx.atlassian.net/wiki/spaces/TE/pages/1001521320/Python+Package+Changelogs) for the upgraded packages." \ - --user-reviewers="" --team-reviewers="" --delete-old-pull-requests + call-upgrade-python-requirements-workflow: + uses: openedx/.github/.github/workflows/upgrade-python-requirements.yml@master + with: + branch: ${{ github.event.inputs.branch || '$default-branch' }} + # optional parameters below; fill in if you'd like github or email notifications + # user_reviewers: "" + # team_reviewers: "" + # email_address: "" + # send_success_notification: false + secrets: + requirements_bot_github_token: ${{ secrets.REQUIREMENTS_BOT_GITHUB_TOKEN }} + requirements_bot_github_email: ${{ secrets.REQUIREMENTS_BOT_GITHUB_EMAIL }} + edx_smtp_username: ${{ secrets.EDX_SMTP_USERNAME }} + edx_smtp_password: ${{ secrets.EDX_SMTP_PASSWORD }} From ad3870d21ad1f4a00a9986075874fec3d0d3e827 Mon Sep 17 00:00:00 2001 From: Sarina Canelake Date: Mon, 19 Sep 2022 10:56:07 -0400 Subject: [PATCH 28/40] fix: github workflow -branch to actual default branch --- .github/workflows/upgrade-python-requirements.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/upgrade-python-requirements.yml b/.github/workflows/upgrade-python-requirements.yml index e95c079..bf567d6 100644 --- a/.github/workflows/upgrade-python-requirements.yml +++ b/.github/workflows/upgrade-python-requirements.yml @@ -8,13 +8,13 @@ on: branch: description: "Target branch against which to create requirements PR" required: true - default: '$default-branch' + default: 'master' jobs: call-upgrade-python-requirements-workflow: uses: openedx/.github/.github/workflows/upgrade-python-requirements.yml@master with: - branch: ${{ github.event.inputs.branch || '$default-branch' }} + branch: ${{ github.event.inputs.branch || 'master' }} # optional parameters below; fill in if you'd like github or email notifications # user_reviewers: "" # team_reviewers: "" From 4e49dc06ca395d89a5147588025c188ba02b297e Mon Sep 17 00:00:00 2001 From: Awais Qureshi Date: Thu, 24 Nov 2022 21:01:21 +0500 Subject: [PATCH 29/40] build: Adding functionality for publishing on pypi --- .github/workflows/pypi-publish.yml | 30 ++++++++++++++++++++++++++++++ setup.py | 2 +- 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/pypi-publish.yml diff --git a/.github/workflows/pypi-publish.yml b/.github/workflows/pypi-publish.yml new file mode 100644 index 0000000..3aab45a --- /dev/null +++ b/.github/workflows/pypi-publish.yml @@ -0,0 +1,30 @@ +name: Publish package to PyPI + +on: + push: + tags: + - '*' + +jobs: + push: + runs-on: ubuntu-20.04 + + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: setup python + uses: actions/setup-python@v3 + with: + python-version: 3.8 + + - name: Install pip + run: pip install -r requirements/pip.txt + + - name: Build package + run: python setup.py sdist bdist_wheel + + - name: Publish to PyPI + uses: pypa/gh-action-pypi-publish@master + with: + user: __token__ + password: ${{ secrets.PYPI_UPLOAD_TOKEN }} diff --git a/setup.py b/setup.py index 05c4027..9f6236f 100644 --- a/setup.py +++ b/setup.py @@ -82,7 +82,7 @@ def is_requirement(line): setup( name='concept-xblock', - version='0.1', + version='0.2.0', description='concept XBlock', # TODO: write a better description. packages=[ 'concept', From a24461e059aeb0cf3b78b31fb6891e9bc77080ce Mon Sep 17 00:00:00 2001 From: Tim McCormack Date: Thu, 8 Dec 2022 21:59:10 +0000 Subject: [PATCH 30/40] build: Remove community-engineering CODEOWNERS Team no longer exists. See . --- .github/CODEOWNERS | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .github/CODEOWNERS diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS deleted file mode 100644 index d0c8142..0000000 --- a/.github/CODEOWNERS +++ /dev/null @@ -1 +0,0 @@ -* @edx/community-engineering From ed82690aaa036742df3b49084873b693cdced6ba Mon Sep 17 00:00:00 2001 From: Feanil Patel Date: Thu, 23 Feb 2023 14:09:04 -0500 Subject: [PATCH 31/40] build: Creating a missing workflow file `self-assign-issue.yml`. The .github/workflows/self-assign-issue.yml workflow is missing or needs an update to stay in sync with the current standard for this workflow as defined in the `.github` repo of the `openedx` GitHub org. --- .github/workflows/self-assign-issue.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .github/workflows/self-assign-issue.yml diff --git a/.github/workflows/self-assign-issue.yml b/.github/workflows/self-assign-issue.yml new file mode 100644 index 0000000..37522fd --- /dev/null +++ b/.github/workflows/self-assign-issue.yml @@ -0,0 +1,12 @@ +# This workflow runs when a comment is made on the ticket +# If the comment starts with "assign me" it assigns the author to the +# ticket (case insensitive) + +name: Assign comment author to ticket if they say "assign me" +on: + issue_comment: + types: [created] + +jobs: + self_assign_by_comment: + uses: openedx/.github/.github/workflows/self-assign-issue.yml@master From 4b68aa3bb07c24618cb000314304e4831e1e9e9b Mon Sep 17 00:00:00 2001 From: Feanil Patel Date: Thu, 23 Feb 2023 14:09:04 -0500 Subject: [PATCH 32/40] build: Creating a missing workflow file `add-remove-label-on-comment.yml`. The .github/workflows/add-remove-label-on-comment.yml workflow is missing or needs an update to stay in sync with the current standard for this workflow as defined in the `.github` repo of the `openedx` GitHub org. --- .../workflows/add-remove-label-on-comment.yml | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 .github/workflows/add-remove-label-on-comment.yml diff --git a/.github/workflows/add-remove-label-on-comment.yml b/.github/workflows/add-remove-label-on-comment.yml new file mode 100644 index 0000000..0f369db --- /dev/null +++ b/.github/workflows/add-remove-label-on-comment.yml @@ -0,0 +1,20 @@ +# This workflow runs when a comment is made on the ticket +# If the comment starts with "label: " it tries to apply +# the label indicated in rest of comment. +# If the comment starts with "remove label: ", it tries +# to remove the indicated label. +# Note: Labels are allowed to have spaces and this script does +# not parse spaces (as often a space is legitimate), so the command +# "label: really long lots of words label" will apply the +# label "really long lots of words label" + +name: Allows for the adding and removing of labels via comment + +on: + issue_comment: + types: [created] + +jobs: + add_remove_labels: + uses: openedx/.github/.github/workflows/add-remove-label-on-comment.yml@master + From e6b18383e88f7ac4a932eee211c695b226c2deba Mon Sep 17 00:00:00 2001 From: Feanil Patel Date: Thu, 23 Feb 2023 14:09:05 -0500 Subject: [PATCH 33/40] build: Updating a missing workflow file `add-depr-ticket-to-depr-board.yml`. The .github/workflows/add-depr-ticket-to-depr-board.yml workflow is missing or needs an update to stay in sync with the current standard for this workflow as defined in the `.github` repo of the `openedx` GitHub org. --- .github/workflows/add-depr-ticket-to-depr-board.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/add-depr-ticket-to-depr-board.yml b/.github/workflows/add-depr-ticket-to-depr-board.yml index 73ca4c5..250e394 100644 --- a/.github/workflows/add-depr-ticket-to-depr-board.yml +++ b/.github/workflows/add-depr-ticket-to-depr-board.yml @@ -16,4 +16,4 @@ jobs: secrets: GITHUB_APP_ID: ${{ secrets.GRAPHQL_AUTH_APP_ID }} GITHUB_APP_PRIVATE_KEY: ${{ secrets.GRAPHQL_AUTH_APP_PEM }} - SLACK_BOT_TOKEN: ${{ secrets.SLACK_ISSUE_BOT_TOKEN }} \ No newline at end of file + SLACK_BOT_TOKEN: ${{ secrets.SLACK_ISSUE_BOT_TOKEN }} From b62e231be409362d1023aacd7dca5892d44f71c3 Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Thu, 27 Apr 2023 08:53:09 -0400 Subject: [PATCH 34/40] fix: update pip-tools to 6.13.0 --- requirements/base.txt | 12 ++++++------ requirements/common_constraints.txt | 11 +++++++++-- requirements/pip.txt | 14 ++++++-------- requirements/pip_tools.txt | 18 +++++++++++------- 4 files changed, 32 insertions(+), 23 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index 8d33b8f..884e3f2 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,6 +1,6 @@ # -# This file is autogenerated by pip-compile with python 3.8 -# To update, run: +# This file is autogenerated by pip-compile with Python 3.8 +# by the following command: # # make upgrade # @@ -8,13 +8,13 @@ appdirs==1.4.4 # via fs fs==2.4.16 # via xblock -lxml==4.9.0 +lxml==4.9.2 # via xblock -markupsafe==2.1.1 +markupsafe==2.1.2 # via xblock python-dateutil==2.8.2 # via xblock -pytz==2022.1 +pytz==2023.3 # via xblock pyyaml==6.0 # via xblock @@ -26,7 +26,7 @@ web-fragments==2.0.0 # via xblock webob==1.8.7 # via xblock -xblock==1.6.1 +xblock==1.6.2 # via -r requirements/base.in # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index cca3ccd..7e39123 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -19,7 +19,14 @@ Django<4.0 # elastic search changelog: https://www.elastic.co/guide/en/enterprise-search/master/release-notes-7.14.0.html elasticsearch<7.14.0 -setuptools<60 - # django-simple-history>3.0.0 adds indexing and causes a lot of migrations to be affected django-simple-history==3.0.0 + +# tox>4.0.0 isn't yet compatible with many tox plugins, causing CI failures in almost all repos. +# Details can be found in this discussion: https://github.com/tox-dev/tox/discussions/1810 +tox<4.0.0 + +# edx-sphinx-theme is not compatible with latest Sphinx==6.0.0 version +# Pinning Sphinx version unless the compatibility issue gets resolved +# For details, see issue https://github.com/openedx/edx-sphinx-theme/issues/197 +sphinx<6.0.0 diff --git a/requirements/pip.txt b/requirements/pip.txt index 8a667c4..e6827ba 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -1,16 +1,14 @@ # -# This file is autogenerated by pip-compile with python 3.8 -# To update, run: +# This file is autogenerated by pip-compile with Python 3.8 +# by the following command: # # make upgrade # -wheel==0.37.1 +wheel==0.40.0 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: -pip==22.1.2 +pip==23.1.2 + # via -r requirements/pip.in +setuptools==67.7.2 # via -r requirements/pip.in -setuptools==59.8.0 - # via - # -c requirements/common_constraints.txt - # -r requirements/pip.in diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt index 4a6f82d..b615006 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -1,18 +1,22 @@ # -# This file is autogenerated by pip-compile with python 3.8 -# To update, run: +# This file is autogenerated by pip-compile with Python 3.8 +# by the following command: # # make upgrade # -click==8.1.3 +build==0.10.0 # via pip-tools -pep517==0.12.0 +click==8.1.3 # via pip-tools -pip-tools==6.6.2 +packaging==23.1 + # via build +pip-tools==6.13.0 # via -r requirements/pip_tools.in +pyproject-hooks==1.0.0 + # via build tomli==2.0.1 - # via pep517 -wheel==0.37.1 + # via build +wheel==0.40.0 # via pip-tools # The following packages are considered to be unsafe in a requirements file: From 62b2468c19f50df8f08981fb1148298746f9125b Mon Sep 17 00:00:00 2001 From: Zubair Shakoor <57657330+zubairshakoorarbisoft@users.noreply.github.com> Date: Fri, 5 May 2023 21:21:17 +0500 Subject: [PATCH 35/40] fix: Uncommented parameters in upgrade requirements workflow --- .github/workflows/upgrade-python-requirements.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/upgrade-python-requirements.yml b/.github/workflows/upgrade-python-requirements.yml index bf567d6..71562a1 100644 --- a/.github/workflows/upgrade-python-requirements.yml +++ b/.github/workflows/upgrade-python-requirements.yml @@ -17,9 +17,9 @@ jobs: branch: ${{ github.event.inputs.branch || 'master' }} # optional parameters below; fill in if you'd like github or email notifications # user_reviewers: "" - # team_reviewers: "" - # email_address: "" - # send_success_notification: false + team_reviewers: "arbi-bom" + email_address: "arbi-bom@edx.org" + send_success_notification: false secrets: requirements_bot_github_token: ${{ secrets.REQUIREMENTS_BOT_GITHUB_TOKEN }} requirements_bot_github_email: ${{ secrets.REQUIREMENTS_BOT_GITHUB_EMAIL }} From b7c143d3f42ca48542100b6e7b9bb5df7392690f Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Fri, 12 May 2023 11:07:49 -0400 Subject: [PATCH 36/40] build: added reviewers in dependabot config --- .github/dependabot.yml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..d0fde72 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,9 @@ +version: 2 +updates: + # Adding new check for github-actions + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + reviewers: + - "openedx/arbi-bom" From e48938a6408eb4b8b7f3824e051a68c48be66608 Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Sun, 4 Jun 2023 20:12:44 -0400 Subject: [PATCH 37/40] chore: Updating Python Requirements --- requirements/base.txt | 2 +- requirements/pip.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index 884e3f2..4d87ac4 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -10,7 +10,7 @@ fs==2.4.16 # via xblock lxml==4.9.2 # via xblock -markupsafe==2.1.2 +markupsafe==2.1.3 # via xblock python-dateutil==2.8.2 # via xblock diff --git a/requirements/pip.txt b/requirements/pip.txt index e6827ba..5a5ce22 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -10,5 +10,5 @@ wheel==0.40.0 # The following packages are considered to be unsafe in a requirements file: pip==23.1.2 # via -r requirements/pip.in -setuptools==67.7.2 +setuptools==67.8.0 # via -r requirements/pip.in From 7c4117dd4f04dd55f19ec383ec7558e7588692a3 Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Sun, 17 Sep 2023 20:11:41 -0400 Subject: [PATCH 38/40] chore: Updating Python Requirements --- requirements/base.txt | 10 +++++----- requirements/common_constraints.txt | 5 ----- requirements/pip.txt | 6 +++--- requirements/pip_tools.txt | 17 ++++++++++++----- 4 files changed, 20 insertions(+), 18 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index 4d87ac4..f254618 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -8,25 +8,25 @@ appdirs==1.4.4 # via fs fs==2.4.16 # via xblock -lxml==4.9.2 +lxml==4.9.3 # via xblock markupsafe==2.1.3 # via xblock python-dateutil==2.8.2 # via xblock -pytz==2023.3 +pytz==2023.3.post1 # via xblock -pyyaml==6.0 +pyyaml==6.0.1 # via xblock six==1.16.0 # via # fs # python-dateutil -web-fragments==2.0.0 +web-fragments==2.1.0 # via xblock webob==1.8.7 # via xblock -xblock==1.6.2 +xblock==1.7.0 # via -r requirements/base.in # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index 7e39123..afe6aa8 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -25,8 +25,3 @@ django-simple-history==3.0.0 # tox>4.0.0 isn't yet compatible with many tox plugins, causing CI failures in almost all repos. # Details can be found in this discussion: https://github.com/tox-dev/tox/discussions/1810 tox<4.0.0 - -# edx-sphinx-theme is not compatible with latest Sphinx==6.0.0 version -# Pinning Sphinx version unless the compatibility issue gets resolved -# For details, see issue https://github.com/openedx/edx-sphinx-theme/issues/197 -sphinx<6.0.0 diff --git a/requirements/pip.txt b/requirements/pip.txt index 5a5ce22..3e7d8f4 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -4,11 +4,11 @@ # # make upgrade # -wheel==0.40.0 +wheel==0.41.2 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: -pip==23.1.2 +pip==23.2.1 # via -r requirements/pip.in -setuptools==67.8.0 +setuptools==68.2.2 # via -r requirements/pip.in diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt index b615006..3a6a0e2 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -4,20 +4,27 @@ # # make upgrade # -build==0.10.0 +build==1.0.3 # via pip-tools -click==8.1.3 +click==8.1.7 # via pip-tools +importlib-metadata==6.8.0 + # via build packaging==23.1 # via build -pip-tools==6.13.0 +pip-tools==7.3.0 # via -r requirements/pip_tools.in pyproject-hooks==1.0.0 # via build tomli==2.0.1 - # via build -wheel==0.40.0 + # via + # build + # pip-tools + # pyproject-hooks +wheel==0.41.2 # via pip-tools +zipp==3.16.2 + # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: # pip From 00e595af2a3d81b450fe6d120afeb1ce12b8dfd9 Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Sun, 24 Sep 2023 20:40:46 -0400 Subject: [PATCH 39/40] chore: Updating Python Requirements --- requirements/pip_tools.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt index 3a6a0e2..05d0731 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -23,7 +23,7 @@ tomli==2.0.1 # pyproject-hooks wheel==0.41.2 # via pip-tools -zipp==3.16.2 +zipp==3.17.0 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: From 061e6ba4e991cbb4bb785945976710ed75cc21f8 Mon Sep 17 00:00:00 2001 From: Muhammad Umar Khan Date: Mon, 9 Oct 2023 15:13:00 +0500 Subject: [PATCH 40/40] fix: encoding issues of js files --- concept/static/js/oa_edit.js | Bin 1520 -> 4277 bytes concept/static/js/oa_server.js | Bin 2377 -> 11867 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/concept/static/js/oa_edit.js b/concept/static/js/oa_edit.js index 0ab365b4a03075a0d077db4a3c495856eedeb668..a10ac82a26d1f5a066c0b7ea4ebd3072a43f907e 100644 GIT binary patch literal 4277 zcmbtYO>^5e5WVYHY&D({rBSG!?eW2}b8sh)JF(s73X_n82}NiC(6Z|KzxOQwf|M*J zZmWYwB6k6$n(#%^2TJImON!2l=d~m;%ROs3|(-aP&sv0qh zO8q4*IlQ~Nz47ix?R+q}FbjL?4>wKi)JjtJHGCPLlBio0+LsEpMP10;tH?@vs4})2 ze?X1B=sh7L*G5`k%5b}-ve9ZVVx@VKhO*t@^E>}IT2m=@r+pwXIYAd;e3h;-b&O=+ zlF#?U^HJnlfa(-!6kJ8vv0)J$9^rsQ)HS!jo zy?W(wKO*p zN;uJGgz?}{qjI*8!9o7{+B*8va|`Bl_5V%|Hu`6ycn8M_m#>X>n)?Npd1T0B;{E=t zMcHThx0}!8y9bI{*Tj7AuOrU@I+e<+hJm0cXM zW|w;NiAy76nLRT;ST@>{V7d$L9SGt9LINJqzeearyZFWy)Akm&bv^H^fajJTB_@DD z4GJsEDXql!V77rC_h3|A%n}aVO$BrGeW^&npm|&_B}#0wl*q36u{&pkVN`3^)jISy z!USe`51BM5T)kmSa8y&^Z}603?x(-tv%kh*e@p^pTe(Bo;~}{t5!m6;`dwQWbsyHH za56jLDtX>!U{K?qfPzzKjK^mbS`jnLRrW^6}3 z%c60zWDas8>K8=VLW0M;H4!W34F`I4k{s+4i+dNk0GjCVo;QmK!Vh9c-1U|U%&G;p zqK(4z!icN3004gg=)A!$A$!}M&4*q35*dmL!&dc*y~L)a7l{l^^%#}!Q}DXOxFhE4 zvHlcLD&Nta+7_Q^-vh0W6mkeef;b^5pcge}&D377rwQJTz>-!nNKynw}cqSTe+B$Z}VcaLeI+<{e z$FWko^6;bgOmTR5Y=U#*y_vnDxb*v3du7|}9RA&ZrhEX~w}GP4m>>*yd%MDhEUFIU zgA@*PlSzEc`>VK|pZ?ChW#`bESLzYhKZbpH^m literal 1520 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