Commit graph

63 commits

Author SHA1 Message Date
Erica Portnoy
b188b0eed0 Remove deprecated i386 wheels 2020-06-17 15:59:47 -07:00
Erica Portnoy
5c49b05ef2 Merge branch 'master' into core20 2020-06-17 15:55:13 -07:00
Brad Warren
3c4b922197
Remove the need for TRAVIS to be set. (#8084)
I initially added this when the script was doing things like migrating all LXD containers to the snap. I think the external side effects are now pretty minimal thought so I think we can remove the need for this environment variable which makes it easier to use outside of CI for manual testing.
2020-06-17 14:41:11 -07:00
Erica Portnoy
d918e91561 looks like we need python3-dev to build things 2020-06-17 12:42:19 -07:00
Erica Portnoy
abc86e8c38 Update cffi and cryptography wheels for ubuntu20 version of python 2020-06-17 19:38:03 +00:00
Erica Portnoy
e12d4c95da Use ubuntu 20 in compile_native_wheels.sh 2020-06-17 12:14:53 -07:00
Erica Portnoy
c33090781b change our scripts to unpin python-augeas 2020-06-16 17:59:57 -07:00
Erica Portnoy
7929c5b959 combining into one part works! just make sure to unpin python-augeas when generating snap-constraints.txt 2020-06-16 17:57:04 -07:00
Erica Portnoy
bdeec26a92 ok let's try building 2020-06-16 17:48:43 -07:00
Erica Portnoy
a22be8cf65 still need libaugeas-dev 2020-06-16 17:31:50 -07:00
Erica Portnoy
89ff65ee31 stage augeas 2020-06-16 17:26:18 -07:00
Erica Portnoy
34ba5a698b remove python-augeas, since we have it pinned to an older version in cb-auto that might work 2020-06-16 17:17:16 -07:00
Erica Portnoy
95433251c5 pretty sure we don't actually need wheel. let's try removing it! 2020-06-16 17:00:00 -07:00
Erica Portnoy
eb1e3074f6 add all necessary python packages to stage-packages 2020-06-16 16:46:10 -07:00
Erica Portnoy
89ce759fd1 stage a bare python3 2020-06-16 16:12:07 -07:00
Erica Portnoy
a1480ddbdc back to wget 2020-06-16 15:59:33 -07:00
Adrien Ferrand
0bb1f0b2ce
Drop i386 architecture on snap build (#8083)
This PR remove the i386 architecture in the snap build process, because the base snap `core20` is not available for this architecture.
2020-06-16 15:57:05 -07:00
Erica Portnoy
f60b815981 nope, it does need bin/certbot 2020-06-16 13:50:23 -07:00
Erica Portnoy
042b3c18b6 remove the bin/ from renew 2020-06-16 13:10:05 -07:00
Erica Portnoy
13445094c8 this last change wasn't necessary 2020-06-16 13:08:06 -07:00
Erica Portnoy
7e3d8e21ac maybe try a different python3 package to stage 2020-06-16 12:58:06 -07:00
Erica Portnoy
7e67466789 no -e 2020-06-16 12:25:11 -07:00
Erica Portnoy
e1a8f3f05b maybe wheel will install first if I change it to -e 2020-06-15 18:05:14 -07:00
Erica Portnoy
3749dd3c9b maybe it needs to already have python3-wheel installed 2020-06-15 18:00:49 -07:00
Erica Portnoy
3ba1abb0dc how was this previously working without git installed? install git. 2020-06-15 17:55:53 -07:00
Erica Portnoy
c77874cb32 put back python-augeas part for now; ERROR: Could not satisfy constraints for 'python-augeas': installation from path or url cannot be constrained to a version 2020-06-15 17:47:52 -07:00
Erica Portnoy
f962845cb8 remove after 2020-06-15 17:45:28 -07:00
Erica Portnoy
614330ab7a move python-augeas into the single part 2020-06-15 17:43:45 -07:00
Erica Portnoy
7642ef1395 try installing local subdirectories 2020-06-15 17:13:47 -07:00
Erica Portnoy
b9e6f54229 let's see if we can stick it all in one step 2020-06-15 17:08:59 -07:00
Erica Portnoy
a5aa13aaa5 Merge branch 'master' into core20 2020-06-15 16:41:49 -07:00
Erica Portnoy
630cf08667 it does require bin/certbot. I don't know why. 2020-06-15 15:27:24 -07:00
Erica Portnoy
ad39799a0a use snap.certbot instead of bin/certbot 2020-06-15 15:20:21 -07:00
Erica Portnoy
07861efed5 why is bin not in path? no idea, but let's get it compiled then inspect things in the snap shell 2020-06-12 10:54:54 -07:00
Erica Portnoy
6bcbe204fd if we use certbot from bin things should work? 2020-06-12 10:43:25 -07:00
Erica Portnoy
298e4b8402 take cffi backend from python-augeas 2020-06-12 10:29:46 -07:00
Erica Portnoy
58e7d67e9e fail to inspect more versions of things in the container shell 2020-06-12 10:17:11 -07:00
Erica Portnoy
2dd8c35280 certbot needs to not stage bin. why does certbot not put certbot in bin? 2020-06-12 09:54:39 -07:00
Erica Portnoy
600b3affad ok, certbot-nginx does need to stage bin 2020-06-12 09:50:07 -07:00
Erica Portnoy
265e6087e7 play around with which versions of things we want from each package 2020-06-12 09:37:22 -07:00
Erica Portnoy
fe5a50f0b6 try a couple things to use the python from the venv bin 2020-06-11 18:50:05 -07:00
Erica Portnoy
f6f68e42b0 try to exclude just the certbot folder 2020-06-11 18:40:15 -07:00
Erica Portnoy
a49f3ce0e1 certbot needs to be in bin 2020-06-11 18:37:56 -07:00
Erica Portnoy
b186afab0a use python3 from bin 2020-06-11 18:25:45 -07:00
Erica Portnoy
38dc0b317b don't use certbot from nginx and apache 2020-06-11 18:21:43 -07:00
Erica Portnoy
1fb25304fa Remove some more overlaps 2020-06-11 18:18:59 -07:00
Erica Portnoy
bedf5a3742 Get rid of a whole bunch of error message 2020-06-11 18:06:51 -07:00
Adrien Ferrand
9ac476e87b
Certbot snap multiarch build (#8016)
This PR proposes a way to build the certbot snap for several architectures, using a QEMU-base emulation approach, and several optimizations to keep the build time of each snap below 20 minutes.

Most of the reasoning for the approach proposed here is described in the original PR: https://github.com/basak/certbot-snap-build/pull/27

On top of it, I added a docker pull to a pre-compiled snapcraft docker, instead of compiling it during the Travis pipeline, in order to save 5 to 7 minutes more on each snap build. The snap images are compiled and stored here: https://hub.docker.com/repository/docker/adferrand/snapcraft. Depending on the time the PR will be reviewed, we can:
* continue to use `adferrand/snapcraft`
* move its logic to certbot scope and use something like `certbot/snapcraft`
* wait for https://github.com/snapcore/snapcraft/pull/3144 to be merged, and use `snapcore/snapcraft`.

* Backport https://github.com/basak/certbot-snap-build/pull/27 into Certbot project

* Fix build deps

* Integrate proactively #8012 to fix builds on non-amd64 archs

* Configure jobs on Travis

* Focus on snap builds. Disable temporarily some jobs. Disable deploy actions by security.

* Specify TARGET_ARCH during snap build

* Do not do anything if TOXENV is not set

* Various optimizations

* Use recent version of ubuntu for get correct features on snap out of the box

* Add up to date wheels

* Organizing scripts

* Set dest dir

* Get back original configuration for Travis

* Add comments

* Update common_libs.sh

* Use adferrand/snapcraft

* Test build

* Stable snapcraft

* Update build_and_install.sh

* Move back snap builds to the cron/release pipeline

* Update snap/local/compile_native_wheels.sh

Co-authored-by: Brad Warren <bmw@users.noreply.github.com>

* Update snap/local/compile_native_wheels.sh

Co-authored-by: Brad Warren <bmw@users.noreply.github.com>

* Update snap/local/compile_native_wheels.sh

Co-authored-by: Brad Warren <bmw@users.noreply.github.com>

* Update snap/local/build_and_install.sh

Co-authored-by: Brad Warren <bmw@users.noreply.github.com>

* Enable i386 builds, various optimizations

* Update dependencies

* Configure a simple http server to serve the pre compiled wheels

* Fix wheels compilation

* Relax permissions

Co-authored-by: Brad Warren <bmw@users.noreply.github.com>
2020-06-10 14:33:02 -07:00
ohemorange
8d776fb7ac
Make Certbot find externally snapped plugins (#8054)
* Add snap plugin support

Switch to a PoC branch of certbot that supports the new
CERTBOT_PLUGIN_PATH and wrap the snap to set this variable correctly
based on the content interfaces connected.

(cherry picked from commit 7076a55fd82116d068e2aca7239209b7203917d2)

* Modify certbot.wrapper to append to PYTHONPATH instead of separate CERTBOT_PLUGIN_PATH variable

* Update certbot-wrapper to python3.6 version

* add source field

* Update changelog

* Use bash instead of sh

Co-authored-by: Brad Warren <bmw@users.noreply.github.com>

* Exit if something goes wrong

Co-authored-by: Brad Warren <bmw@users.noreply.github.com>

* No leading : when modifying empty PYTHONPATH

* Improve bash handling of PYTHONPATH manipulation

Co-authored-by: Robie Basak <robie.basak@canonical.com>
Co-authored-by: Brad Warren <bmw@eff.org>
Co-authored-by: Brad Warren <bmw@users.noreply.github.com>
2020-06-10 13:52:56 -07:00
Brad Warren
e31834a6cd
Stop running snapcraft with sudo (#8063)
* Do not use sudo when building the snap.

* add user to lxd

* Run with lxd group.
2020-06-09 14:46:11 -07:00