145 Commits
Author SHA1 Message Date
Brad Warrenandsydneyli 0b215366b1 turn off cancel notifications (#5918) 2018-05-23 13:57:22 -07:00
Brad WarrenandGitHub 8851141dcf Revert "disable apacheconftest (#5937)" (#5954)
This reverts commit 83ea820525.
2018-05-11 06:12:10 -07:00
Brad WarrenandGitHub 83ea820525 disable apacheconftest (#5937) 2018-05-09 12:11:36 -07:00
ohemorangeandBrad Warren 3eaf35f1e2 Check_untyped_defs in mypy with clean output for acme (#5874)
* check_untyped_defs in mypy with clean output for acme

* test entire acme module

* Add typing as a dependency because it's only in the stdlib for 3.5+

* Add str_utils, modified for python2.7 compatibility

* make mypy happy in acme

* typing is needed in prod

* we actually only need typing in acme so far

* add tests and more docs for str_utils

* pragma no cover

* add magic_typing

* s/from typing/from magic_typing/g

* move typing to dev_extras

* correctly set up imports

* remove str_utils

* only type: ignore for OpenSSL.SSL, not crypto

* Since we only run mypy with python3 anyway and we're fine importing it when it's not actually there, there's no actual need for typing to be present as a dependency

* comment magic_typing.py

* disable wildcard-import im magic_typing

* disable pylint errors

* add magic_typing_test

* make magic_typing tests work alongside other tests

* make sure temp_typing is set

* add typing as a dev dependency for python3.4

* run mypy with python3.4 on travis to get a little more testing with different environments

* don't stick typing into sys.modules

* reorder imports
2018-05-03 13:10:33 -07:00
ohemorangeandGitHub 590ec375ec Get mypy running in travis for easier review (#5875) 2018-04-13 16:10:58 -07:00
Brad WarrenandGitHub cc344bfd1e Break lockstep between our packages (#5655)
Fixes #5490.

There's a lot of possibilities discussed in #5490, but I'll try and explain what I actually did here as succinctly as I can. Unfortunately, there's a fair bit to explain. My goal was to break lockstep and give us tests to ensure the minimum specified versions are correct without taking the time now to refactor our whole test setup.

To handle specifying each package's minimum acme/certbot version, I added a requirements file to each package. This won't actually be included in the shipped package (because it's not in the MANIFEST).

After creating these files and modifying tools/pip_install.sh to use them, I created a separate tox env for most packages (I kept the DNS plugins together for convenience). The reason this is necessary is because we currently use a single environment for each plugin, but if we used this approach for these tests we'd hit issues due to different installed plugins requiring different versions of acme/certbot. There's a lot more discussion about this in #5490 if you're interested in this piece. I unfortunately wasted a lot of time trying to remove the boilerplate this approach causes in tox.ini, but to do this I think we need negations described at complex factor conditions which hasn't made it into a tox release yet.

The biggest missing piece here is how to make sure the oldest versions that are currently pinned to master get updated. Currently, they'll stay pinned that way without manual intervention and won't be properly testing the oldest version. I think we should solve this during the larger test/repo refactoring after the release because the tests are using the correct values now and I don't see a simple way around the problem.

Once this lands, I'm planning on updating the test-everything tests to do integration tests with the "oldest" versions here.

* break lockstep between packages

* Use per package requirements files

* add local oldest requirements files

* update tox.ini

* work with dev0 versions

* Install requirements in separate step.

* don't error when we don't have requirements

* install latest packages in editable mode

* Update .travis.yml

* Add reminder comments

* move dev to requirements

* request acme[dev]

* Update pip_install documentation
2018-03-05 09:50:19 -08:00
Brad WarrenandGitHub 559220c2ef Add basic ACMEv2 integration tests (#5635)
* Use newer boulder config

* Use ACMEv2 endpoint if requested

* Add v2 integration tests

* Work with unset variables

* Add wildcard issuance test

* quote domains
2018-03-01 10:11:15 -08:00
Brad Warren f1b7017c0c Finish dropping Python 2.6 and 3.3 support
* Undo letsencrypt-auto changes

* Remove ordereddict import

* Add Python 3.4 tests to replace 3.3

* Add python_requires

* update pipstrap
2018-02-21 19:11:01 -08:00
HugoandBrad Warren 42638afc75 Drop support for EOL Python 2.6 and 3.3
* Drop support for EOL Python 2.6

* Use more helpful assertIn/NotIn instead of assertTrue/False

* Drop support for EOL Python 3.3

* Remove redundant Python 3.3 code

* Restore code for RHEL 6 and virtualenv for Py2.7

* Revert pipstrap.py to upstream

* Merge py26_packages and non_py26_packages into all_packages

* Revert changes to *-auto in root

* Update by calling letsencrypt-auto-source/build.py

* Revert permissions for pipstrap.py
2018-02-16 16:14:01 -08:00
Joona HoikkalaandBrad Warren 62ffcf5373 Fix macOS builds for Python2.7 in Travis (#5378)
* Add OSX Python2 tests

* Make sure python2 is originating from homebrew on macOS

* Upgrade the already installed python2 instead of trying to reinstall
2018-01-09 07:48:05 -08:00
Brad WarrenandGitHub 8bc785ed46 Make Travis builds faster in master (#5314)
* Remove extra le-auto tests from master

* Remove dockerfile-dev test from master

* Remove intermediate Python 3.x tests from master

* Reorder travis jobs for speed
2017-12-08 16:35:59 -08:00
Jacob Hoffman-AndrewsandGitHub 8ce6ee5f3e Remove all but one BOULDER_INTEGRATION, and macOS (#5270)
These tests are retained in the test-everything branch, which has a Travis cron
job to run nightly.

Removing these speeds up the Certbot Travis builds dramatically for two reasons:
 - The Boulder integration tests are slow (10-12 minutes), and it's exceedingly
   rare for them to fail on one Python environment but not another.
 - The macOS tests take a very long time to run, because they need to wait for
   build slots on the limited number of macOS instances, which are often in high
   demand.
2017-12-01 16:10:16 -08:00
Brad WarrenandGitHub d246ba78c7 Use pip3 if pip isn't available (#5277) 2017-11-29 13:09:25 -08:00
Jacob Hoffman-AndrewsandBrad Warren 8fd1d0d19e Small Travis cleanups (#5273)
* Test with no hosts.

* Simplify build matrix.

* Remove after_failure.
2017-11-28 18:22:01 -08:00
Brad WarrenandGitHub 7c11158810 Retry failures to start boulder (#5176)
Occasionally a network error prevents Docker from starting boulder causing
Travis tests to fail like it did at
https://travis-ci.org/certbot/certbot/jobs/282923098. This works around the
problem by using travis_retry to try to start boulder again if it fails.

This also moves the logic of waiting for boulder to start into
tests/boulder-fetch.sh so people running integration tests locally can benefit.
2017-10-12 17:00:13 -07:00
Brad WarrenandGitHub cacc40817b Update brew before installing packages (#5182)
* Update brew
2017-10-10 17:30:51 -07:00
Brad Warren 06dd645e85 encrypt channel 2017-08-30 10:34:05 -07:00
Brad WarrenandGitHub 0ac21e47c7 Use #letsencrypt-dev instead of #letsencrypt (#4998) 2017-08-07 17:12:49 -07:00
Noah SwartzandGitHub 6ede309c6a Merge pull request #4865 from certbot/irc-notifications
Turn on IRC notifications for Travis failures in master
2017-07-12 13:03:37 -07:00
Brad WarrenandPeter Eckersley 1e6ea09dbd Remove py26 oldest tests (#4856)
* Remove py26 oldest tests.

The only systems where we support Python 2.6 use certbot-auto so the oldest
supported versions of our dependencies are never used when using supported
installation methods. Let's remove this unnecessary and slow test.

* Make tox.ini happy

* Remove py26-oldest from Travis
2017-06-21 13:50:48 -07:00
Brad Warren bdf02c9fcc Turn on IRC notifications for Travis failures in master 2017-06-21 11:46:30 -07:00
Yen Chi HsuanandBrad Warren c9e9879ad9 Enable unit tests on OS X (#4697)
* Add OS X test

* Fix apache tests

* Use absolute path first so that certbot works with non-standard $PATH

Some tests use a fake $PATH, which prevents invoking `sw_vers`

* Also test Python 3 on Mac

* Set ulimit to fix "Too many open files"
2017-06-01 09:03:54 -07:00
Kevin LeandBrad Warren dc63056da7 add build of Dockerfile-dev (#4717) 2017-05-25 16:27:31 -07:00
Yen Chi Hsuan 29d25f0915 Enable boulder tests on Python 3 2017-04-15 02:32:18 +08:00
Jacob Hoffman-AndrewsandGitHub 94aa562cf2 Use latest Boulder for Travis tests. (#4180) 2017-02-14 21:19:18 -08:00
Brad WarrenandGitHub dd8253b3d6 fixes #4083 (#4148) 2017-02-01 18:14:47 -08:00
Brad WarrenandGitHub ea951150a4 Enable Py36 Tests (#3972)
* add py36 to tox

* Add Python 3.6 tests to Travis

* Provide real path to python stdlib during tests

* set logs_dir in config_test

* set *_dirs in DetermineAccountTest

* Fix TLSSNI01Test

* Fix RenewalTest

* fix test_ancient_webroot_renewal_conf
2017-01-18 10:41:11 -08:00
Brad WarrenandPeter Eckersley 00e143d369 Serialize coverage tests (#3919)
* Serialize coverage tests

* add py27_install env

* Separate cover from integration tests

* Add docker to py27 integration tests
2016-12-20 16:24:33 -08:00
Amjad MashaalandBrad Warren 1e27e43c14 Expanding tests for le-auto, adding CentOS test suite (#2671)
* Adding Dockerfile for CentOS 6

* Adding CentOS 7 to LEA tests

* Enabling CentOS 6 LEA test

* Removing CentOS 7

* Fixing nits

* Using yum to install epel-release
2016-11-10 15:05:03 -08:00
Amjad MashaalandBrad Warren c89bd421da Expanding tests for le-auto, adding Debian test suite (#2635)
* Adding Debian 7 (Wheezy) to LE tests

* Adding Debian 8 (Jessie) to LE tests

* Fixing Debian Wheezy certificate addition error

* Adding packages to LEA Debian Jessie test and refining the code commenting

* Adding installing OpenSSL to the Debian Wheezy LEA test script

* Removing LEA tests for Debian Jessie

* Fixing nits
2016-11-10 14:01:15 -08:00
Amjad MashaalandBrad Warren 469fc3775f Expanding tests for le-auto, adding Ubuntu test suite (#2548)
* Adding Ubuntu Wily to LEA testing

* Setting up certs correctly for Ubuntu 15.10

* Adding 12.04

* Removing redundant update-ca-certificates from 12.04 le-auto testing script

* Fixing OpenSSL on Precise

* Adding Vivid to le_auto tests

* Cleaning up LEA tests configuration for Trusty

* Ordering LEA test entries in .travis.yml and renaming them correctly

* Removing Ubuntu Vivid

* Refining comments

* Removing Ubuntu Wily since it reached EOL

* Removing .travis.yml duplicates

* Fixing nits
2016-11-10 13:15:17 -08:00
Brad Warrenandschoen 61094b06fd Do we need trusty in Travis? (#3737)
* do we need trusty?

* add docker as a dependency for boulder??
2016-11-03 17:19:53 -07:00
Brad WarrenandGitHub 42180ee9b5 fix travis tests? (#3695) 2016-10-26 14:34:01 -07:00
Erica PortnoyandBrad Warren d54cb76432 Remove the curses dialog, thereby deprecating the --help and --dialog command line options (#3665)
* Remove the curses dialog, thereby deprecating the --help and --dialog command line options

* Deprecate --dialog and suppress --text
2016-10-21 15:45:57 -07:00
Peter EckersleyandBrad Warren 3ae6c90a6a The sudo environments take longer to allocate (#3578)
One more tiny tweak, placing the slower sudo environments back up the list. I expect this should save us another 10-20 seconds.

- there's about a 50 second delay in starting apacheconftest, so move
   it back up the priority queue of jobs to start
2016-10-04 12:47:36 -07:00
Peter EckersleyandGitHub 290c112217 Tweak for Travis performance (#3562)
* Tweak for Travis performance

 - merge cover and py27 BOULDER_INTEGRATION into one matrix entry
 - re-order to put the fastest environments last, improving average
   case parallelism

* Also put the things most likely to fail at the top
2016-09-30 20:27:04 -07:00
Brad Warren 5dda27d757 Add nginxroundtrip and compatibility-tests to travis 2016-08-10 16:46:53 -07:00
Jacob Hoffman-Andrews ed802a6648 Fix BOULDERPATH 2016-05-23 18:47:52 -07:00
Jacob Hoffman-Andrews 2cfcfd6988 Run Boulder via docker-compose in tests.
This removes a lot of setup code we used to need in order to get Boulder to run,
and should reduce brittleness of tests based on Boulder changes.

This also unblocks Boulder from upgrading to MariaDB 10.1 in integration tests,
since changing to 10.1 syntax for user creation would break the current certbot
integration tests (which run 10.0).
2016-05-23 18:40:25 -07:00
Brad Warren d34b5fee0d Fix problem with godep and vendor directories 2016-04-18 18:08:55 -04:00
Brad Warren ae6f1c62f1 Rename misc files 2016-04-14 10:20:23 -07:00
Brad Warren 714282c82c Add boulder host 2016-04-13 10:04:22 -07:00
Jakub Warmuz df2baae476 apacheconf: sane sudo letsencrypt (fixes #2800)
- hardcoded
  `LETSENCRYPT=/home/travis/build/letsencrypt/letsencrypt/.tox/apacheconftest/bin/letsencrypt`
  causes Travis tests to fail if running under any other Travis user
  (from e.g. a fork)

- `sudo env "PATH=$PATH" letsencrypt` should make sure that sudo can
  find letsencrypt binary from virtualenv; realpath is not necessary

- sudo is called already from within the test script, no need to sudo
  the entire script
2016-04-10 17:57:21 +00:00
bmw 6a7b4a8e14 Merge pull request #2737 from TheNavigat/mariadb
Add MariaDB debugging to Travis build
2016-04-06 17:32:43 -07:00
Jacob Hoffman-Andrews cae9a81a8c Add boulder-mysql and boulder-rabbitmq hosts. 2016-04-04 16:39:24 -07:00
Amjad Mashaal bb426c8ae8 Add MariaDB debugging to Travis build 2016-03-31 22:43:16 +02:00
Erik Rose 64f31017cd Blot out Travis addons on le_auto job.
MariaDB addon is broken on Google Compute Engine jobs at the moment: see https://github.com/travis-ci/travis-ci/issues/5759.
2016-03-07 18:52:14 -05:00
Peter Eckersley ce377f1a46 Merge pull request #2506 from TheNavigat/acttravis
Enabling apache-conf-test in Travis
2016-02-23 15:53:58 -08:00
TheNavigat 0e12b1fd86 Enabling apache-conf-test in Travis 2016-02-19 05:00:47 +02:00
Môshe van der Sterre 560ad7152d Removed a mention of SimpleHTTP from comments 2016-02-17 06:38:07 +01:00