Commit Graph

272 Commits

Author SHA1 Message Date
Kyle D. McCormick
e64becbdf0 test: fix remaining paver tests
They haven't been run in CI in years, and had gradually become broken
2024-05-21 15:14:38 -04:00
Kyle D. McCormick
c4a1f800e9 feat!: remove paver docs, i18n, servers, and pylint
This is the first step of Paver removal.
These are the parts that we are confident are unused.

Part of: https://github.com/openedx/edx-platform/issues/34467
2024-05-21 15:14:38 -04:00
Kyle D. McCormick
21a1235a28 revert: revert: build: finish replacing paver assets
This reverts commit 4c0284b87d.
2024-05-07 08:40:40 -04:00
Kyle McCormick
4c0284b87d Revert "build: finish replacing paver assets (#34554)" (#34700)
Reverts #34554, which causes compilation of edX.org's
legacy comprehensive theme to be skipped in their deployment pipeline.
We have not determined the precise cause yet, but it seems like the
compile_sass management command is not correctly getting the
list of comprehensive theme directories from Django settings.
2024-05-06 12:57:51 -04:00
Kyle McCormick
3f0f7ce705 build: finish replacing paver assets (#34554)
Together, these changes make it so that all features of the Paver-based
asset compilation system are supported with drop-in Paver-free
replacements. The remaining Paver asset functions are trivial wrappers,
which can be comfortably deleted before Sumac.

* Turn `./manage.py ... compile_sass` into a simple wrapper around `npm
  run compile-sass`
* Turn `paver webpack` into a simple wrapper around `npm run webpack`
* Turn `pavelib.assets:collect_assets` into a simple wrapper around
  `./manage.py ... collectstatic`
* Add/improve deprecation warnings for all Paver asset commands.
* Load defaults for asset-related Django settings from environment
  variables. This allows the build to work without Python. For the
  settings which will be removed in Sumac, I've added deprecation
  warnings.
* Change EDX_PLATFORM_THEME_DIRS env var to COMPREHENSIVE_THEME_DIRS.
  This simplifies the migration instructions, because all the new env
  vars now match their corresponding Django settings. This amends an
  ADR, but it should not be a breaking change because the  env var was
  recently added (since Quince) and nobody should be using it yet.
* Future-proof the static assets ADR with links. The linked pages will
  be kept up-to-date even if the ADR isn't.

Part of: https://github.com/openedx/edx-platform/issues/34467
2024-05-06 08:29:45 -04:00
Kyle D. McCormick
24db4dfb53 build: compile/watch sass with new npm scripts
`paver` commands are deprecated for managing static assets. Starting in
Sumac, only `npm run` commands will be supported for managing static
assets.

To ease the transition, both `paver` and `npm run` commands will work in
Redwood. However, we want to stop using the *implementations* of the
`paver` asset commands right now, as they are blocking the Python 3.11
upgrade. This will also make the removal of `paver` commands more
straightforward come Sumac.

So, this commit turns these commands/functions:
* paver compile_sass (used by configuration)
* paver watch_sass (used by configuration and devstack)
* pavelib/assets.py:_compile_sass (used by Tutor)

into very thin wrappers around the new `npm run` commands. Each of these
paver routines now raise a loud deprecation warning, including a message
of the `npm run` command that the operator can switch to.
We expect no impact to site operators or end users.

https://github.com/openedx/edx-platform/issues/31895
2024-04-04 10:31:02 -04:00
Omar Al-Ithawi
a10fce3379 feat!: remove Transifex calls for FC-0012 - OEP-58 (#34355) 2024-03-14 13:38:28 +00:00
Feanil Patel
66e987997c Revert "Revert "chore: remove bok-choy settings"" 2023-11-01 13:41:37 -04:00
Robert Raposa
083ccbf09b Revert "chore: remove bok-choy settings" 2023-10-31 15:27:44 -04:00
salman2013
2a4ce5fa48 chore: fix comments, remove un-used variable 2023-10-12 20:11:25 +05:00
salman2013
65d3b1084b chore: fix test cases 2023-10-03 00:11:23 +05:00
salman2013
d668af2fce chore: fix comments, remove and add some code for karma 2023-10-02 16:04:33 +05:00
salman2013
875de8eb71 chore: fix test cases 2023-09-28 12:27:00 +05:00
salman2013
3abf597152 chore: fix test cases 2023-09-27 16:57:53 +05:00
salman2013
a06ac2f6a2 chore: remove karma 2023-09-27 11:42:57 +05:00
Kyle McCormick
355779983e build: commit builtinblocks Webpack config and stub out xmodule_assets (#32685)
The Webpack configuration file for built-in XBlock JS used to be
generated at build time and git-ignored. It lived at
common/static/xmodule/webpack.xmodule.config.js. It was generated
because the JS that it referred to was also generated at build-time, and
the filenames of those JS modules were not static.

Now that its contents have been made entirely static [1], there is no
reason we need to continue generating this Webpack configuration file.
So, we check it into edx-platform under the name
./webpack.builtinblocks.config.js. We choose to put it in the repo's
root directory because the paths contained in the config file are
relative to the repo's root.

This allows us to behead both the xmodule/static_content.py
(`xmodule_assets`) script andthe  `process_xmodule_assets` paver task, a
major step in removing the need for Python in the edx-platform asset
build [2]. It also allows us to delete the `HTMLSnippet` class and all
associated attributes, which were exclusively used by
xmodule/static_content.py..

We leave `xmodule_assets` and  `process_xmodule_assets` in as stubs for
now in order to avoid breaking external code (like Tutor) which calls
Paver; the entire pavelib/assets.py function will be eventually removed
soon anyway [3]. Further, to avoid extraneous refactoring, we keep one
method of `HTMLSnippet` around on a few of its former subclasses:
`get_html`. This method was originally part of the XModule framework;
now, it is left over on a few classes as a simple internal helper
method.

References:
1. https://github.com/openedx/edx-platform/pull/32480
2. https://github.com/openedx/edx-platform/issues/31800
3. https://github.com/openedx/edx-platform/issues/31895

Part of: https://github.com/openedx/edx-platform/issues/32481
2023-07-27 14:32:29 +00:00
Yagnesh1998
02127673f8 feat: remove paver update_db in depr (#32832) 2023-07-25 10:08:37 -04:00
Tim McCormack
437418d367 feat: Switch Dockerfile from npm install to npm ci; some cleanup (#32590)
Otherwise we're not really respecting the package-lock file and won't get
repeatable results.

Also:

- Clean up old error handling for npm<3. Were on npm 8 now. Probably
  can get rid of this.
- Use the shorthand `npm ci` rather than `npm clean-install` just for
  consistency with code elsewhere.
- Update comments in tests to be explicit about use of ci rather than
  install
2023-06-29 21:55:23 +00: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
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
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
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
e35d3de376 refactor: pyupgrade on docs & pavelib (#26768) 2021-03-05 15:24:59 +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
69e0dc7d68 Applied pylint-amnesty to {docs, import_shims, pavelib} 2021-02-02 21:17:16 +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
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
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
Aura Milena Alba
6980291d96 [BD-10] [DEPR-92] Remove pattern library of pavelib folder (#24591) 2020-07-28 10:21:05 -04:00
Feanil Patel
1e4866e89b Merge branch 'master' into alanoe/fix_npm_install_error_handling_in_master 2020-06-26 15:58:37 -04:00
M. Zulqarnain
bc568309ec BOM-1701: Ran pyupgrade on pavelib (#24230) 2020-06-17 17:09:38 +05:00
Robert Raposa
b9a51eb250 update diff_quality message and tests (#23896)
- remove unused assertions
- add tests for exception handling
- update error message
2020-05-05 15:55:37 -04:00
Adam Stankiewicz
6d942bc94d revert learner portal links blocking juniper release 2020-05-04 14:55:06 -04:00
Aarif
98af9ce418 remove useless-supression warnings 2020-05-01 19:42:15 +05:00
Alan Evangelista
30495b4580 Fix 'npm install' command execution error handling
'npm install' command execution was changed from paver.easy.sh()
to subprocess.Popen() in commit 0dd13fad1b,
but exception handling was not updated accordingly. Due to this,
errors in 'npm install' execution were not detected.
2020-04-19 19:40:21 -03:00
Tim McCormack
a783690507 Fix the way we launch celery (needs pointer to celery app, not env file) (#23325)
This is a fix to PR #23222.
2020-03-06 16:08:05 +00:00
Tim McCormack
341205a85d Launch celery directly instead of via django-celery (BOM-1157) (#23222) 2020-02-27 21:53:27 +00:00