Commit Graph

763 Commits

Author SHA1 Message Date
Zubair Shakoor
141d6d4ce6 refactor: remove all paver code related to python unit tests (#31180) 2023-01-18 17:41:56 +05:00
Tim McCormack
b8a34f0c57 build: Set Django version for tests more safely; drop support for non-GHA (#31387)
We have a need to lock the version of Django for production and tests, but
also to test on newer versions of Django so that we can get the repo ready
for long-term-support releases.

We've been doing that by extracting the `django==x.y.z` from the
pip-compiled files and moving it to a django.txt that is then co-installed
but can be overridden during tests. The problem is that this can result
in broken packages.

The approach here is to have `make test-requirements` continue to
ensure a consistent set of packages, and then install a different
Django on top of that in the CI script -- and call `pip check` to make
sure that combination isn't broken.

Adding Django 4.0 to the unit-tests.yml matrix will now correctly
result in this error and a failing job:
`django-splash 1.2.1 has requirement Django<4.0, but you have django 4.0.8.`

The other half of this is to change other CI runners to remove their
ability to control the Django version, since it's complicated to make
this work, and we probably only need it in unit-tests.yml. Convert them
to just use `make test-requirements`.

Also:

- Simplify handling of `pip --src` by setting `PIP_SRC` (rather than our
  own `PIP_SRC_DIR`, which pip ignores because `--src-dir` isn't an option
  that it knows). This is needed to allow `make test-requirements` to do
  the pip calls. An alternative would be to set a pip-options env var for
  the make target to use, but `PIP_SRC` already exists.
- Remove outdated modifications to common_constraints
- Add comment explaining why pylint tests need dev-requirements
2022-12-12 21:45:15 +00:00
UsamaSadiq
897cb3617f refactor!: delete common/lib and related usages 2022-09-22 14:16:34 +05:00
Sarina Canelake
4a2f231302 fix: fix github url strings (org edx -> openedx) 2022-09-15 14:52:28 -04:00
Kyle McCormick
bacce909f6 build: in CI, use npm clean-install instead of npm install
Packages can be added to package-lock.json that will fail to
install on certain systems. For example, the `fsevents` NPM
package, which only works on macOS, was listed as a requirement
in the file.

`npm install` will happily skip over such packages.
`npm clean-install`, however, will exit with a fatal error.

Throughout several doc pages, we have recently been encouraging
folks to use `clean-install` instead of `install`, because its
strictness makes it more reproducible. To ensure that `clean-install`
is working reliably at any given time, we should use `clean-install`
in our CI pipeline.
2022-09-13 15:26:54 -04:00
Muhammad Umar Khan
a389a9ff10 Revert "Revert "refactor: move xmodule folder to root"" 2022-06-20 18:20:06 +05:00
Muhammad Umar Khan
d890f06507 Revert "refactor: move xmodule folder to root" 2022-06-20 16:03:48 +05:00
M Umar Khan
a91df0c40f refactor: move xmodule folder to root
- Moving xmodule folder to root as we're dissolving sub-projects of common folder in edx-platform
    - More info: https://openedx.atlassian.net/browse/BOM-2579
- -e common/lib/xmodule has been removed from the requirements as xmodule has itself become the part of edx-platform and not being installed through requirements
- The test files common/lib/xmodule/test_files/ have been removed as they are not being used anymore
2022-06-20 14:33:45 +05:00
Awais Qureshi
02e29168b2 feat!: Removing sandbox folder from platform and installing it from p… (#30402)
* feat!: common/lib/sandbox-packages folder moved to a new library.
2022-06-01 16:02:13 +05:00
Awais Qureshi
b97af6ac6e build: Removing un-used django versions from tox and other places. (#30270) 2022-04-19 16:41:29 +05:00
Rebecca Graber
eba76109c4 feat: remove xss-commitlint test (#30025) 2022-03-08 14:18:45 -05:00
Aarif
aa31f3b255 refactor: remove a11y tests setup (#29813) 2022-02-15 18:56:34 +05:00
Aarif
e71cac0a01 fix: remove bokchoy db cache uploader paver tasks (#28841) 2021-12-22 13:42:47 +05:00
Mohammad Ahtasham ul Hassan
8320dcb0e8 build: update stylint and eslint thresholds (#29471)
* build: update stylint and eslint thresholds

* Removed stylint threshold

* Update test_stylelint.py

* fix: fix eslint issues
2021-12-07 20:09:13 +05:00
Ned Batchelder
d1aa75e3f2 build: run xss-commit-linter verbosely 2021-10-19 12:24:16 -04:00
Muhammad Soban Javed
e2dc24af3a fix: update quality checks for django 3.2 (#28958) 2021-10-06 23:44:48 +05:00
Diana Huang
849dd693cf fix: Add back in dummy locales for unit test. (#28938)
Clear old files before regenerating them.
2021-10-05 13:52:27 -04:00
Soban Javed
71debe7f7b fix: remove fake2 language from django settings
This was causing issue with Django 3.2, as Django has restricted to only use language from the pre-defined set of languages provided by Django.

BOM-2870
2021-10-04 20:44:18 +05:00
Usama Sadiq
484cd536e2 fix: Fixed new pylint warnings (#28724) 2021-09-23 17:54:04 +05:00
M. Zulqarnain
8142e631fc build: Quality on GH Actions (#28561) 2021-09-22 13:24:18 +05:00
Braden MacDonald
da09bcadc5 refactor: run modulestore tests in common/lib/... using Django
Does 3 things:
(1) Use django for modulestore tests
(2) Use normal LMS settings for modulestore tests instead of openedx/tests/settings.py
(3) Simplify some TestCase subclasses by converting them to use ModuleStoreTestCase


Details and rationale:

(1) Currently parts of the modulestore test suite are designed to run "without django", although there is still a lot of django functionality imported at times, and many of the tests do in fact use django. But for the upcoming PR #27565 (moving split's course indexes from MongoDB to MySQL), we will need to always have Django enabled. So this commit paves the way for that change.

(2) The previous tests that did use Django used a special settings file, openedx/tests/settings.py which made some debugging confusing because those tests had quite different django settings than other tests. This change deletes that file and runs the tests using the LMS test settings.

(3) The test suite also contains many different ways of initializing and testing a modulestore, with significant differences in their configuration, and also a lot of repetition. I find this makes understanding, debugging and writing tests more difficult. So this commit also reduces the number of different "test case using modulestore" base classes:

* Simplifies MixedWithOptionsTestCase and MixedSplitTestCase by making them simple subclasses of ModuleStoreTestCase.
* Removes PureModulestoreTestCase.
2021-08-05 12:20:19 -07:00
Usama Sadiq
1795008686 fix: Removed pylint constraint (#28222)
Disabled pylint warnings in pylint_tweaks
2021-07-23 18:35:57 +05:00
Diana Huang
29548459fa refactor: Remove PyContracts usage. (#27887)
* refactor: Remove PyContracts usage.

We have not used PyContracts in a while and it is overhead we don't
need in edx-platform.

https://openedx.atlassian.net/browse/DEPR-147

* chore: Updating Python Requirements (#28018)

Co-authored-by: edX requirements bot <49161187+edx-requirements-bot@users.noreply.github.com>
2021-06-23 18:24:06 -04:00
Muhammad Soban Javed
15fae139c0 feat: run a11y test using github actions (#27748) 2021-06-10 17:52:43 +05:00
Aarif
58a54f8d0b BOM-2543: Remove the diff-quality step from quality checks (#27619)
* build: Removed the diff-quality step
Applied lint-amnesty on all the warnings
Removed pylint thresholds comparison code and related tests

Co-authored-by: Usama Sadiq <usama.sadiq@arbisoft.com>
2021-06-07 18:37:06 +05:00
Usama Sadiq
4f4be6538a BOM-2477: pylint warnings lint-amnesty (#27585) 2021-05-11 17:22:40 +05:00
Usama Sadiq
a597f1c783 refactor: ran pyupgrade second iteration (#27463) 2021-05-11 15:19:48 +05:00
Jawayria
96e1bffc97 Refactor: Removed unused imports
Removed unused imports from docs, scripts, pavelib
2021-04-09 16:03:53 +05:00
M. Zulqarnain
2c44315ce0 refactor: pyupgrade on pavelib & scripts (#26769) 2021-03-12 14:14:53 +05:00
Jeremy Bowman
1692081dd0 Fix diff-cover with recent git versions on shallow repositories (#26879)
When we tried upgrading Jenkins workers from Ubuntu 16.04 to 20.04, `diff-cover` started silently failing with a return code of `1`.  We suspect this is due to https://github.com/Bachmann1234/diff_cover/issues/153 , so we're adding the workaround described in that ticket.
2021-03-08 10:23:50 -05:00
M. Zulqarnain
e35d3de376 refactor: pyupgrade on docs & pavelib (#26768) 2021-03-05 15:24:59 +05:00
Usman Khalid
6af0eb5c28 test: Ignore running tests from /common/lib/pytest_cache. 2021-03-02 23:55:48 +05:00
Ned Batchelder
981ecb675e build: private.txt files weren't handled properly
The requirements/edx/private.txt file is for dev's own private package
needs.  There are two installation mechanisms in edx-platform, and
neither handled the file properly:

- `paver install_prereqs` had the wrong file name.  The file was moved
  almost three years ago, and paver wasn't kept up.

- `make requirements` used `private.*` which included private.in, which
  pip-sync balks at.
2021-02-26 22:19:47 -05:00
usamasadiq
96f0915b0f Fixed new pylint warnings.
use generator in any/all()
disable not-callable warnings
disable no-member warnings
Suppressed smaller pylint warnings
Pin edx-proctoring==3.5.0
2021-02-22 16:36:53 +05:00
Aarif
dc6766dcce replaced unittest assertions pytest assertions for pavelib (#26514) 2021-02-16 14:57:50 +05:00
Jawayria
d1c21db40f Resolved error 2021-02-02 21:20:41 +05:00
Jawayria
69e0dc7d68 Applied pylint-amnesty to {docs, import_shims, pavelib} 2021-02-02 21:17:16 +05:00
Régis Behmo
f90d495ed8 Fix paver update_assets warning on missing sass dir (#25771)
On missing sass directory, the following kind of warning was printed:

        Sass dir '[{'sass_source_dir': path('lms/static/sass'), 'css_destination_dir': Path('/openedx/themes/indigo/lms/static/css'), 'lookup_paths': [Path('/openedx/themes/indigo/lms/static/sas│..  s/partials'), path('lms/static/sass/partials'), path('lms/static/sass')]}, {'sass_source_dir': Path('/openedx/themes/indigo/lms/static/sass'), 'css_destination_dir': Path('/openedx/themes│.  /indigo/lms/static/css'), 'lookup_paths': [Path('/openedx/themes/indigo/lms/static/sass/partials'), path('lms/static/sass/partials'), path('lms/static/sass')]}, {'sass_source_dir': Path('│ /openedx/themes/indigo/lms/static/certificates/sass'), 'css_destination_dir': Path('/openedx/themes/indigo/lms/static/certificates/css'), 'lookup_paths': [Path('/openedx/themes/indigo/lms│ /static/sass/partials'), Path('/openedx/themes/indigo/lms/static/sass')]}]' does not exists, skipping sass compilation for '/openedx/themes/indigo'

Which was rather inconvenient. Instead, we now print the following
warning:

    Sass dir '/openedx/themes/indigo/lms/static/certificates/sass' does not exists, skipping sass compilation for '/openedx/themes/indigo'
2021-01-15 15:40:21 -05:00
Nizar
1e872d4e10 Adds support for enabling custom tinymce plugins in Studio's HTML editor (#25695) 2021-01-11 11:28:20 -05:00
Diana Huang
a4ca84e92a Add DJANGO_SETTINGS_MODULE to pylint runs. 2020-12-22 09:41:24 -05:00
Tim McCormack
747b03febf Use node for running node.js tests, not nodejs (#25651)
This should solve the problem of getting `nodejs: not found` when
running `paver test_js_run -s lms` in lms-shell, which cropped up in
the past few days.

I don't know why this stopped working recently, but I don't have `nodejs`
on my recently re-created devstack, and some people with an older devstack
have both. Maybe a recent node.js release got rid of an alias.
2020-11-19 20:09:51 +00:00
Felipe Montoya
d876a79f0e Merge pull request #25322 from aulasneo/BTR-15
Fix certificate sass assets collection for comprehensive themes
2020-11-10 16:41:38 -05:00
Jeremy Bowman
efc04e3399 Remove notifier_api app DEPR-111 (#25464)
Part of the notifier service deprecation (DEPR-106).

Also removed pdfminer from the package uninstall list, since we no longer install the package it conflicts with either.
2020-10-29 11:17:23 -04:00
Andrés González
e45a88a940 Use variables for certificate sass dir 2020-10-13 16:43:39 -03:00
Andrés González
6a399b3996 Added lms/static/certificates/sass to the list of directories where paver update_assets looks for sass files in themes. This allows compiling sass for certificates with comprehensive theming in place. 2020-10-09 17:30:33 -03:00
Feanil Patel
0113633369 Merge pull request #24818 from edly-io/zubair/BD-18-optimize-paver-settings-call
[BD-18] Optimize paver settings call
2020-09-10 10:19:22 -04:00
Adam Butterworth
1757fa3610 Revert "Revert "[BD-10] [DEPR-92] Remove pattern library of pavelib folder (#24591)" (#24635)" (#24695)
This reverts commit a463fbeca9.
2020-09-03 09:27:41 -04:00
emzubair
169b82261a [BD-18] Optimize paver settings call 2020-08-21 21:23:29 +05:00
Aarif
09ac7f9372 remove cyclomatic complexity calculation for python code 2020-08-04 22:10:05 +05:00
Adam Butterworth
a463fbeca9 Revert "[BD-10] [DEPR-92] Remove pattern library of pavelib folder (#24591)" (#24635)
This reverts commit 6980291d96.
2020-07-29 15:37:33 -04:00