(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

View File

@ -1,34 +1,55 @@
### python 3 requirements, see requirements.txt for python 2
# friendly-traceback and its dependencies, for python 3 only
friendly-traceback==0.7.48
stack-data==0.5.1
executing==1.1.1
pure-eval==0.2.2
# openpyxl and its dependencies, for imports, which are python 3 only
openpyxl==3.0.10
jdcal==1.4.1
et-xmlfile==1.0.1
# Different astroid version for python 3
#
# This file is autogenerated by pip-compile with Python 3.9
# by the following command:
#
# pip-compile --output-file=core/sandbox/requirements3.txt core/sandbox/requirements3.in
#
astroid==2.14.2
typing_extensions==4.4.0
# Different roman version for python 3
roman==3.3
# Everything after this is the same for python 2 and 3
# via -r core/sandbox/requirements3.in
asttokens==2.0.5
backports.functools-lru-cache==1.6.4
# via
# friendly-traceback
# stack-data
chardet==4.0.0
enum34==1.1.10
# via -r core/sandbox/requirements3.in
et-xmlfile==1.0.1
# via openpyxl
executing==1.1.1
# via
# friendly-traceback
# stack-data
friendly-traceback==0.7.48
# via -r core/sandbox/requirements3.in
iso8601==0.1.12
lazy_object_proxy==1.6.0
# via -r core/sandbox/requirements3.in
lazy-object-proxy==1.6.0
# via astroid
openpyxl==3.0.10
# via -r core/sandbox/requirements3.in
phonenumberslite==8.12.57
python_dateutil==2.8.2
singledispatch==3.6.2
# via -r core/sandbox/requirements3.in
pure-eval==0.2.2
# via
# friendly-traceback
# stack-data
python-dateutil==2.8.2
# via -r core/sandbox/requirements3.in
roman==3.3
# via -r core/sandbox/requirements3.in
six==1.16.0
# via
# -r core/sandbox/requirements3.in
# asttokens
# friendly-traceback
# python-dateutil
# unittest-xml-reporting
sortedcontainers==2.4.0
wrapt==1.12.1
# via -r core/sandbox/requirements3.in
stack-data==0.5.1
# via friendly-traceback
typing-extensions==4.4.0
# via astroid
unittest-xml-reporting==2.0.0
# via -r core/sandbox/requirements3.in
wrapt==1.12.1
# via astroid