Commit Graph

30 Commits

Author SHA1 Message Date
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
Usama Sadiq
db99cbf79c Use latest pip & pip-tools in jenkins_env (#29004)
* fix: replace pip-sync with pip install in env creation

* fix: use pip-tools==6.4.0 with pip==21.3
2021-10-13 18:40:18 +05:00
Tim McCormack
5bb89d95c5 Revert "Revert "Fix Jenkins virtualenv issue that masked stale dependency" (#23828)" (#23866)
This reverts commit 70600d79d7.
2020-05-01 17:33:38 +00:00
Tim McCormack
70600d79d7 Revert "Fix Jenkins virtualenv issue that masked stale dependency" (#23828)
* Revert "Use pip-sync to make sure that dep cache tarball can go safely stale"

This reverts commit d435f4cd3e.

* Revert "Extract worker setup into own shell script, as much as possible"

This reverts commit 0a079e757c.
2020-04-29 02:15:57 +00:00
Tim McCormack
d435f4cd3e Use pip-sync to make sure that dep cache tarball can go safely stale
This "fixes" egg-links in a really hacky way to compensate for the lack
of a real relocatable virtualenv.
2020-04-28 12:56:31 -04:00
Jeremy Bowman
052f853ec1 Fix Jenkins virtualenv cleanup (#22356) 2019-11-21 11:05:05 -05:00
Diana Huang
a4d70cb127 Remove nodeenv install for jenkins. 2019-10-29 11:04:13 -04:00
Diana Huang
c4a8dc9eb7 Update node version used for Jenkins. 2019-10-22 12:33:32 -04:00
Stu Young
b3556ba2ee use archived venv on jenkins (#21378) 2019-08-19 12:55:58 -04:00
Michael Youngstrom
592ab1eb86 Fix quality and python private jobs 2019-01-08 10:36:36 -05:00
Stuart Young
a6e07f9479 fetch correct target branch for diff jobs 2018-10-02 12:20:02 -04:00
Stuart Young
fd580eab97 load cached npm cache on jenkins workers 2018-09-18 11:56:41 -04:00
Michael Youngstrom
b72d136d8c Bump up node install timeout and add verbose 2018-08-13 15:35:28 -04:00
Michael Youngstrom
7fdee1fae9 Give paver timing logs a unique name always 2018-02-06 13:17:20 -05:00
Ari Rizzitano
2ca0aa7b2c upgrade jenkins node version to 8.9.3
bump node version to 8.9.3 [FEDX-409]

bump node version to 8.9.1 [FEDX-409]

8.9.3

don't clean cache

try ignoring course_experience

another attempt

back out that coverage patch
2018-01-22 11:43:27 -05:00
Ari Rizzitano
6ea2ed929b upgrade jenkins node version to 6.11.1 2017-07-11 18:08:27 -04:00
Ben Patterson
6e5769f279 Fix webpack service location for testing. 2017-05-01 17:09:32 -04:00
Brian Jacobel
a2323797f5 Work on sandbox bundling for webpack 2017-05-01 17:09:32 -04:00
Ben Patterson
97466b8ef3 Echo hostname for easier troubleshooting on new relic. 2017-03-21 08:09:04 -04:00
Brian Jacobel
16f8f960fc Bump jenkins node vers to match edx/configuration 2017-02-03 09:52:55 -05:00
Brian Jacobel
0700c48b02 Bump node to 6.9.2 (released Dec 6) 2016-12-13 09:53:07 -05:00
Brian Jacobel
2bd74a462c Upgrade Node to 6.9.1 LTS in Jenkins scripts 2016-12-12 13:43:33 -05:00
Calen Pennington
1e9649e01e Merge pull request #13972 from cpennington/timer-logging
Add timer logging to jenkins test runs
2016-11-16 12:43:37 -05:00
Calen Pennington
a207080897 Add timer logging to jenkins test runs 2016-11-15 11:00:19 -05:00
Ben Patterson
b3a3d729a1 Use nodeenv to manage node version in Jenkins builds
This change:
* gives us the flexibility of managing node from pull-request to pull-request. It'll be a huge lift to folks that want to test out node upgrades like @bjacobel or @andy-armstrong
* Sets us up for a port to Xenial, which will be accomplished in part by using nodeenv for managing the node environment. See a companion PR on the configuration repo for edxapp: edx/configuration#3444

This pull request does not:
* Attempt to solve any stability issues in builds related to node.
* Make node installs any faster
* Create any caching infrastructure to speed up node installs. They will be approximately as fast as they were before. Downloading the node bits build-to-build adds about 3 seconds, which is worth it for the added flexibility.
2016-11-10 10:02:32 -05:00
Ben Patterson
b2467147ae Script should exit non-zero if there is an error raised.
Also, help with an echo.
2016-10-13 12:38:01 -04:00
Ben Patterson
8295e742c9 Fix for spurious 'cb() never called' errors.
Some Jenkins builds are erroring when attempting to set up the
npm environment with the error:

`npm ERR! cb() never called!`

Although it could point to a couple of different things, it is more classically
a sign of a dirty npm environment cache. Cleaning the cache at the start
of any given Jenkins job (which are sourced through this file) should
alleviate the problem.
2016-10-13 07:57:21 -04:00
Ben Patterson
f1b366589b Remove ruby dependencies.
Sass compilation is no longer dependent on Ruby, so we are
removing its dependencies.
2016-02-08 17:02:55 -05:00
Ben Patterson
df821f35ee Add node_modules to the path via the jenkins-common script instead of all-tests.
The jenkins-common script is the better place for this particular setup, since that
script is doing similar setup steps to prepare the environment for running
various tests/subsequent scripts. This also will resolve downstream processes,
such as our jenkins AMI builder (for jenkins-worker images).
2015-09-30 15:57:02 -04:00
Christine Lytwynec
f3327762f7 include jeknins report job as script 2015-02-06 13:41:15 -05:00