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/
Due to differences in how py.test determines which module to ``import``
the test suite actually runs against the cryptography which is in the
*current* directory instead of the cryptography which is installed. The
problem essentially boils down to when there is a tests/__init__.py then
py.test adds the current directory to the front of the sys.path, causing
it to take precedence over the installed location.
This means that running the tests relies on the implicit compile
that CFFI does instead of testing against what people will actually
be runnning, which is the module compiled by setup.py.