Commit Graph

78 Commits

Author SHA1 Message Date
Brian Mesick
749b3ebc82 build: Cache images in unit tests (#36110)
Another attempt to stop Dockerhub from rate limiting us in CI. If this
works here, we'll try to add this caching to other relevant workflows.

https://github.com/openedx/axim-engineering/issues/1350#issuecomment-2591237325
2025-01-15 10:05:07 -05:00
Kyle McCormick
290209b1b1 build: Don't fail the build if DockerHub login fails (#36100)
This iterates on https://github.com/openedx/edx-platform/pull/36089, which
logged us into DockerHub during unit tests in order to reduce how often
DockerHub rate-limits us.

Forks will fail to log into DockerHub unless the fork owner configures their
own DockerHub creds. This PR is an attempt to make it so that unit tests don't
fail when DockerHub login fails.
2025-01-10 17:04:41 +00:00
Brian Mesick
042c0441b0 fix: Use correct secret name for dockerhub password 2025-01-09 15:41:21 -05:00
Brian Mesick
18cf33864d build: Log in to dockerhub for unit test CI
We're being rate limited by dockerhub for pulling too many images in CI.
There isn't a greate solution for caching images for GH actions, but in
theory we should have less strict limits as an authenticated user.
2025-01-09 15:36:03 -05:00
Kyle D. McCormick
2d5543a9ae feat!: Remove Paver
BREAKING CHANGE: Removes all remaining Paver commands including
`pavelib/prereqs.py:*` and `pavelib/assets.py:*`.

BREAKING CHANGE: Removes `./manage.py [lms|cms] compile_sass`, which
was just a wrapper around Paver commands.

BREAKING CHANGE: Removes paver.txt. Operators should install testing.txt
instead.

Part of: https://github.com/openedx/edx-platform/issues/34467
2025-01-02 14:05:15 -05:00
Muhammad Anas
0de7569b68 refactor!: remove md4 and related ENABLE_BLAKE2B_HASHING feature flag 2024-12-24 13:12:18 +05:00
Feanil Patel
737b8e99dd build: Test on both the old and new ubuntu version. 2024-11-05 10:44:02 -05:00
Feanil Patel
7c397bf1fc build: Use a re-usable action to setup mongo.
Rather than doing the install ourselves and needing to keep the debion
source URL up-to-date, use a community action to handle installing
mongo.
2024-11-05 10:44:02 -05:00
Feanil Patel
799dcf35ec build: Test on ubuntu 24.04 2024-11-05 10:44:02 -05:00
Diana Huang
8ee942e411 fix: Pin select jobs to ubuntu 22.04.
Using Ubuntu 24.04 breaks Mongo installation
and some thing involving lxml/xmlsec. We are
going to pin this until we're ready to upgrade both.
2024-10-11 10:58:42 -04:00
Diana Huang
96c682a25b Revert "feat: Use jammy repositories for mongo installation."
This reverts commit a245dec4f4.
2024-10-11 10:58:42 -04:00
Diana Huang
a245dec4f4 feat: Use jammy repositories for mongo installation.
Unclear if there was a change in the focal repositories
or if there was an issue with something else. The noble
repositories don't support 7.0, so we're stuck here
until we upgrade to 8.0.
2024-10-10 15:38:15 -04:00
Feanil Patel
1804fbb131 build!: enable md4 for testing.
Operators Note: In newer versions of ubuntu the MD4 hashing algorithm
is disabled by default.  To enable it the openssl config needs to be
updated in a manner similar to what's being done here.  Alternatively,
you can set the `FEATURES['ENABLE_BLAKE2B_HASHING']` setting to `True`
which will switch to a newer hashing algorithm where MD4 was previously
used.

Because this hashing is being used as a part of the edx-platform caching
mechanism, this will effectively clear the cache for the items that use
this hash. The will impact any items where the cache key might have been
too big to store in memcache so it's hard to predict exactly which items
will be impacted.

BREAKING CHANGE: See the operator note above for more details as this
may break for users transitioning from Ubuntu 20.04 to newer versions.
2024-09-23 10:47:49 -04:00
Feanil Patel
872174e28d build: Switch to ubuntu-latest for builds
This code does not have any dependencies that are specific to any specific
version of ubuntu.  So instead of testing on a specific version and then needing
to do work to keep the versions up-to-date, we switch to the ubuntu-latest
target which should be sufficient for testing purposes.

This work is being done as a part of https://github.com/openedx/platform-roadmap/issues/377

closes https://github.com/openedx/edx-platform/issues/35314
2024-09-23 10:00:14 -04:00
Irtaza Akram
4fa1a4b6b3 fix: github action artifact upload issue 2024-06-25 16:46:10 +05:00
Kyle McCormick
88a6855255 test: cancel old unit tests when a new PR commit is pushed (#34909)
Based on: 
* https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-concurrency-and-the-default-behavior
* https://stackoverflow.com/questions/68418857/how-to-cancel-existing-runs-when-a-new-push-happens-on-github-actions-but-only
2024-06-05 08:26:04 -04:00
Kyle McCormick
b063dfc1ea test: always run aggregate unit test check (#34903)
When a shard of unit-tests.yml fails, we want the `success` job to be
maked "Failed" (not "Skipped"). That's because "Failed" blocks the PR
from merging, whereas "Skipped" does not. This change ensures that
`success` always runs to completion rather than being cancelled as soon
as a unit test shard fails or is cancelled.

From https://github.com/marketplace/actions/alls-green#options:

> Important: For this to work properly, it is a must to have the job always run,
> otherwise GitHub will make it skipped when any of the dependencies fail. In
> some contexts, skipped is interpreted as success which may lead to undersired,
> unobvious and even dangerous (as in security breach "dangerous") side-effects.

Closes https://github.com/openedx/edx-platform/issues/34789
2024-06-04 10:15:51 -04:00
Emad Rad
6c5b98087e chore: cleanup
- rst heading definitions
- indirect hyperlinks and code-blocks added for better readability
- MarkDown warnings resolved
- Yaml style issues fixed
2024-06-03 22:18:27 +03:30
Irtaza Akram
11e8b8ba90 fix: verify-and-collect issues 2024-05-30 15:00:49 -04:00
Irtaza Akram
c22fbec6a9 fix: move collect-and-verify to unit-tests.yml 2024-05-30 15:00:49 -04:00
Irtaza Akram
b3185ffe7b fix: env for runner 2024-05-30 15:00:49 -04:00
Irtaza Akram
2506d9373a fix: test runner 2024-05-30 15:00:49 -04:00
Irtaza Akram
99248ae992 fix: review changes 2024-05-30 15:00:49 -04:00
Irtaza Akram
5a46a3aa0f fix: tests on forks 2024-05-30 15:00:49 -04:00
Irtaza Akram
6b5f11a79b fix: merged gh-hosted into gha 2024-05-30 15:00:47 -04:00
Irtaza Akram
a6755edcbb fix: remove sudo for pip specific commands 2024-05-30 15:00:33 -04:00
Irtaza Akram
f6f75b428c fix: lynx dependency 2024-05-30 15:00:33 -04:00
Irtaza Akram
e428dd4511 fix: update github actions & remove edx runner 2024-05-30 15:00:30 -04:00
Feanil Patel
4687dae487 build: Drop testing with Mongo 4.4 and Python 3.8 2024-05-14 09:25:18 -04:00
Kyle McCormick
e6610f5ece test: only run Mongo 4.4 tests on xmodule directory (#34683)
Cuts the number of unit test checks from 64 down to 34

Also, we rename test contexts so that they're easier to read in GHA.
2024-05-06 14:37:38 -04:00
Feanil Patel
e9d716375f build: Update to allow tests to run on python 3.11
* Update so tox will allow running on the new version.
* Update so the hosted runner actually respects the python version in
  the matrix
2024-05-01 10:23:34 -04:00
Feanil Patel
85db730cef build: Run tests on python 3.11 as well as 3.8 2024-05-01 10:03:42 -04:00
Tim McCormack
afe93559b9 Revert "build: Python requirements upgrade and lxml build without binary (#34…" (#34661)
This reverts commit 52adce48d1 because we were getting this in the build pipeline:

```
WARNING: lxml 5.2.1 does not provide the extra 'html-clean'
ERROR: Exception:
Traceback (most recent call last):
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 173, in _main
    status = self.run(options, args)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 203, in wrapper
    return func(self, options, args)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 315, in run
    requirement_set = resolver.resolve(
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/resolver.py", line 94, in resolve
    result = self._result = resolver.resolve(
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/pip/_vendor/resolvelib/resolvers.py", line 472, in resolve
    state = resolution.resolve(requirements, max_rounds=max_rounds)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/pip/_vendor/resolvelib/resolvers.py", line 366, in resolve
    failure_causes = self._attempt_to_pin_criterion(name)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/pip/_vendor/resolvelib/resolvers.py", line 221, in _attempt_to_pin_criterion
    satisfied = all(
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/pip/_vendor/resolvelib/resolvers.py", line 222, in <genexpr>
    self._p.is_satisfied_by(requirement=r, candidate=candidate)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/provider.py", line 178, in is_satisfied_by
    return requirement.is_satisfied_by(candidate)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/pip/_internal/resolution/resolvelib/requirements.py", line 84, in is_satisfied_by
    assert candidate.name == self.name, (
AssertionError: Internal issue: Candidate is not for this requirement lxml[html-clean,html-clean] vs lxml[html-clean]
WARNING: You are using pip version 21.2.1; however, version 24.0 is available.
You should consider upgrading via the '/edx/app/edxapp/venvs/edxapp/bin/python -m pip install --upgrade pip' command.
```
2024-04-29 21:06:45 +00:00
edX requirements bot
52adce48d1 build: Python requirements upgrade and lxml build without binary (#34655)
* build: build lxml without binary in requirements and CI workflows
---------
Co-authored-by: Usama Sadiq <usama.sadiq@arbisoft.com>
2024-04-29 23:48:57 +05:00
Daniel Valenzuela
c0aba8a805 build: add MongoDB 7 to the CI (#34213) 2024-03-08 18:50:13 +01:00
Muhammad Soban Javed
e40a01c7cc feat!: upgrade Django version to 4.2 (LTS)
This reverts commit 23659d5ba8.
2024-02-02 17:08:54 +05:00
Usama Sadiq
23659d5ba8 Revert "feat!: upgrade Django version to 4.2 (LTS) (#34162)" (#34165)
This reverts commit 1fc2e8a771.
2024-02-01 19:29:56 +05:00
Muhammad Soban Javed
1fc2e8a771 feat!: upgrade Django version to 4.2 (LTS) (#34162)
* feat!: upgrade Django version to 4.2 (LTS)
---------

Co-authored-by: iamsobanjaved <iamsobanjaved@users.noreply.github.com>
2024-02-01 16:10:34 +05:00
Muhammad Soban Javed
790e364097 Revert "chore!: upgrade Django version to 4.2 (LTS)" 2024-01-31 17:14:43 +05:00
Muhammad Soban Javed
67d53dce26 chore!: upgrade Django version to 4.2 (LTS)
This reverts commit 6f32d0e6f1.
2024-01-25 18:17:43 +05:00
Muhammad Soban Javed
6f32d0e6f1 Revert "chore!: upgrade Django version to 4.2 (LTS)" (#34095) 2024-01-23 19:07:53 +05:00
Muhammad Soban Javed
fc8e40fb10 chore!: upgrade Django version to 4.2 (LTS) (#33969)
* chore!: upgrade Django version to 4.2 (LTS)

* feat: Upgrade Python dependency Django

chore!: upgrade Django version to 4.2

Commit generated by workflow `openedx/edx-platform/.github/workflows/upgrade-one-python-dependency.yml@refs/heads/master`

* chore: Update common.py

* chore: Update common.py

---------

Co-authored-by: Muhammad Soban Javed <iamsobanjaved@gmai.com>
Co-authored-by: iamsobanjaved <iamsobanjaved@users.noreply.github.com>
Co-authored-by: Awais Qureshi <awais.qureshi@arbisoft.com>
2024-01-23 16:53:34 +05:00
Kyle McCormick
9c6e765bf6 test: run ./xmodule/ tests with CMS settings (#33534)
Currently, ./xmodule/ unit tests are only run with LMS settings. However,
./common/ and ./xmodule/ are run twice: once with LMS settings and once with
CMS settings.

Just like ./common/ and ./openedx/, the unit tests in ./xmodule/ validate
behavior in both LMS and CMS. So, order to fully test ./xmodule/, we should to
run its tests with CMS settings too.

This will enable us to better validate certain LibraryContentBlocks behaviors
being touched by https://github.com/openedx/edx-platform/pull/33263 which can't
be expressed under LMS settings.

Also in this commit:

* refactor: rename the shards to be clear whether they're running under LMS or CMS
* docs: correct comments regarding conditions under which codejail's
   test_cant_do_something_forbidden is skipped.
* test: update a unit test which was using the now-deleted library_sourced block to use
   library_content block instead.
2023-10-19 10:19:28 -04:00
dependabot[bot]
9e816e9754 build(deps): bump actions/download-artifact from 2 to 3
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-12 13:49:16 +00:00
dependabot[bot]
75bad83da2 build(deps): bump re-actors/alls-green from 1.2.1 to 1.2.2
Bumps [re-actors/alls-green](https://github.com/re-actors/alls-green) from 1.2.1 to 1.2.2.
- [Release notes](https://github.com/re-actors/alls-green/releases)
- [Commits](13b4244b31...05ac9388f0)

---
updated-dependencies:
- dependency-name: re-actors/alls-green
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-11 13:11:03 +00:00
Awais Qureshi
5e8decbd8e test: running django42 tests. (#33144) 2023-09-20 11:34:23 -04:00
Usama Sadiq
2ffcc1aa3f build: distinguish unit test and pylint successful checks (#32452)
We will be able to use these composite checks to block
PR merges instead of blocking on every single individual
unit test and pylint check.

Closes: https://github.com/openedx/edx-platform/issues/32238
2023-08-24 17:38:52 +00:00
Matjaz Gregoric
f0331ba813 fix: don't run test check when using GH runners 2023-05-11 09:06:08 +02:00
Matjaz Gregoric
2d2a3100f1 fix: update shard names for GH tests
Github hosted tests weren't working because shards were not up to date.
2023-05-11 08:29:31 +02:00
Tim McCormack
197fef9c2b docs: Various cleanup of outdated comments and docstrings (#31754)
- Remove pylint warning suppression from SHAKE-128 hexdigest calls; these
  are no longer needed as of astroid 2.12.12. For background, see issue
  <https://github.com/PyCQA/pylint/issues/4039>. Also, correct a comment
  that referred to SHAKE-256 instead of SHAKE-128.
- Replace "released" with "beta" in several places where there was a copy
  & paste error in dark_lang. Add mention of `beta_lang` to a docstring
  where it was omitted.
- Remove comment regarding Mongo startup; the code it referred to has since
  been removed.
- Fix typos.
2023-02-14 18:11:57 +00:00