Skip to content

Conversation

@amotl
Copy link
Member

@amotl amotl commented Jun 18, 2022

Hi there,

the Buildout-based sandbox croaked on some ends. It has been investigated on behalf of #428 and crate-workbench/test-buildout-python310#1, and finally converged into an upstream bug report at buildout/buildout#609.

However, I am at the same time taking the chance to reduce the footprint of the Buildout setup on crate-python to resolve and improve the situation.

  • The sandbox setup is now based on vanilla Python and virtualenv.
  • A convenient bootstrap script is provided, which can be used like source bootstrap.sh, both locally and on CI.
  • The test runner has not been changed, it is still zope.testrunner.
  • The command line invocation interface ./bin/test has not been changed.
  • Buildout is now only used for downloading the CrateDB tarball using the hexagonit.recipe.download recipe.
  • CI: Environment variables BUILDOUT_VERSION, CRATEDB_VERSION and SQLALCHEMY_VERSION have been introduced for defining the corresponding software component versions. Those will be used for propagating information from the build matrix slot. With this change, we can get rid of needing GNU getopt in the setup_ci.sh program, which further reduces the amount of specialized routines needed to satisfy specific platform requirements.

With kind regards,
Andreas.

@amotl amotl changed the title Sandbox: Reduce footprint of Buildout Sandbox: Reduce footprint of Buildout, fix macOS >= 11, improve CI Jun 19, 2022
@amotl amotl changed the title Sandbox: Reduce footprint of Buildout, fix macOS >= 11, improve CI Modernize sandbox: Reduce footprint of Buildout, fix macOS >= 11, improve CI Jun 19, 2022
@amotl amotl requested review from matriv and seut June 20, 2022 08:19
@amotl amotl marked this pull request as ready for review June 20, 2022 08:19
Copy link
Member

@seut seut left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm 👍


[tox]
recipe = gp.recipe.tox
[crate:macosx]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we consider (it's a more generic question, about our builds, etc.) the new Apple (M1 and soon M2) chips?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you. I've added a note about that topic at https://github.com/orgs/crate/projects/20#card-83361325.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Our own code is pure python and not platform dependent. I don't think we need to go overboard with the test matrix.

If GHA action happens to add runners, sure why not, but please don't put other extra effort into this.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree and deleted the note again. The state of support for M1 Silicon on GHA is tracked over here:

amotl added 2 commits June 20, 2022 12:28
- The sandbox setup is now based on vanilla Python and virtualenv.
- A convenient bootstrap script is provided, which can be used like
  `source bootstrap.sh`.
- The test runner has not been changed, it is still `zope.testrunner`.
- The command line invocation interface `./bin/test` has not been
  changed.
- Buildout is now only used for downloading the CrateDB tarball using
  `hexagonit.recipe.download`.

References:
- #428
- crate-workbench/test-buildout-python310#1
Instead of using GNU getopt in the `setup_ci.sh` program, the needed
information is propagated using environment variables.
@amotl amotl force-pushed the amo/reduce-buildout branch from bbb9beb to 13a494b Compare June 20, 2022 10:28
@amotl amotl merged commit fc38073 into master Jun 20, 2022
@amotl amotl deleted the amo/reduce-buildout branch June 20, 2022 10:45
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

Successfully merging this pull request may close these issues.

5 participants