Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The image for 6.0.0 with ADDONS takes forever to boot #105

Open
sneridagh opened this issue Dec 13, 2022 · 17 comments
Open

The image for 6.0.0 with ADDONS takes forever to boot #105

sneridagh opened this issue Dec 13, 2022 · 17 comments

Comments

@sneridagh
Copy link
Member

In comparison with the previous images:

Running rc1:

docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e 'ADDONS= plone.app.robotframework==2.0.0b2 plone.app.testing==7.0.0b2' -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:default-homepage -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors plone/plone-backend:6.0.0rc1 ./bin/robot-server plone.app.robotframework.testing.VOLTO_ROBOT_TESTING

Running 6.0.0 final:

docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e 'ADDONS= plone.app.robotframework==2.0.0b2 plone.app.testing==7.0.0b2' -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:default-homepage -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors plone/plone-backend:6.0.0 ./bin/robot-server plone.app.robotframework.testing.VOLTO_ROBOT_TESTING

For me, M1Max first command runs in 8s, the latter in 47s... No clue why, it seems that pip takes much more "Requirement already satisfied:" checks than before.

/cc @jensens @ericof we did update pip to latest and Python 3.11, right? Any idea if that could be the reason?

@jensens
Copy link
Sponsor Member

jensens commented Dec 13, 2022

Maybe there are no Py 3.11/arm64 wheels released for some dependencies and it needs to compile them? Just guessing, w/o logs difficult to tell.

@sneridagh
Copy link
Member Author

@jensens Can you try the commands above, and see if you can reproduce it?

The logs:

