-
Notifications
You must be signed in to change notification settings - Fork 693
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixes Xenial docker build #5477
Conversation
We need a recent version of dh-virtualenv. As for Focal, for Xenial we now pull from the Debian [sic] unstable [sic] repos to get a recent version. In Focal, we could reuse the already-available debian-archive-keyring to verify integrity, but in Xenial, the debian-archive-keyring is too old, Jessie-era (2014-11 vs 2018-09, judging by the timestamps). So for Xenial, we must fetch the required key over HTTPS and provide that to apt manually. We must also explicitly reference the "unstable" target for dh-virtualenv, since an older version of the package is available in Xenial, and will be preferrred to the unstable version given the cautious apt preferences we configure.
CI is failing on the make-debs command, which I ommitted from the test plan. Will update, marking WIP until CI is passing. @rmol if you've already started review, I welcome comments, but might be best to hold off until we confirm the packages are building correctly. |
Was just about to comment. I've been seeing that same error locally: invalid command 'bdist_wheel'
Which suggests we need |
The installation of |
Thanks, @rmol. I'll pull down the changes and confirm. |
Fixes to the build logic were just added by @rmol, so I've rebuilt the image and pushed it to facilitate testing by others.
We now test explicitly for expected versions of: * python3 * dh-virtualenv Since we're pulling from non-Ubuntu repositories. We'll reuse the same test logic in the march toward Focal build support, as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The diff looks good, tested with the following steps:
-
make dev
results in a working container -
cd molecule/builder-xenial && make
builds successfully - run an interactive shell inside the latest xenial build container and confirm that
apt-cache policy dh-virtualenv
shows1.2.1-1
(not 0.11-1 from Xenial) -
make build-debs
builds xenial packages without error
The test suite for validating deb packages was duplicated between Xenial & Focal. That's going to run a risk of tests only being updated in a single location, as was done in #5477. We have the ability to customize behavior of the tests via env vars, so let's keep the same test suite for now.
Status
Ready for review
Description of Changes
Fixes #5476. Refs #5471
Changes proposed in this pull request:
We need a recent version of dh-virtualenv. As for Focal, for Xenial we now pull from the Debian [sic] unstable [sic] repos to get a recent version. In Focal, we could reuse the already-available debian-archive-keyring to verify integrity, but in Xenial, the debian-archive-keyring is too old, Jessie-era (2014-11 vs 2018-09, judging by the timestamps). So for Xenial, we must fetch the required key over HTTPS and provide that to apt manually.
We must also explicitly reference the "unstable" target for dh-virtualenv, since an older version of the package is available in
Xenial, and will be preferrred to the unstable version given the cautious apt preferences we configure.
Testing
make dev
results in a working containercd molecule/builder-xenial && make
builds successfullyapt-cache policy dh-virtualenv
shows1.2.1-1
(not 0.11-1 from Xenial)make debs
builds xenial packages without errorDeployment
Affects packaging build logic, will be used for upcoming release. No implications for admin intervention, but we must be confident in the build logic prior to entering QA period.
Checklist
If you made changes to the server application code:
make lint
) and tests (make test
) pass in the development containerIf you made changes to
securedrop-admin
:make -C admin test
) pass in the admin development containerIf you made changes to the system configuration:
If you made non-trivial code changes:
If you made changes to documentation:
make docs-lint
) passed locallyIf you added or updated a code dependency:
Choose one of the following: