(core) Use a new docker image for tests in Jenkins

Summary:
The image Jenkins used up to now was from 2021. We updated buildtools/jenkins-ec2/Dockerfile since then but couldn't use new image; we can now that an issue with mounts in gvisor has been resolved.

The new image uses newer Chrome (111 vs 95); 111 is the latest version that works with the webdriver version we are using (after that one, copy-pasting tests fail).

In addition, this adds a more precise way to maintain python dependencies: by specifying top-level dependencies in the new core/sandbox/requirements3.in. An updated build step compiles that into requirements3.txt, and syncs venv to that using pip-sync.

This addresses the issue that previously, removing a module from dependencies would not have caused the build to remove it from sandbox_venv3.

Test Plan: Existing tests pass on the new image.

Reviewers: georgegevoian

Reviewed By: georgegevoian

Differential Revision: https://phab.getgrist.com/D3952
This commit is contained in:
Dmitry S
2023-07-18 18:27:09 -04:00
parent 534615dd50
commit c0ed4a8a60
2 changed files with 61 additions and 26 deletions

14
sandbox/requirements3.in Normal file
View File

@@ -0,0 +1,14 @@
# python 3 requirements, see requirements.txt for python 2
# From this, "./build python3" generates requirements.txt by running pip-compile.
friendly-traceback
openpyxl
astroid
roman
chardet
iso8601
phonenumberslite
python-dateutil
six
sortedcontainers
unittest-xml-reporting