=======================================================================================
Installing ADDONS  plone.app.robotframework==2.0.0b2 plone.app.testing==7.0.0b2
THIS IS NOT MEANT TO BE USED IN PRODUCTION
Read about it: https://6.docs.plone.org/install/containers/images/backend.html
=======================================================================================
Collecting plone.app.robotframework==2.0.0b2
  Downloading plone.app.robotframework-2.0.0b2-py3-none-any.whl (128 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 128.8/128.8 kB 4.2 MB/s eta 0:00:00
Collecting plone.app.testing==7.0.0b2
  Downloading plone.app.testing-7.0.0b2-py3-none-any.whl (53 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 53.5/53.5 kB 11.0 MB/s eta 0:00:00
Requirement already satisfied: Products.CMFCore in ./lib/python3.11/site-packages (from plone.app.robotframework==2.0.0b2) (2.6.0)
Requirement already satisfied: Products.CMFPlone in ./lib/python3.11/site-packages (from plone.app.robotframework==2.0.0b2) (6.0.0)
Requirement already satisfied: Products.MailHost in ./lib/python3.11/site-packages (from plone.app.robotframework==2.0.0b2) (4.12)
Requirement already satisfied: Products.PlonePAS>=5.0.1 in ./lib/python3.11/site-packages (from plone.app.robotframework==2.0.0b2) (7.0.0)
Requirement already satisfied: Products.PluggableAuthService in ./lib/python3.11/site-packages (from plone.app.robotframework==2.0.0b2) (2.7.1)
Collecting babel
  Downloading Babel-2.11.0-py3-none-any.whl (9.5 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.5/9.5 MB 24.8 MB/s eta 0:00:00
Collecting plone.testing
  Downloading plone.testing-8.0.3-py2.py3-none-any.whl (121 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 121.4/121.4 kB 25.7 MB/s eta 0:00:00
Requirement already satisfied: plone.uuid in ./lib/python3.11/site-packages (from plone.app.robotframework==2.0.0b2) (1.0.6)
Collecting robotframework
  Downloading robotframework-6.0.1-py3-none-any.whl (658 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 658.6/658.6 kB 22.7 MB/s eta 0:00:00
Collecting robotframework-selenium2library
  Downloading robotframework_selenium2library-3.0.0-py2.py3-none-any.whl (6.2 kB)
Collecting robotframework-seleniumtestability
  Downloading robotframework_seleniumtestability-2.0.0-py3-none-any.whl (23 kB)
Collecting robotsuite
  Downloading robotsuite-2.3.1-py2.py3-none-any.whl (18 kB)
Collecting selenium
  Downloading selenium-4.7.2-py3-none-any.whl (6.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.3/6.3 MB 26.4 MB/s eta 0:00:00
Requirement already satisfied: setuptools in ./lib/python3.11/site-packages (from plone.app.robotframework==2.0.0b2) (65.5.1)
Requirement already satisfied: zope.component in ./lib/python3.11/site-packages (from plone.app.robotframework==2.0.0b2) (5.0.1)
Requirement already satisfied: zope.configuration in ./lib/python3.11/site-packages (from plone.app.robotframework==2.0.0b2) (4.4.1)
Requirement already satisfied: zope.i18n in ./lib/python3.11/site-packages (from plone.app.robotframework==2.0.0b2) (4.9.0)
Requirement already satisfied: zope.schema in ./lib/python3.11/site-packages (from plone.app.robotframework==2.0.0b2) (6.2.1)
Collecting zope.testrunner
  Downloading zope.testrunner-5.6-py2.py3-none-any.whl (229 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 229.2/229.2 kB 17.8 MB/s eta 0:00:00
Requirement already satisfied: six in ./lib/python3.11/site-packages (from plone.app.testing==7.0.0b2) (1.16.0)
Requirement already satisfied: zope.dottedname in ./lib/python3.11/site-packages (from plone.app.testing==7.0.0b2) (5.0)
Requirement already satisfied: zope.testing in ./lib/python3.11/site-packages (from plone.app.testing==7.0.0b2) (4.10)
Requirement already satisfied: five.localsitemanager in ./lib/python3.11/site-packages (from plone.app.testing==7.0.0b2) (3.3)
Requirement already satisfied: plone.memoize in ./lib/python3.11/site-packages (from plone.app.testing==7.0.0b2) (3.0.0)
Requirement already satisfied: Products.GenericSetup in ./lib/python3.11/site-packages (from plone.app.testing==7.0.0b2) (2.2.0)
Requirement already satisfied: Zope in ./lib/python3.11/site-packages (from plone.app.testing==7.0.0b2) (5.7)
Requirement already satisfied: plone.base in ./lib/python3.11/site-packages (from Products.PlonePAS>=5.0.1->plone.app.robotframework==2.0.0b2) (1.0.1)
Requirement already satisfied: plone.i18n in ./lib/python3.11/site-packages (from Products.PlonePAS>=5.0.1->plone.app.robotframework==2.0.0b2) (5.0.0)
Requirement already satisfied: plone.protect>=2.0.3 in ./lib/python3.11/site-packages (from Products.PlonePAS>=5.0.1->plone.app.robotframework==2.0.0b2) (4.1.7)
Requirement already satisfied: plone.session in ./lib/python3.11/site-packages (from Products.PlonePAS>=5.0.1->plone.app.robotframework==2.0.0b2) (4.0.0)
Requirement already satisfied: AccessControl>=4.0a1 in ./lib/python3.11/site-packages (from Products.PluggableAuthService->plone.app.robotframework==2.0.0b2) (5.7)
Requirement already satisfied: Products.PluginRegistry>=1.6 in ./lib/python3.11/site-packages (from Products.PluggableAuthService->plone.app.robotframework==2.0.0b2) (1.10)
Requirement already satisfied: Products.Sessions in ./lib/python3.11/site-packages (from Products.PluggableAuthService->plone.app.robotframework==2.0.0b2) (4.14)
Requirement already satisfied: Products.StandardCacheManagers in ./lib/python3.11/site-packages (from Products.PluggableAuthService->plone.app.robotframework==2.0.0b2) (4.1.1)
Requirement already satisfied: Products.PythonScripts in ./lib/python3.11/site-packages (from Products.GenericSetup->plone.app.testing==7.0.0b2) (4.14)
Requirement already satisfied: Products.ZCatalog in ./lib/python3.11/site-packages (from Products.GenericSetup->plone.app.testing==7.0.0b2) (6.3)
Requirement already satisfied: Acquisition in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.13)
Requirement already satisfied: BTrees in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.11.3)
Requirement already satisfied: Chameleon>=3.7.0 in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (3.10.1)
Requirement already satisfied: DateTime in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.7)
Requirement already satisfied: DocumentTemplate>=4.0 in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.1)
Requirement already satisfied: ExtensionClass in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.9)
Requirement already satisfied: MultiMapping in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.1)
Requirement already satisfied: PasteDeploy in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (3.0.1)
Requirement already satisfied: Persistence in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (3.6)
Requirement already satisfied: RestrictedPython in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (6.0)
Requirement already satisfied: ZConfig>=2.9.2 in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (3.6.1)
Requirement already satisfied: ZODB in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (5.8.0)
Requirement already satisfied: transaction>=2.4 in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (3.0.1)
Requirement already satisfied: waitress in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (2.1.2)
Requirement already satisfied: zExceptions>=3.4 in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.2)
Requirement already satisfied: z3c.pt in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (3.3.1)
Requirement already satisfied: zope.browser in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (2.4)
Requirement already satisfied: zope.browsermenu in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.4)
Requirement already satisfied: zope.browserpage>=4.4.0.dev0 in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.4.0)
Requirement already satisfied: zope.browserresource>=3.11 in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.4)
Requirement already satisfied: zope.container in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.10)
Requirement already satisfied: zope.contentprovider in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.2.1)
Requirement already satisfied: zope.contenttype in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.6)
Requirement already satisfied: zope.datetime in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.3.0)
Requirement already satisfied: zope.deferredimport in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.4)
Requirement already satisfied: zope.event in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.5.0)
Requirement already satisfied: zope.exceptions in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.6)
Requirement already satisfied: zope.globalrequest in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (1.6)
Requirement already satisfied: zope.i18nmessageid in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (5.1.1)
Requirement already satisfied: zope.interface>=3.8 in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (5.5.2)
Requirement already satisfied: zope.lifecycleevent in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.4)
Requirement already satisfied: zope.location in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.3)
Requirement already satisfied: zope.pagetemplate>=4.0.2 in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.6.0)
Requirement already satisfied: zope.processlifetime in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (2.4)
Requirement already satisfied: zope.proxy in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.6.1)
Requirement already satisfied: zope.ptresource in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.3.0)
Requirement already satisfied: zope.publisher in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (6.1.0)
Requirement already satisfied: zope.security in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (5.8)
Requirement already satisfied: zope.sequencesort in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.2)
Requirement already satisfied: zope.site in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.6.1)
Requirement already satisfied: zope.size in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.4)
Requirement already satisfied: zope.tal in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.5)
Requirement already satisfied: zope.tales>=5.0.2 in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (5.2)
Requirement already satisfied: zope.testbrowser in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (5.6.1)
Requirement already satisfied: zope.traversing in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.4.1)
Requirement already satisfied: zope.viewlet in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (4.3)
Requirement already satisfied: pytz>=2015.7 in ./lib/python3.11/site-packages (from babel->plone.app.robotframework==2.0.0b2) (2022.6)
Requirement already satisfied: persistent in ./lib/python3.11/site-packages (from five.localsitemanager->plone.app.testing==7.0.0b2) (4.9.3)
Requirement already satisfied: zope.annotation in ./lib/python3.11/site-packages (from plone.memoize->plone.app.testing==7.0.0b2) (4.8)
Requirement already satisfied: zope.ramcache in ./lib/python3.11/site-packages (from plone.memoize->plone.app.testing==7.0.0b2) (2.4)
Requirement already satisfied: docutils>0.15 in ./lib/python3.11/site-packages (from Products.CMFCore->plone.app.robotframework==2.0.0b2) (0.17.1)
Requirement already satisfied: Products.BTreeFolder2 in ./lib/python3.11/site-packages (from Products.CMFCore->plone.app.robotframework==2.0.0b2) (4.3)
Requirement already satisfied: zope.sendmail>=5.1 in ./lib/python3.11/site-packages (from Products.MailHost->plone.app.robotframework==2.0.0b2) (5.3)
Requirement already satisfied: borg.localrole in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.1.9)
Requirement already satisfied: five.customerize in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (2.1.0)
Requirement already satisfied: lxml in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.9.1)
Requirement already satisfied: plone.api>=1.4.4 in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (2.0.0)
Requirement already satisfied: plone.app.content in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.0.1)
Requirement already satisfied: plone.app.contentlisting in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.0.1)
Requirement already satisfied: plone.app.contentmenu>=2.0.1 in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.0.0)
Requirement already satisfied: plone.app.contentrules in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (5.0.0)
Requirement already satisfied: plone.app.contenttypes in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.0.0)
Requirement already satisfied: plone.app.customerize in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (1.3.12)
Requirement already satisfied: plone.app.dexterity in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.0.3)
Requirement already satisfied: plone.app.discussion in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.0.0)
Requirement already satisfied: plone.app.i18n in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.0.0)
Requirement already satisfied: plone.app.layout>=2.5.15 in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.0.0)
Requirement already satisfied: plone.app.linkintegrity>=1.0.3 in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.6.1)
Requirement already satisfied: plone.app.locales in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (6.0.9)
Requirement already satisfied: plone.app.multilingual in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (6.0.0)
Requirement already satisfied: plone.app.portlets in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (5.0.0)
Requirement already satisfied: plone.app.redirector in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.0.0)
Requirement already satisfied: plone.app.registry in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (2.0.1)
Requirement already satisfied: plone.app.theming in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (5.0.0)
Requirement already satisfied: plone.app.users in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.0.0)
Requirement already satisfied: plone.app.uuid in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (2.2.1)
Requirement already satisfied: plone.app.viewletmanager in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.0.0)
Requirement already satisfied: plone.app.vocabularies in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (5.0.0)
Requirement already satisfied: plone.app.workflow in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (5.0.0)
Requirement already satisfied: plone.browserlayer>=2.1.5 in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.0.0)
Requirement already satisfied: plone.contentrules in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (2.1.2)
Requirement already satisfied: plone.folder in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.1.0)
Requirement already satisfied: plone.indexer in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (1.0.7)
Requirement already satisfied: plone.intelligenttext in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.1.0)
Requirement already satisfied: plone.locking in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (2.2.5)
Requirement already satisfied: plone.outputfilters in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (5.0.0)
Requirement already satisfied: plone.portlet.collection in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.0.0)
Requirement already satisfied: plone.portlet.static in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.0.0)
Requirement already satisfied: plone.portlets in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (2.3.2)
Requirement already satisfied: plone.resource in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (2.1.4)
Requirement already satisfied: plone.schema in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (1.4.0)
Requirement already satisfied: plone.staticresources in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (2.0.3)
Requirement already satisfied: plone.theme in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.0.7)
Requirement already satisfied: plonetheme.barceloneta in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.0.0)
Requirement already satisfied: Products.CMFEditions in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.0.0)
Requirement already satisfied: Products.DCWorkflow in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (2.6.0)
Requirement already satisfied: Products.ExtendedPathIndex in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.0.1)
Requirement already satisfied: Products.isurlinportal in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (1.2.1)
Requirement already satisfied: Products.MimetypesRegistry in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (2.1.9)
Requirement already satisfied: Products.PortalTransforms in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.2.1)
Requirement already satisfied: Products.SiteErrorLog in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (5.6)
Requirement already satisfied: Products.statusmessages in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (5.0.5)
Requirement already satisfied: plone.autoinclude in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (1.0.1)
Requirement already satisfied: webresource>=1.1 in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (1.1)
Requirement already satisfied: zope.app.locales>=3.6.0 in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.3)
Requirement already satisfied: zope.cachedescriptors in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.4)
Requirement already satisfied: zope.deprecation in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.4.0)
Requirement already satisfied: zope.structuredtext in ./lib/python3.11/site-packages (from Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.4)
Collecting robotframework-seleniumlibrary>=3.0.0
  Downloading robotframework_seleniumlibrary-6.0.0-py2.py3-none-any.whl (95 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 95.2/95.2 kB 12.3 MB/s eta 0:00:00
Collecting furl
  Downloading furl-2.1.3-py2.py3-none-any.whl (20 kB)
Collecting wrapt
  Downloading wrapt-1.14.1.tar.gz (50 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 50.9/50.9 kB 17.1 MB/s eta 0:00:00
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Requirement already satisfied: urllib3[socks]~=1.26 in ./lib/python3.11/site-packages (from selenium->plone.app.robotframework==2.0.0b2) (1.26.12)
Collecting trio~=0.17
  Downloading trio-0.22.0-py3-none-any.whl (384 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 384.9/384.9 kB 24.2 MB/s eta 0:00:00
Collecting trio-websocket~=0.9
  Downloading trio_websocket-0.9.2-py3-none-any.whl (16 kB)
Requirement already satisfied: certifi>=2021.10.8 in ./lib/python3.11/site-packages (from selenium->plone.app.robotframework==2.0.0b2) (2022.12.7)
Requirement already satisfied: zope.hookable>=4.2.0 in ./lib/python3.11/site-packages (from zope.component->plone.app.robotframework==2.0.0b2) (5.4)
Requirement already satisfied: python-gettext in ./lib/python3.11/site-packages (from zope.i18n->plone.app.robotframework==2.0.0b2) (4.1)
Requirement already satisfied: AuthEncoding in ./lib/python3.11/site-packages (from AccessControl>=4.0a1->Products.PluggableAuthService->plone.app.robotframework==2.0.0b2) (4.3)
Requirement already satisfied: roman in ./lib/python3.11/site-packages (from DocumentTemplate>=4.0->Zope->plone.app.testing==7.0.0b2) (3.3)
Requirement already satisfied: cffi in ./lib/python3.11/site-packages (from persistent->five.localsitemanager->plone.app.testing==7.0.0b2) (1.15.1)
Requirement already satisfied: decorator in ./lib/python3.11/site-packages (from plone.api>=1.4.4->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (5.1.1)
Requirement already satisfied: plone.app.widgets in ./lib/python3.11/site-packages (from plone.app.content->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.0.0)
Requirement already satisfied: Products.CMFDynamicViewFTI in ./lib/python3.11/site-packages (from plone.app.content->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (7.0.0)
Requirement already satisfied: simplejson in ./lib/python3.11/site-packages (from plone.app.content->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.18.0)
Requirement already satisfied: z3c.form in ./lib/python3.11/site-packages (from plone.app.content->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.3)
Requirement already satisfied: plone.batching>1.0.999 in ./lib/python3.11/site-packages (from plone.app.layout>=2.5.15->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (2.0.0)
Requirement already satisfied: plone.registry in ./lib/python3.11/site-packages (from plone.app.layout>=2.5.15->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (1.2.1)
Requirement already satisfied: plone.app.intid in ./lib/python3.11/site-packages (from plone.app.linkintegrity>=1.0.3->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (1.1.4)
Requirement already satisfied: plone.app.relationfield in ./lib/python3.11/site-packages (from plone.app.linkintegrity>=1.0.3->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.0.1)
Requirement already satisfied: plone.app.querystring in ./lib/python3.11/site-packages (from plone.app.vocabularies->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (2.0.0)
Requirement already satisfied: Unidecode>=1.0.22 in ./lib/python3.11/site-packages (from plone.i18n->Products.PlonePAS>=5.0.1->plone.app.robotframework==2.0.0b2) (1.3.6)
Requirement already satisfied: plone.keyring>=3.0dev in ./lib/python3.11/site-packages (from plone.protect>=2.0.3->Products.PlonePAS>=5.0.1->plone.app.robotframework==2.0.0b2) (3.1.3)
Requirement already satisfied: Zope2 in ./lib/python3.11/site-packages (from plone.protect>=2.0.3->Products.PlonePAS>=5.0.1->plone.app.robotframework==2.0.0b2) (4.0)
Requirement already satisfied: plone.transformchain in ./lib/python3.11/site-packages (from plone.protect>=2.0.3->Products.PlonePAS>=5.0.1->plone.app.robotframework==2.0.0b2) (2.0.2)
Requirement already satisfied: repoze.xmliter>=0.3 in ./lib/python3.11/site-packages (from plone.protect>=2.0.3->Products.PlonePAS>=5.0.1->plone.app.robotframework==2.0.0b2) (0.6.1)
Requirement already satisfied: collective.monkeypatcher in ./lib/python3.11/site-packages (from plone.protect>=2.0.3->Products.PlonePAS>=5.0.1->plone.app.robotframework==2.0.0b2) (1.2.1)
Requirement already satisfied: z3c.zcmlhook in ./lib/python3.11/site-packages (from plone.protect>=2.0.3->Products.PlonePAS>=5.0.1->plone.app.robotframework==2.0.0b2) (1.1)
Requirement already satisfied: zope.copy in ./lib/python3.11/site-packages (from Products.CMFEditions->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.3)
Requirement already satisfied: Products.CMFDiffTool in ./lib/python3.11/site-packages (from Products.CMFEditions->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.3.3)
Requirement already satisfied: Products.CMFUid in ./lib/python3.11/site-packages (from Products.CMFEditions->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.4)
Requirement already satisfied: Products.ZopeVersionControl in ./lib/python3.11/site-packages (from Products.CMFEditions->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.0.0)
Requirement already satisfied: Missing in ./lib/python3.11/site-packages (from Products.ZCatalog->Products.GenericSetup->plone.app.testing==7.0.0b2) (4.2)
Requirement already satisfied: Record in ./lib/python3.11/site-packages (from Products.ZCatalog->Products.GenericSetup->plone.app.testing==7.0.0b2) (3.6)
Collecting robotframework-pythonlibcore>=2.2.1
  Downloading robotframework_pythonlibcore-4.0.0-py2.py3-none-any.whl (10 kB)
Requirement already satisfied: attrs>=19.2.0 in ./lib/python3.11/site-packages (from trio~=0.17->selenium->plone.app.robotframework==2.0.0b2) (22.1.0)
Collecting sortedcontainers
  Downloading sortedcontainers-2.4.0-py2.py3-none-any.whl (29 kB)
Collecting async-generator>=1.9
  Downloading async_generator-1.10-py3-none-any.whl (18 kB)
Requirement already satisfied: idna in ./lib/python3.11/site-packages (from trio~=0.17->selenium->plone.app.robotframework==2.0.0b2) (3.4)
Collecting outcome
  Downloading outcome-1.2.0-py2.py3-none-any.whl (9.7 kB)
Collecting sniffio
  Downloading sniffio-1.3.0-py3-none-any.whl (10 kB)
Collecting wsproto>=0.14
  Downloading wsproto-1.2.0-py3-none-any.whl (24 kB)
Collecting PySocks!=1.5.7,<2.0,>=1.5.6
  Downloading PySocks-1.7.1-py3-none-any.whl (16 kB)
Requirement already satisfied: multipart in ./lib/python3.11/site-packages (from zope.publisher->Zope->plone.app.testing==7.0.0b2) (0.2.4)
Requirement already satisfied: Paste in ./lib/python3.11/site-packages (from Zope->plone.app.testing==7.0.0b2) (3.5.2)
Requirement already satisfied: zope.componentvocabulary in ./lib/python3.11/site-packages (from five.customerize->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (2.3.0)
Collecting orderedmultidict>=1.0.1
  Downloading orderedmultidict-1.0.1-py2.py3-none-any.whl (11 kB)
Requirement already satisfied: plone.stringinterp in ./lib/python3.11/site-packages (from plone.app.contentrules->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (1.3.3)
Requirement already satisfied: plone.autoform in ./lib/python3.11/site-packages (from plone.app.contentrules->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (2.0.0)
Requirement already satisfied: plone.app.z3cform in ./lib/python3.11/site-packages (from plone.app.contentrules->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.0.0)
Requirement already satisfied: plone.app.event>=2.0 in ./lib/python3.11/site-packages (from plone.app.contenttypes->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.0.0)
Requirement already satisfied: plone.dexterity>=2.2.1 in ./lib/python3.11/site-packages (from plone.app.contenttypes->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.0.0)
Requirement already satisfied: plone.namedfile>=4.2.0 in ./lib/python3.11/site-packages (from plone.app.contenttypes->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (6.0.0)
Requirement already satisfied: plone.app.versioningbehavior in ./lib/python3.11/site-packages (from plone.app.contenttypes->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (2.0.0)
Requirement already satisfied: plone.app.lockingbehavior in ./lib/python3.11/site-packages (from plone.app.contenttypes->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (1.0.7)
Requirement already satisfied: plone.behavior>=1.3.0 in ./lib/python3.11/site-packages (from plone.app.contenttypes->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (1.4.0)
Requirement already satisfied: plone.app.textfield in ./lib/python3.11/site-packages (from plone.app.dexterity->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (1.3.6)
Requirement already satisfied: plone.formwidget.namedfile in ./lib/python3.11/site-packages (from plone.app.dexterity->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.0.0)
Requirement already satisfied: plone.rfc822 in ./lib/python3.11/site-packages (from plone.app.dexterity->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (2.0.2)
Requirement already satisfied: plone.schemaeditor>1.3.3 in ./lib/python3.11/site-packages (from plone.app.dexterity->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.0.0)
Requirement already satisfied: plone.supermodel>=1.1 in ./lib/python3.11/site-packages (from plone.app.dexterity->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (2.0.0)
Requirement already satisfied: plone.z3cform>=0.6.0 in ./lib/python3.11/site-packages (from plone.app.dexterity->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (2.0.0)
Requirement already satisfied: jsonschema in ./lib/python3.11/site-packages (from plone.schema->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.17.0)
Requirement already satisfied: feedparser in ./lib/python3.11/site-packages (from plone.app.portlets->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (6.0.10)
Requirement already satisfied: ZODB3 in ./lib/python3.11/site-packages (from plone.portlets->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.11.0)
Requirement already satisfied: diazo>=1.0.3 in ./lib/python3.11/site-packages (from plone.app.theming->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (1.5.0)
Requirement already satisfied: plone.resourceeditor>=2.0.0 in ./lib/python3.11/site-packages (from plone.app.theming->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.0.4)
Requirement already satisfied: plone.subrequest in ./lib/python3.11/site-packages (from plone.app.theming->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (2.0.0)
Requirement already satisfied: python-dateutil in ./lib/python3.11/site-packages (from plone.app.theming->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (2.8.2)
Requirement already satisfied: beautifulsoup4 in ./lib/python3.11/site-packages (from plone.outputfilters->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.11.1)
Requirement already satisfied: Pillow>=3.1.0 in ./lib/python3.11/site-packages (from Products.PortalTransforms->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (9.3.0)
Requirement already satisfied: Markdown>=2.6.5 in ./lib/python3.11/site-packages (from Products.PortalTransforms->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.4.1)
Requirement already satisfied: plone.caching in ./lib/python3.11/site-packages (from plone.resource->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (1.2.2)
Requirement already satisfied: z3c.caching in ./lib/python3.11/site-packages (from plone.resource->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (2.2)
Requirement already satisfied: zope.filerepresentation in ./lib/python3.11/site-packages (from plone.resource->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (5.0.0)
Requirement already satisfied: future in ./lib/python3.11/site-packages (from Products.BTreeFolder2->Products.CMFCore->plone.app.robotframework==2.0.0b2) (0.18.2)
Requirement already satisfied: Products.ExternalMethod in ./lib/python3.11/site-packages (from Products.DCWorkflow->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.6)
Requirement already satisfied: zc.lockfile in ./lib/python3.11/site-packages (from ZODB->Zope->plone.app.testing==7.0.0b2) (2.0)
Requirement already satisfied: zodbpickle>=1.0.1 in ./lib/python3.11/site-packages (from ZODB->Zope->plone.app.testing==7.0.0b2) (2.6)
Requirement already satisfied: WebTest>=2.0.30 in ./lib/python3.11/site-packages (from zope.testbrowser->Zope->plone.app.testing==7.0.0b2) (3.0.0)
Requirement already satisfied: SoupSieve>=1.9.0 in ./lib/python3.11/site-packages (from zope.testbrowser->Zope->plone.app.testing==7.0.0b2) (2.3.2.post1)
Requirement already satisfied: WSGIProxy2 in ./lib/python3.11/site-packages (from zope.testbrowser->Zope->plone.app.testing==7.0.0b2) (0.5.1)
Requirement already satisfied: cssselect in ./lib/python3.11/site-packages (from diazo>=1.0.3->plone.app.theming->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (1.2.0)
Requirement already satisfied: Products.DateRecurringIndex in ./lib/python3.11/site-packages (from plone.app.event>=2.0->plone.app.contenttypes->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (3.0.1)
Requirement already satisfied: icalendar in ./lib/python3.11/site-packages (from plone.app.event>=2.0->plone.app.contenttypes->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (5.0.3)
Requirement already satisfied: plone.event>=1.0 in ./lib/python3.11/site-packages (from plone.app.event>=2.0->plone.app.contenttypes->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (1.4.1)
Requirement already satisfied: plone.formwidget.recurrence[z3cform]>=1.2.4 in ./lib/python3.11/site-packages (from plone.app.event>=2.0->plone.app.contenttypes->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (2.1.5)
Requirement already satisfied: z3c.formwidget.query in ./lib/python3.11/site-packages (from plone.app.z3cform->plone.app.contentrules->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (1.0.0)
Requirement already satisfied: plone.alterego in ./lib/python3.11/site-packages (from plone.dexterity>=2.2.1->plone.app.contenttypes->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (1.1.5)
Requirement already satisfied: piexif in ./lib/python3.11/site-packages (from plone.namedfile>=4.2.0->plone.app.contenttypes->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (1.1.3)
Requirement already satisfied: plone.scale[storage]>=3.0 in ./lib/python3.11/site-packages (from plone.namedfile>=4.2.0->plone.app.contenttypes->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.0.0)
Requirement already satisfied: WebOb>=1.2 in ./lib/python3.11/site-packages (from WebTest>=2.0.30->zope.testbrowser->Zope->plone.app.testing==7.0.0b2) (1.8.7)
Collecting h11<1,>=0.9.0
  Downloading h11-0.14.0-py3-none-any.whl (58 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 58.3/58.3 kB 12.3 MB/s eta 0:00:00
Requirement already satisfied: ZEO>=4.0.0dev in ./lib/python3.11/site-packages (from ZODB3->plone.portlets->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (5.3.0)
Requirement already satisfied: pycparser in ./lib/python3.11/site-packages (from cffi->persistent->five.localsitemanager->plone.app.testing==7.0.0b2) (2.21)
Requirement already satisfied: sgmllib3k in ./lib/python3.11/site-packages (from feedparser->plone.app.portlets->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (1.0.0)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in ./lib/python3.11/site-packages (from jsonschema->plone.schema->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (0.19.2)
Requirement already satisfied: zope.intid in ./lib/python3.11/site-packages (from plone.app.intid->plone.app.linkintegrity>=1.0.3->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.4.0)
Requirement already satisfied: five.intid>=1.0 in ./lib/python3.11/site-packages (from plone.app.intid->plone.app.linkintegrity>=1.0.3->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (1.2.6)
Requirement already satisfied: z3c.relationfield>0.7.999 in ./lib/python3.11/site-packages (from plone.app.relationfield->plone.app.linkintegrity>=1.0.3->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (0.9.0)
Requirement already satisfied: zope.keyreference in ./lib/python3.11/site-packages (from five.intid>=1.0->plone.app.intid->plone.app.linkintegrity>=1.0.3->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (5.0.0)
Requirement already satisfied: z3c.objpath in ./lib/python3.11/site-packages (from z3c.relationfield>0.7.999->plone.app.relationfield->plone.app.linkintegrity>=1.0.3->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (1.3)
Requirement already satisfied: zc.relation>=1.0 in ./lib/python3.11/site-packages (from z3c.relationfield>0.7.999->plone.app.relationfield->plone.app.linkintegrity>=1.0.3->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (1.1.post2)
Requirement already satisfied: zdaemon in ./lib/python3.11/site-packages (from ZEO>=4.0.0dev->ZODB3->plone.portlets->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.4)
Building wheels for collected packages: wrapt
  Building wheel for wrapt (setup.py): started
  Building wheel for wrapt (setup.py): finished with status 'done'
  Created wheel for wrapt: filename=wrapt-1.14.1-cp311-cp311-linux_aarch64.whl size=21621 sha256=076aa5789d4bb6c87edce916356b5ef38ef3ecdb751b6fd7224587e4e3c309bc
  Stored in directory: /root/.cache/pip/wheels/6c/5f/ff/a07f5f99c11c1480c6d2d1d6e0adadd8c1d05bdd668173bc42
Successfully built wrapt
Installing collected packages: sortedcontainers, wrapt, sniffio, robotframework-pythonlibcore, robotframework, PySocks, outcome, orderedmultidict, h11, babel, async-generator, wsproto, trio, robotsuite, plone.testing, furl, zope.testrunner, trio-websocket, selenium, robotframework-seleniumlibrary, robotframework-seleniumtestability, robotframework-selenium2library, plone.app.testing, plone.app.robotframework
Successfully installed PySocks-1.7.1 async-generator-1.10 babel-2.11.0 furl-2.1.3 h11-0.14.0 orderedmultidict-1.0.1 outcome-1.2.0 plone.app.robotframework-2.0.0b2 plone.app.testing-7.0.0b2 plone.testing-8.0.3 robotframework-6.0.1 robotframework-pythonlibcore-4.0.0 robotframework-selenium2library-3.0.0 robotframework-seleniumlibrary-6.0.0 robotframework-seleniumtestability-2.0.0 robotsuite-2.3.1 selenium-4.7.2 sniffio-1.3.0 sortedcontainers-2.4.0 trio-0.22.0 trio-websocket-0.9.2 wrapt-1.14.1 wsproto-1.2.0 zope.testrunner-5.6
^C10:37:20 [ wait ] Starting Zope robot server
10:37:23 [ ready ] Started Zope robot server
XMLRPC: http://0.0.0.0:49999```

@jensens
Copy link
Sponsor Member

jensens commented Dec 13, 2022

wrapt is the only new dependency with the need of a build, is this what take so long?
It does not provide a 3.11 wheel, see https://pypi.org/project/wrapt/1.14.1/#files

probably it would be good to create an issue here https://github.com/GrahamDumpleton/wrapt/issues and ask if we can have 3.11 wheel too.

@Rudd-O
Copy link
Contributor

Rudd-O commented Dec 14, 2022

wrapt is the only new dependency with the need of a build, is this what take so long? It does not provide a 3.11 wheel, see https://pypi.org/project/wrapt/1.14.1/#files

probably it would be good to create an issue here https://github.com/GrahamDumpleton/wrapt/issues and ask if we can have 3.11 wheel too.

The new build method with python3 -m build (something pip calls internally) takes ages to build. It's not at all like the previous method — it creates a whole new build env.

@sneridagh
Copy link
Member Author

@jensens @ericof if it's a pip thing, maybe we should go back to previous pip versions then come back when they figure this out?

@jensens
Copy link
Sponsor Member

jensens commented Dec 15, 2022

First we need to try if it helps.

@mauritsvanrees would this be possible?

@mauritsvanrees
Copy link
Sponsor Member

@jensens I don't understand what you are proposing.

For me, wrapt does not seem to be a problem:

$ python3.11 -mvenv foo
$ cd foo
$ bin/pip install -U pip setuptools wheel build
$ bin/pip cache list wrapt
Cache contents:

 - wrapt-1.14.1-cp311-cp311-macosx_12_0_x86_64.whl (35 kB)
$ bin/pip cache remove wrapt
Files removed: 1
$ time bin/pip install wrapt
Collecting wrapt
  Using cached wrapt-1.14.1.tar.gz (50 kB)
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: wrapt
  Building wheel for wrapt (setup.py) ... done
  Created wheel for wrapt: filename=wrapt-1.14.1-cp311-cp311-macosx_12_0_x86_64.whl size=35397 sha256=87b56c899d2ea72f6a6a44df79d604069f2ddf828a45ff188aa223f4ad3f61e7
  Stored in directory: /Users/maurits/Library/Caches/pip/wheels/6c/5f/ff/a07f5f99c11c1480c6d2d1d6e0adadd8c1d05bdd668173bc42
Successfully built wrapt
Installing collected packages: wrapt
Successfully installed wrapt-1.14.1

real	0m2.902s
user	0m1.704s
sys	0m0.612s

So it takes 3 seconds to install wrapt.

@mauritsvanrees
Copy link
Sponsor Member

@sneridagh I wanted to try out your two initial commands, but the first one with rc1 already lets me stare maybe ten minutes at this output, waiting for something to happen:

Requirement already satisfied: zdaemon in ./lib/python3.10/site-packages (from ZEO>=4.0.0dev->ZODB3->plone.portlets->Products.CMFPlone->plone.app.robotframework==2.0.0b2) (4.3)
Installing collected packages: sortedcontainers, wrapt, sniffio, robotframework-pythonlibcore, robotframework, PySocks, outcome, orderedmultidict, h11, exceptiongroup, babel, async-generator, wsproto, trio, robotsuite, plone.testing, furl, zope.testrunner, trio-websocket, selenium, robotframework-seleniumlibrary, robotframework-seleniumtestability, robotframework-selenium2library, plone.app.testing, plone.app.robotframework
Successfully installed PySocks-1.7.1 async-generator-1.10 babel-2.11.0 exceptiongroup-1.0.4 furl-2.1.3 h11-0.14.0 orderedmultidict-1.0.1 outcome-1.2.0 plone.app.robotframework-2.0.0b2 plone.app.testing-7.0.0b2 plone.testing-8.0.3 robotframework-6.0.1 robotframework-pythonlibcore-4.0.0 robotframework-selenium2library-3.0.0 robotframework-seleniumlibrary-6.0.0 robotframework-seleniumtestability-2.0.0 robotsuite-2.3.1 selenium-4.7.2 sniffio-1.3.0 sortedcontainers-2.4.0 trio-0.22.0 trio-websocket-0.9.2 wrapt-1.14.1 wsproto-1.2.0 zope.testrunner-5.6

[notice] A new release of pip available: 22.2.2 -> 22.3.1
[notice] To update, run: python -m pip install --upgrade pip

@jensens
Copy link
Sponsor Member

jensens commented Dec 15, 2022

@mauritsvanrees no idea why, is it ARM64 related? I do not propose anything. Before, I want to know the problem. Seems something is slow in a specific combination. Work for me too, btw. Nothing is slow here.

@mauritsvanrees
Copy link
Sponsor Member

I have a Mac Intel, so no ARM.

With rc1 I was waiting for a long time, but actually it was ready, it just did not tell me. I waited an hour and then pressed CTRL-C and I got the output that should have been printed an hour ago:

^C20:57:58 [ wait ] Starting Zope robot server
20:58:13 [ ready ] Started Zope robot server
XMLRPC: http://0.0.0.0:49999

21:57:54 [ wait ] Stopping Zope robot server

Trying it again, I can visit http://localhost:55001/plone just fine... :-D

With 6.0.0 it is the same, quite fast.

@jensens
Copy link
Sponsor Member

jensens commented Dec 15, 2022

@sneridagh sounds odd, any idea how to reproduce?

@sneridagh
Copy link
Member Author

sneridagh commented Dec 19, 2022

For the robot server this is ok, so when it shows:

^C20:57:58 [ wait ] Starting Zope robot server
20:58:13 [ ready ] Started Zope robot server
XMLRPC: http://0.0.0.0:49999

21:57:54 [ wait ] Stopping Zope robot server

it's ready and you can access to http://localhost:55001/plone. Reaching there for me it's like I said, 45s vs 8s before final. If you could try both commands, then time them:

Running rc1:

docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e 'ADDONS= plone.app.robotframework==2.0.0b2 plone.app.testing==7.0.0b2' -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:default-homepage -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors plone/plone-backend:6.0.0rc1 ./bin/robot-server plone.app.robotframework.testing.VOLTO_ROBOT_TESTING

Running 6.0.0 final:

docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e 'ADDONS= plone.app.robotframework==2.0.0b2 plone.app.testing==7.0.0b2' -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:default-homepage -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors plone/plone-backend:6.0.0 ./bin/robot-server plone.app.robotframework.testing.VOLTO_ROBOT_TESTING

Would be great.

@mauritsvanrees
Copy link
Sponsor Member

Problem is that I do not see when it is ready. The last output is this on rc1:

[notice] A new release of pip available: 22.2.2 -> 22.3.1
[notice] To update, run: python -m pip install --upgrade pip

On 6.0.0 the above warning notice is not there, so this is the last I see:

Installing collected packages: sortedcontainers, wrapt, sniffio, robotframework-pythonlibcore, robotframework, PySocks, outcome, orderedmultidict, h11, babel, async-generator, wsproto, trio, robotsuite, plone.testing, furl, zope.testrunner, trio-websocket, selenium, robotframework-seleniumlibrary, robotframework-seleniumtestability, robotframework-selenium2library, plone.app.testing, plone.app.robotframework
Successfully installed PySocks-1.7.1 async-generator-1.10 babel-2.11.0 furl-2.1.3 h11-0.14.0 orderedmultidict-1.0.1 outcome-1.2.0 plone.app.robotframework-2.0.0b2 plone.app.testing-7.0.0b2 plone.testing-8.0.3 robotframework-6.0.1 robotframework-pythonlibcore-4.0.0 robotframework-selenium2library-3.0.0 robotframework-seleniumlibrary-6.0.0 robotframework-seleniumtestability-2.0.0 robotsuite-2.3.1 selenium-4.7.2 sniffio-1.3.0 sortedcontainers-2.4.0 trio-0.22.0 trio-websocket-0.9.2 wrapt-1.14.1 wsproto-1.2.0 zope.testrunner-5.6

I only get more text when I press CTRL-C.
Okay, there is a way. I open a second terminal and do:

time wget http://localhost:55001/plone

This will retry the page until it gets a result.
Let's do each docker run twice, and only time the second one.

  • For rc1: 37 seconds
  • For 6.0.0: 1 minute 46 seconds

But maybe you should not specify beta versions for the add-ons: Plone already pins them. Let's try this: ADDONS= plone.app.robotframework plone.app.testing. No, for 6.0.0 this takes the same time. So almost three times as long as for rc1.

In the last call, when I ignore lines with "Requirement already satisfied", this is the output:

$ time docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e 'ADDONS= plone.app.robotframework plone.app.testing' -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:default-homepage -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors plone/plone-backend:6.0.0 ./bin/robot-server plone.app.robotframework.testing.VOLTO_ROBOT_TESTING
=======================================================================================
Installing ADDONS  plone.app.robotframework plone.app.testing
THIS IS NOT MEANT TO BE USED IN PRODUCTION
Read about it: https://6.docs.plone.org/install/containers/images/backend.html
=======================================================================================
Collecting plone.app.robotframework
  Downloading plone.app.robotframework-2.0.0-py3-none-any.whl (128 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 128.9/128.9 kB 1.6 MB/s eta 0:00:00
Collecting plone.app.testing
  Downloading plone.app.testing-7.0.0-py3-none-any.whl (53 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 53.5/53.5 kB 2.8 MB/s eta 0:00:00
Collecting babel
  Downloading Babel-2.11.0-py3-none-any.whl (9.5 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.5/9.5 MB 11.4 MB/s eta 0:00:00
Collecting plone.testing
  Downloading plone.testing-8.0.3-py2.py3-none-any.whl (121 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 121.4/121.4 kB 13.4 MB/s eta 0:00:00
Collecting robotframework
  Downloading robotframework-6.0.1-py3-none-any.whl (658 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 658.6/658.6 kB 11.3 MB/s eta 0:00:00
Collecting robotframework-selenium2library
  Downloading robotframework_selenium2library-3.0.0-py2.py3-none-any.whl (6.2 kB)
Collecting robotframework-seleniumtestability
  Downloading robotframework_seleniumtestability-2.0.0-py3-none-any.whl (23 kB)
Collecting robotsuite
  Downloading robotsuite-2.3.1-py2.py3-none-any.whl (18 kB)
Collecting selenium
  Downloading selenium-4.7.2-py3-none-any.whl (6.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.3/6.3 MB 10.4 MB/s eta 0:00:00
Collecting zope.testrunner
  Downloading zope.testrunner-5.6-py2.py3-none-any.whl (229 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 229.2/229.2 kB 9.1 MB/s eta 0:00:00
Collecting robotframework-seleniumlibrary>=3.0.0
  Downloading robotframework_seleniumlibrary-6.0.0-py2.py3-none-any.whl (95 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 95.2/95.2 kB 4.2 MB/s eta 0:00:00
Collecting furl
  Downloading furl-2.1.3-py2.py3-none-any.whl (20 kB)
Collecting wrapt
  Downloading wrapt-1.14.1.tar.gz (50 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 50.9/50.9 kB 4.3 MB/s eta 0:00:00
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Collecting trio~=0.17
  Downloading trio-0.22.0-py3-none-any.whl (384 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 384.9/384.9 kB 8.0 MB/s eta 0:00:00
Collecting trio-websocket~=0.9
  Downloading trio_websocket-0.9.2-py3-none-any.whl (16 kB)
Collecting robotframework-pythonlibcore>=2.2.1
  Downloading robotframework_pythonlibcore-4.0.0-py2.py3-none-any.whl (10 kB)
Collecting sortedcontainers
  Downloading sortedcontainers-2.4.0-py2.py3-none-any.whl (29 kB)
Collecting async-generator>=1.9
  Downloading async_generator-1.10-py3-none-any.whl (18 kB)
Collecting outcome
  Downloading outcome-1.2.0-py2.py3-none-any.whl (9.7 kB)
Collecting sniffio
  Downloading sniffio-1.3.0-py3-none-any.whl (10 kB)
Collecting wsproto>=0.14
  Downloading wsproto-1.2.0-py3-none-any.whl (24 kB)
Collecting PySocks!=1.5.7,<2.0,>=1.5.6
  Downloading PySocks-1.7.1-py3-none-any.whl (16 kB)
Collecting orderedmultidict>=1.0.1
  Downloading orderedmultidict-1.0.1-py2.py3-none-any.whl (11 kB)
Collecting h11<1,>=0.9.0
  Downloading h11-0.14.0-py3-none-any.whl (58 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 58.3/58.3 kB 4.9 MB/s eta 0:00:00
Building wheels for collected packages: wrapt
  Building wheel for wrapt (setup.py): started
  Building wheel for wrapt (setup.py): finished with status 'done'
  Created wheel for wrapt: filename=wrapt-1.14.1-cp311-cp311-linux_x86_64.whl size=21621 sha256=6e777389bd6b121f8348947fb73d07e202a7597f32cf7c84f6a08a2728540146
  Stored in directory: /root/.cache/pip/wheels/6c/5f/ff/a07f5f99c11c1480c6d2d1d6e0adadd8c1d05bdd668173bc42
Successfully built wrapt
Installing collected packages: sortedcontainers, wrapt, sniffio, robotframework-pythonlibcore, robotframework, PySocks, outcome, orderedmultidict, h11, babel, async-generator, wsproto, trio, robotsuite, plone.testing, furl, zope.testrunner, trio-websocket, selenium, robotframework-seleniumlibrary, robotframework-seleniumtestability, robotframework-selenium2library, plone.app.testing, plone.app.robotframework
Successfully installed PySocks-1.7.1 async-generator-1.10 babel-2.11.0 furl-2.1.3 h11-0.14.0 orderedmultidict-1.0.1 outcome-1.2.0 plone.app.robotframework-2.0.0 plone.app.testing-7.0.0 plone.testing-8.0.3 robotframework-6.0.1 robotframework-pythonlibcore-4.0.0 robotframework-selenium2library-3.0.0 robotframework-seleniumlibrary-6.0.0 robotframework-seleniumtestability-2.0.0 robotsuite-2.3.1 selenium-4.7.2 sniffio-1.3.0 sortedcontainers-2.4.0 trio-0.22.0 trio-websocket-0.9.2 wrapt-1.14.1 wsproto-1.2.0 zope.testrunner-5.6

That is 24 packages downloaded.
Trying the same for rc1, I see 25 packages are downloaded.

I suspect the speed difference comes from either pip or setuptools.

@sneridagh
Copy link
Member Author

Just taking a look at CI (GHA) and the performance is as bad as locally... I really think we should take a closer look and make the required tests using other versions (even downgrade).

@spereverde
Copy link
Sponsor Member

I don't know if it's related, but we just updated our setup to Plone 6.0.0 and noticed significantly longer build times when using the versions for pip, setuptools, wheel and zc.buildout from dist.plone.org.
So far I've narrowed it down to:

  • setuptools 56.0.0: 2 minutes
  • setuptools 65.x: 12 minutes or more
    All the other versions did not affect the build (buildout) time

@spereverde
Copy link
Sponsor Member

I don't know if it's related, but we just updated our setup to Plone 6.0.0 and noticed significantly longer build times when using the versions for pip, setuptools, wheel and zc.buildout from dist.plone.org. So far I've narrowed it down to:

  • setuptools 56.0.0: 2 minutes
  • setuptools 65.x: 12 minutes or more
    All the other versions did not affect the build (buildout) time

narrowed it down:

  • setuptools 59.0.1: 2 minutes
  • setuptools 60.0.0: 17 minutes

@mauritsvanrees
Copy link
Sponsor Member

What can help a lot, if you have a buildout download cache, is to delete (or temporarily rename) this, especially the dist directory in it. You can easily have several thousand packages in there, and this directory gets interpreted as an extra find-link, and they all get checked for compatibility with your platform. This can take dozens of seconds per buildout run.

But the exact setuptools version should not matter too much for this part I think, except that setuptools 67 is extremely slow here. I have a PR for that, which seems close to being merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants