From a1cf6ab45f07be4a9fa512b35d5633efe953b894 Mon Sep 17 00:00:00 2001 From: Michael Howitz Date: Tue, 17 Jun 2025 16:52:41 +0200 Subject: [PATCH 1/2] Include ZTK versions and run their tests here. So we no longer depend on ZTK releases to see updates of these versions. --- .meta.toml | 2 +- buildout.cfg | 4 +- docs/changes.rst | 7 ++++ docs/release.rst | 4 -- grok-sources.cfg | 70 +++++++++++++++++++++++++++++++ grok-versions.cfg | 105 +++++++++++++++++++++++++++++++++++++++++++++- grok.cfg | 68 ++++++++++++++++++++++++++++-- tox.ini | 2 +- 8 files changed, 250 insertions(+), 12 deletions(-) diff --git a/.meta.toml b/.meta.toml index 2bc8322..ee3244d 100644 --- a/.meta.toml +++ b/.meta.toml @@ -15,7 +15,7 @@ with-windows = false [tox] use-flake8 = true testenv-commands = [ - "{envdir}/bin/test-grok {posargs:-cv}", + "{envdir}/bin/test {posargs:-cv}", ] testenv-setenv = [ "zope_i18n_compile_mo_files=True", diff --git a/buildout.cfg b/buildout.cfg index ee3ecc9..555280c 100644 --- a/buildout.cfg +++ b/buildout.cfg @@ -4,7 +4,7 @@ extends = parts = checkversions - test-grok + test extensions = mr.developer allow-picked-versions = false @@ -18,7 +18,7 @@ auto-checkout = recipe = zc.recipe.egg eggs = z3c.checkversions [buildout] -[test-grok] +[test] recipe = z3c.recipe.compattest include = ${grok:packages} exclude = diff --git a/docs/changes.rst b/docs/changes.rst index f983739..6e6eb86 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -1,6 +1,13 @@ .. note:: The buildout versions file for all current versions can be found at https://zopefoundation.github.io/groktoolkit/ +5.5 (unreleased) +---------------- + +- Include Zope toolkit (ZTK) versions directly into GROK toolkit and run their + tests here so we no longer depend on ZTK releases to see updates of these + versions. + 5.4 (2025-06-10) ---------------- diff --git a/docs/release.rst b/docs/release.rst index 97db3a1..bc5f184 100644 --- a/docs/release.rst +++ b/docs/release.rst @@ -46,10 +46,6 @@ Automated way Releasing a new GROK toolkit version ===================================== -* Check whether there is a new version of ZTK (Compare - https://zopefoundation.github.io/zopetoolkit/ with ``grok.cfg``) - - * If there is newer version: Update to it and run the tests using ``tox -pauto``. * Make sure all tests are running successfully. * Check wether the supported Python version are correct in ``grok-versions.cfg``, see ``.github/workflows/tests.yml`` for the Python versions under test. diff --git a/grok-sources.cfg b/grok-sources.cfg index 4b3107d..58282c3 100644 --- a/grok-sources.cfg +++ b/grok-sources.cfg @@ -3,6 +3,76 @@ github = https://github.com/zopefoundation github_push = git@github.com:zopefoundation [sources] +# ZTK +zope.annotation = git ${buildout:github}/zope.annotation pushurl=${buildout:github_push}/zope.annotation +zope.applicationcontrol = git ${buildout:github}/zope.applicationcontrol pushurl=${buildout:github_push}/zope.applicationcontrol +zope.authentication = git ${buildout:github}/zope.authentication pushurl=${buildout:github_push}/zope.authentication +zope.browser = git ${buildout:github}/zope.browser pushurl=${buildout:github_push}/zope.browser +zope.browsermenu = git ${buildout:github}/zope.browsermenu pushurl=${buildout:github_push}/zope.browsermenu +zope.browserpage = git ${buildout:github}/zope.browserpage pushurl=${buildout:github_push}/zope.browserpage +zope.browserresource = git ${buildout:github}/zope.browserresource pushurl=${buildout:github_push}/zope.browserresource +zope.cachedescriptors = git ${buildout:github}/zope.cachedescriptors pushurl=${buildout:github_push}/zope.cachedescriptors +zope.catalog = git ${buildout:github}/zope.catalog pushurl=${buildout:github_push}/zope.catalog +zope.component = git ${buildout:github}/zope.component pushurl=${buildout:github_push}/zope.component +zope.componentvocabulary = git ${buildout:github}/zope.componentvocabulary pushurl=${buildout:github_push}/zope.componentvocabulary +zope.configuration = git ${buildout:github}/zope.configuration pushurl=${buildout:github_push}/zope.configuration +zope.container = git ${buildout:github}/zope.container pushurl=${buildout:github_push}/zope.container +zope.contentprovider = git ${buildout:github}/zope.contentprovider pushurl=${buildout:github_push}/zope.contentprovider +zope.contenttype = git ${buildout:github}/zope.contenttype pushurl=${buildout:github_push}/zope.contenttype +zope.copy = git ${buildout:github}/zope.copy pushurl=${buildout:github_push}/zope.copy +zope.copypastemove = git ${buildout:github}/zope.copypastemove pushurl=${buildout:github_push}/zope.copypastemove +zope.datetime = git ${buildout:github}/zope.datetime pushurl=${buildout:github_push}/zope.datetime +zope.deferredimport = git ${buildout:github}/zope.deferredimport pushurl=${buildout:github_push}/zope.deferredimport +zope.deprecation = git ${buildout:github}/zope.deprecation pushurl=${buildout:github_push}/zope.deprecation +zope.dottedname = git ${buildout:github}/zope.dottedname pushurl=${buildout:github_push}/zope.dottedname +zope.dublincore = git ${buildout:github}/zope.dublincore pushurl=${buildout:github_push}/zope.dublincore +zope.error = git ${buildout:github}/zope.error pushurl=${buildout:github_push}/zope.error +zope.event = git ${buildout:github}/zope.event pushurl=${buildout:github_push}/zope.event +zope.exceptions = git ${buildout:github}/zope.exceptions pushurl=${buildout:github_push}/zope.exceptions +zope.filerepresentation = git ${buildout:github}/zope.filerepresentation pushurl=${buildout:github_push}/zope.filerepresentation +zope.formlib = git ${buildout:github}/zope.formlib pushurl=${buildout:github_push}/zope.formlib +zope.hookable = git ${buildout:github}/zope.hookable pushurl=${buildout:github_push}/zope.hookable +zope.i18n = git ${buildout:github}/zope.i18n pushurl=${buildout:github_push}/zope.i18n +zope.i18nmessageid = git ${buildout:github}/zope.i18nmessageid pushurl=${buildout:github_push}/zope.i18nmessageid +zope.index = git ${buildout:github}/zope.index pushurl=${buildout:github_push}/zope.index +zope.interface = git ${buildout:github}/zope.interface pushurl=${buildout:github_push}/zope.interface +zope.intid = git ${buildout:github}/zope.intid pushurl=${buildout:github_push}/zope.intid +zope.keyreference = git ${buildout:github}/zope.keyreference pushurl=${buildout:github_push}/zope.keyreference +zope.lifecycleevent = git ${buildout:github}/zope.lifecycleevent pushurl=${buildout:github_push}/zope.lifecycleevent +zope.location = git ${buildout:github}/zope.location pushurl=${buildout:github_push}/zope.location +zope.login = git ${buildout:github}/zope.login pushurl=${buildout:github_push}/zope.login +zope.mimetype = git ${buildout:github}/zope.mimetype pushurl=${buildout:github_push}/zope.mimetype +zope.minmax = git ${buildout:github}/zope.minmax pushurl=${buildout:github_push}/zope.minmax +zope.pagetemplate = git ${buildout:github}/zope.pagetemplate pushurl=${buildout:github_push}/zope.pagetemplate +zope.password = git ${buildout:github}/zope.password pushurl=${buildout:github_push}/zope.password +zope.pluggableauth = git ${buildout:github}/zope.pluggableauth pushurl=${buildout:github_push}/zope.pluggableauth +zope.principalannotation = git ${buildout:github}/zope.principalannotation pushurl=${buildout:github_push}/zope.principalannotation +zope.principalregistry = git ${buildout:github}/zope.principalregistry pushurl=${buildout:github_push}/zope.principalregistry +zope.processlifetime = git ${buildout:github}/zope.processlifetime pushurl=${buildout:github_push}/zope.processlifetime +zope.proxy = git ${buildout:github}/zope.proxy pushurl=${buildout:github_push}/zope.proxy +zope.ptresource = git ${buildout:github}/zope.ptresource pushurl=${buildout:github_push}/zope.ptresource +zope.publisher = git ${buildout:github}/zope.publisher pushurl=${buildout:github_push}/zope.publisher +zope.ramcache = git ${buildout:github}/zope.ramcache pushurl=${buildout:github_push}/zope.ramcache +zope.schema = git ${buildout:github}/zope.schema pushurl=${buildout:github_push}/zope.schema +zope.security = git ${buildout:github}/zope.security pushurl=${buildout:github_push}/zope.security +zope.securitypolicy = git ${buildout:github}/zope.securitypolicy pushurl=${buildout:github_push}/zope.securitypolicy +zope.sendmail = git ${buildout:github}/zope.sendmail pushurl=${buildout:github_push}/zope.sendmail +zope.session = git ${buildout:github}/zope.session pushurl=${buildout:github_push}/zope.session +zope.site = git ${buildout:github}/zope.site pushurl=${buildout:github_push}/zope.site +zope.size = git ${buildout:github}/zope.size pushurl=${buildout:github_push}/zope.size +zope.structuredtext = git ${buildout:github}/zope.structuredtext pushurl=${buildout:github_push}/zope.structuredtext +zope.tal = git ${buildout:github}/zope.tal pushurl=${buildout:github_push}/zope.tal +zope.tales = git ${buildout:github}/zope.tales pushurl=${buildout:github_push}/zope.tales +zope.testing = git ${buildout:github}/zope.testing pushurl=${buildout:github_push}/zope.testing +zope.testrunner = git ${buildout:github}/zope.testrunner pushurl=${buildout:github_push}/zope.testrunner +zope.traversing = git ${buildout:github}/zope.traversing pushurl=${buildout:github_push}/zope.traversing +zope.untrustedpython = git ${buildout:github}/zope.untrustedpython pushurl=${buildout:github_push}/zope.untrustedpython +zope.viewlet = git ${buildout:github}/zope.viewlet pushurl=${buildout:github_push}/zope.viewlet + +# Tools +z3c.checkversions = git ${buildout:github}/z3c.checkversions pushurl=${buildout:github_push}/z3c.checkversions + +# GROK grok = git ${buildout:github}/grok pushurl=${buildout:github_push}/grok grokcore.annotation = git ${buildout:github}/grokcore.annotation pushurl=${buildout:github_push}/grokcore.annotation grokcore.catalog = git ${buildout:github}/grokcore.catalog pushurl=${buildout:github_push}/grokcore.catalog diff --git a/grok-versions.cfg b/grok-versions.cfg index f63d67a..3fbab0a 100644 --- a/grok-versions.cfg +++ b/grok-versions.cfg @@ -1,4 +1,101 @@ [versions] +# ZTK +zope.annotation = 5.1 +zope.applicationcontrol = 5.1 +zope.authentication = 5.1 +zope.browser = 3.1 +zope.browsermenu = 5.1 +zope.browserpage = 5.0 +zope.browserresource = 5.2 +zope.cachedescriptors = 5.1 +zope.catalog = 5.0 +zope.component = 6.0 +zope.componentvocabulary = 3.0 +zope.configuration = 6.0 +zope.container = 6.1 +zope.contentprovider = 6.0 +zope.contenttype = 5.2 +zope.copy = 5.0 +zope.copypastemove = 5.0 +zope.datetime = 5.1 +zope.deferredimport = 5.0 +zope.deprecation = 5.1 +zope.dottedname = 6.0 +zope.dublincore = 5.0 +zope.error = 5.1 +zope.event = 5.0 +zope.exceptions = 5.2 +zope.filerepresentation = 6.1 +zope.formlib = 6.1 +zope.hookable = 7.0 +zope.i18n = 5.2 +zope.i18nmessageid = 7.0 +zope.index = 7.0 +zope.interface = 7.2 +zope.intid = 5.1 +zope.keyreference = 6.1 +zope.lifecycleevent = 5.1 +zope.location = 5.1 +zope.login = 3.1 +zope.mimetype = 3.1 +zope.minmax = 2.3 +zope.pagetemplate = 5.1 +zope.password = 6.0 +zope.pluggableauth = 4.0 +zope.principalannotation = 5.1 +zope.principalregistry = 5.1 +zope.processlifetime = 3.1 +zope.proxy = 6.1 +zope.ptresource = 5.1 +zope.publisher = 7.3 +zope.ramcache = 3.1 +zope.schema = 7.0.1 +zope.security = 7.3 +zope.securitypolicy = 5.1 +zope.sendmail = 6.2 +zope.session = 5.1 +zope.site = 5.1 +zope.size = 5.1 +zope.structuredtext = 5.0 +zope.tal = 5.1 +zope.tales = 6.1 +zope.testing = 5.1 +zope.testrunner = 7.4 +zope.traversing = 5.1 +zope.untrustedpython = 6.1 +zope.viewlet = 5.1 + +# ZTK Direct dependencies +BTrees = 6.1 +RestrictedPython = 8.0 +ZConfig = 4.2 +ZODB = 6.0.1 +bcrypt = 4.3.0 +cffi = 1.17.1 +multipart = 1.2.1 +persistent = 6.1.1 +pycparser = 2.22 +python-gettext = 5.0 +pytz = 2025.2 +transaction = 5.0 +zc.lockfile = 3.0.post1 +zodbpickle = 4.2 + +# ZTK Hopefully we can get rid of it sometime: +six = 1.17.0 + +# ZTK Testing tools +coverage = 7.9.1 +manuel = 1.13.0 + +# ZTK buildout dependencies +collective.recipe.cmd = 0.11 +mr.developer = 2.0.3 +z3c.checkversions = 3.0 +z3c.recipe.compattest = 4.0 +zc.recipe.egg = 3.0.0 +zc.recipe.testrunner = 3.2 + # GROK Chameleon = 4.6.0 grok = 6.1 @@ -33,7 +130,7 @@ zope.errorview = 2.0 zope.generations = 5.1.0 zope.testbrowser = 7.0.1 -# Tools and dependencies +# GROK Tools and dependencies appnope = 0.1.4 beautifulsoup4 = 4.13.4 collective.recipe.omelette = 2.0.0 @@ -64,3 +161,9 @@ zdaemon = 5.2 [versions:python39] importlib-metadata = 7.0.0 zipp = 3.17.0 +# Newer versions use Python's integrated toml support in coverage +tomli = 2.0.2 + +[versions:python310] +# Newer versions use Python's integrated toml support in coverage +tomli = 2.0.2 diff --git a/grok.cfg b/grok.cfg index e07adbb..7da4370 100644 --- a/grok.cfg +++ b/grok.cfg @@ -1,15 +1,13 @@ -# Copyright (c) 2010-2024 Zope Foundation and Contributors. +# Copyright (c) 2010-2025 Zope Foundation and Contributors. # # This is the specification file for the GROK Toolkit. [buildout] extends = - https://zopefoundation.github.io/zopetoolkit/releases/3.3/ztk-versions.cfg grok-versions.cfg grok-sources.cfg [grok] -# The core GROK packages included = grok grokcore.annotation @@ -31,8 +29,72 @@ included = z3c.evalexception z3c.flashmessage zc.catalog + zope.annotation + zope.applicationcontrol + zope.authentication + zope.browser + zope.browsermenu + zope.browserpage + zope.browserresource + zope.cachedescriptors + zope.catalog + zope.component + zope.componentvocabulary + zope.configuration + zope.container + zope.contentprovider + zope.contenttype + zope.copy + zope.copypastemove + zope.datetime + zope.deferredimport + zope.deprecation + zope.dottedname + zope.dublincore + zope.error zope.errorview + zope.event + zope.exceptions + zope.filerepresentation + zope.formlib + zope.hookable + zope.i18n + zope.i18nmessageid + zope.index + zope.interface + zope.intid + zope.keyreference + zope.lifecycleevent + zope.location + zope.login + zope.mimetype + zope.minmax + zope.pagetemplate + zope.password + zope.pluggableauth + zope.principalannotation + zope.principalregistry + zope.processlifetime + zope.proxy + zope.ptresource + zope.publisher + zope.ramcache + zope.schema + zope.security + zope.securitypolicy + zope.sendmail + zope.session + zope.site + zope.size + zope.structuredtext + zope.tal + zope.tales zope.testbrowser + zope.testing + zope.testrunner + zope.traversing + zope.untrustedpython + zope.viewlet # These packages will be removed in the next version deprecating = diff --git a/tox.ini b/tox.ini index 51a12be..8013db3 100644 --- a/tox.ini +++ b/tox.ini @@ -24,7 +24,7 @@ setenv = commands_pre = {envbindir}/buildout -nc {toxinidir}/buildout.cfg buildout:directory={envdir} commands = - {envdir}/bin/test-grok {posargs:-cv} + {envdir}/bin/test {posargs:-cv} [testenv:checkversions] commands_pre = From 334886871dd5bc925b710786f123f6350eee7ea9 Mon Sep 17 00:00:00 2001 From: icemac Date: Tue, 17 Jun 2025 14:53:25 +0000 Subject: [PATCH 2/2] Version synchronization --- dependabot/requirements.txt | 87 +++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) diff --git a/dependabot/requirements.txt b/dependabot/requirements.txt index 6ebf408..c50d858 100644 --- a/dependabot/requirements.txt +++ b/dependabot/requirements.txt @@ -1,3 +1,90 @@ +zope.annotation==5.1 +zope.applicationcontrol==5.1 +zope.authentication==5.1 +zope.browser==3.1 +zope.browsermenu==5.1 +zope.browserpage==5.0 +zope.browserresource==5.2 +zope.cachedescriptors==5.1 +zope.catalog==5.0 +zope.component==6.0 +zope.componentvocabulary==3.0 +zope.configuration==6.0 +zope.container==6.1 +zope.contentprovider==6.0 +zope.contenttype==5.2 +zope.copy==5.0 +zope.copypastemove==5.0 +zope.datetime==5.1 +zope.deferredimport==5.0 +zope.deprecation==5.1 +zope.dottedname==6.0 +zope.dublincore==5.0 +zope.error==5.1 +zope.event==5.0 +zope.exceptions==5.2 +zope.filerepresentation==6.1 +zope.formlib==6.1 +zope.hookable==7.0 +zope.i18n==5.2 +zope.i18nmessageid==7.0 +zope.index==7.0 +zope.interface==7.2 +zope.intid==5.1 +zope.keyreference==6.1 +zope.lifecycleevent==5.1 +zope.location==5.1 +zope.login==3.1 +zope.mimetype==3.1 +zope.minmax==2.3 +zope.pagetemplate==5.1 +zope.password==6.0 +zope.pluggableauth==4.0 +zope.principalannotation==5.1 +zope.principalregistry==5.1 +zope.processlifetime==3.1 +zope.proxy==6.1 +zope.ptresource==5.1 +zope.publisher==7.3 +zope.ramcache==3.1 +zope.schema==7.0.1 +zope.security==7.3 +zope.securitypolicy==5.1 +zope.sendmail==6.2 +zope.session==5.1 +zope.site==5.1 +zope.size==5.1 +zope.structuredtext==5.0 +zope.tal==5.1 +zope.tales==6.1 +zope.testing==5.1 +zope.testrunner==7.4 +zope.traversing==5.1 +zope.untrustedpython==6.1 +zope.viewlet==5.1 +BTrees==6.1 +RestrictedPython==8.0 +ZConfig==4.2 +ZODB==6.0.1 +bcrypt==4.3.0 +cffi==1.17.1 +multipart==1.2.1 +persistent==6.1.1 +pycparser==2.22 +python-gettext==5.0 +pytz==2025.2 +transaction==5.0 +zc.lockfile==3.0.post1 +zodbpickle==4.2 +six==1.17.0 +coverage==7.9.1 +manuel==1.13.0 +collective.recipe.cmd==0.11 +mr.developer==2.0.3 +z3c.checkversions==3.0 +z3c.recipe.compattest==4.0 +zc.recipe.egg==3.0.0 +zc.recipe.testrunner==3.2 Chameleon==4.6.0 grok==6.1 grokcore.annotation==4.1