Skip to content

Extend senaite.core's buildout.base.cfg and drop the unused Travis config - #184

Open
xispa wants to merge 2 commits into
2.xfrom
buildout-core
Open

Extend senaite.core's buildout.base.cfg and drop the unused Travis config#184
xispa wants to merge 2 commits into
2.xfrom
buildout-core

Conversation

@xispa

@xispa xispa commented Jul 27, 2026

Copy link
Copy Markdown
Member

Description of the issue/feature this PR addresses

plone.jsonapi.core 0.8.0 is published on PyPI under the PEP 625 normalized sdist filename plone_jsonapi_core-0.8.0.tar.gz, which the setuptools 44.1.1 resolver we are pinned to on Python 2.7 cannot match against the dotted plone.jsonapi.core requirement. The fix (a find-links entry for the legacy dotted-name sdist attached to the GitHub release, plus an explicit version pin) was applied to senaite.core's buildout.base.cfg, so every add-on that extends that file inherits it automatically.

This package did not: it carried its own ~100 line copy of the base buildout, so the fix would have had to be duplicated here by hand — and the same would be true of every future change to the shared development buildout.

Rather than copy the two lines, this PR removes the duplication and extends senaite.core's buildout.base.cfg, matching what senaite.patient, senaite.jsonapi, senaite.abx, senaite.ast, senaite.storage and the other add-ons already do.

Companion PRs do the same for senaite.app.spotlight, senaite.app.supermodel, senaite.impress and senaite.lims, the remaining packages that still carried their own copy.

While in the build configuration, this also removes the Travis CI setup. We no longer use Travis, travis-ci.org has been shut down, and both files have been untouched since July 2020.

Current behavior before PR

buildout.cfg is a 101 line standalone config that re-declares index, find-links, parts, eggs, [sources], [instance], [i18ndude], [test], [omelette], [zopepy], [write_code_headers] and [versions], all near-identical to senaite.core's buildout.base.cfg but free to drift from it. It does not pick up the plone.jsonapi.core 0.8.0 fix.

.travis.yml and travis.cfg are still in the repository, and README.md still renders a Travis build badge that resolves to nothing.

Desired behavior after PR is merged

buildout.cfg is reduced to 12 lines: the extends of senaite.core's buildout.base.cfg, package-name, and an auto-checkout list that excludes this package (which is supplied by develop = .) — the same shape as senaite.jsonapi's config.

The plone.jsonapi.core find-links entry and = 0.8.0 pin are inherited, and future base-buildout changes arrive without a PR here.

Inheriting the base rather than the local copy also changes the following development-only settings. None affect the shipped package:

  • [instance] wsgi becomes off, so bin/instance runs under ZServer instead of waitress — the same as senaite.core and the other add-ons.
  • [instance] eggs uses Plone rather than Plone[archetypes]. Products.Archetypes (needed by ajax.py) still resolves, via senaite.core -> Products.ATContentTypes.
  • [instance] resources is dropped. It pointed at a resources/ directory that does not exist in this repo, so the recipe was creating an empty one and registering an empty ZCML resource directory. (Unrelated to webpack's resources.pt, which is written into the package's static/ path.)
  • The update_sources part is dropped, so bin/update_sources is no longer generated. templates/update_sources.in is now unused.
  • [versions] no longer pins setuptools = 44.1.1 / zc.buildout = 2.13.3 explicitly; requirements.txt still installs exactly those versions.
  • [sources] loses the pushurl=git@github.com:... entries, so pushing from a checked-out src/ sibling uses HTTPS. If we want these back, they belong in buildout.base.cfg for all add-ons rather than re-duplicated here.

.travis.yml, travis.cfg and the dead README badge are gone. The only CI in this repository is .github/workflows/jest.yml, which is untouched.

--
I confirm I have tested the PR thoroughly and coded it according to PEP8
standards.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant