This adds the Zuul playbooks and role to build manylinux wheels for
aarch64 and x86_64 (while aarch64 is the primary goal; it's good for
the overall code to keep it flexible).
It first builds an sdist from the checkout and then builds the wheels
in the appropriate containers.
Note this adds the jobs in the gate pipeline, which currently responds
to Pull Requests, and the release pipeline, which responds to pushes
to refs/tags/.* (see [1]). Note for results of jobs run against tags
you will need to find the job directly from
https://zuul.opendev.org/t/pyca/builds
because there is nowhere to report the results as such (it could be
configured to send an email).
The wheels are published to the wheelhouse/ directory in the Zuul
logs, which is also listed as an artifact on the build results page.
[1] https://review.opendev.org/748323
* document we test on aarch64
even odds this angers the spellchecker
* Just as my previous commit msg prophesied
* Update docs/spelling_wordlist.txt
Co-authored-by: Alex Gaynor <alex.gaynor@gmail.com>
Co-authored-by: Alex Gaynor <alex.gaynor@gmail.com>
* refactor wheel builder to use workflows and download/build separately
* Update .github/workflows/wheel-builder.yml
Co-authored-by: Alex Gaynor <alex.gaynor@gmail.com>
Co-authored-by: Alex Gaynor <alex.gaynor@gmail.com>
* move the parser into the backend object
This allows us to generate the list of supported extensions when
instantiating the backend object rather than building multiple parsers
and picking the right one at runtime when parsing the extensions themselves.
* sigh
This is the initial configuration for Zuul to run pyca/cryptography
tox jobs on a range of ARM64 nodes provided by OpenDev. The
underlying ARM64 resources are donated for use by the OpenDev project
by Linaro.
This is under discussion at https://github.com/pyca/cryptography/issues/5339
If the OpenDev Zuul app (https://github.com/apps/opendev-zuul) is
added to this repository, it should be able to speculatively test and
run these jobs (however, some configuration will be required on the
OpenDev side before this will happen).
This is currently a very simple run of tox on the code. For basic job
documentation see https://zuul-ci.org/docs/zuul/reference/jobs.html.
These jobs inherit from the opendev base job defined in
https://opendev.org/opendev/base-jobs. This handles the node setup,
initial clone of pull requests, etc. and then after the job runs the
log collection, upload and publishing steps. This in turn uses a lot
of reusable components from https://zuul-ci.org/docs/zuul-jobs/