1
0
mirror of https://github.com/certbot/certbot.git synced 2026-01-26 07:41:33 +03:00

24 Commits

Author SHA1 Message Date
Adrien Ferrand
3d0e16ece3 [Windows|Unix] Rewrite bash scripts for tests into python (#6435)
Certbot relies heavily on bash scripts to deploy a development environment and to execute tests. This is fine for Linux systems, including Travis, but problematic for Windows machines.

This PR converts all theses scripts into Python, to make them platform independant.

As a consequence, tox-win.ini is not needed anymore, and tox can be run indifferently on Windows or on Linux using a common tox.ini. AppVeyor is updated accordingly to execute tests for acme, certbot and all dns plugins. Other tests are not executed as they are for Docker, unsupported Apache/Nginx/Postfix plugins (for now) or not relevant for Windows (explicit Linux distribution tests or pylint).

Another PR will be done on certbot website to update how a dev environment can be set up.

* Replace several shell scripts by python equivalent.

* Correction on tox coverage

* Extend usage of new python scripts

* Various corrections

* Replace venv construction bash scripts by python equivalents

* Update tox.ini

* Unicode lines to compare files

* Put modifications on letsencrypt-auto-source instead of generated scripts

* Add executable permissions for Linux.

* Merge tox win tests into main tox

* Skip lock_test on Windows

* Correct appveyor config

* Update appveyor.yml

* Explicit coverage py27 or py37

* Avoid to cover non supported certbot plugins on Windows

* Update tox.ini

* Remove specific warnings during CI

* No cover on a debug code for tests only.

* Update documentation and help script on venv/venv3.py

* Customize help message for Windows

* Quote correctly executable path with potential spaces in it.

* Copy pipstrap from upstream
2018-11-07 17:16:16 -08:00
Brad Warren
adec7a8fed Cleanup dockerfile-dev (#5435)
* cleanup dockerfile-dev

* map port 80

* remove python3-dev package
2018-02-16 09:51:27 -08:00
Kevin Le
75c91940af [#4382] Install git into Docker development file (#4703)
* install git into Docker development file

* moved git install command in Dockerfile-dev to same RUN
2017-05-22 11:26:02 -07:00
Brad Warren
6f979a4808 upgrade pip and setuptools before installing packages (#4378) 2017-03-18 13:40:01 -07:00
Brad Warren
c439057efa install python3-dev for python3 tests in docker (#4381) 2017-03-18 13:25:02 -07:00
Brad Warren
91f4b2b571 Improve macOS contributor instructions (#4327)
* remove instructions about removed Vagrantfile

* rewrite docker instructions

* say where docker-compose can be run

* give better intro for macOS devs

* prompt people for permission to install OS packages

* reword awkward sentence

* Change WORKDIR to /opt/certbot/src

This change is OK because all paths used in Dockerfile-dev are absolute paths.

* remove 'cd src' instructions for Dockerfile-dev

* Improve docker-compose testing instructions
2017-03-10 17:27:09 -08:00
Joona Hoikkala
e02d641490 Docker changes for easier testing (#4249)
These changes allow developers to run tests directly from the host machine using Docker, and to enable ipdb inside the container.

docker-compose.yml is upgraded to version 2 format. This means that you need docker-engine version >= 1.10.0 instead of previous requirement of version >= 1.9.1. The reason for this is to be able to use custom Dockerfile (Dockerfile-dev in this case) in build context.

ipdb has been added to dev dependencies to be able to be able to debug the code without installing it on every docker run. This is also what we recommend for debugging in the developer documentation, so there really is no reason not to install it with the dev dependencies.

setuptools is being upgraded to a newer version to be able to run coverage tests. This was using the older version of setuptools for some reason, and without the upgrade, coverage tests would fail horribly. Upgrading remedies the situation.

Few examples: 

Run unit tests for certbot-apache
`docker-compose run --rm --service-ports development bash -c 'cd src;nosetests -v certbot-apache'`

Run coverage tests
`docker-compose run --rm --service-ports development bash -c 'cd src;./tox.cover.sh'`

Run linter
`docker-compose run --rm --service-ports development bash -c 'cd src;tox -e lint'`
2017-02-24 11:40:03 -08:00
Brad Warren
bb669528b3 Remove old references to pep8 in our code (#4073) 2017-01-19 11:21:25 -08:00
Brad Warren
75a1d81458 More stray ncrypt reference cleanup 2016-04-14 17:04:23 -07:00
Brad Warren
ae6f1c62f1 Rename misc files 2016-04-14 10:20:23 -07:00
Brad Warren
45ee1eb889 Merge branch 'testing-dev-extras' 2016-02-12 16:19:57 -08:00
Erik Rose
192c3faf7e Make the new letsencrypt-auto script the main one.
Remove the old bootstrap scripts, which have been subsumed into letsencrypt-auto-source/pieces/bootstrappers. They no longer need to be dispatched among manually: everyone can just run letsencrypt-auto --os-packages-only, regardless of OS.

Make the root-level le-auto a symlink to the canonical version. It should thus still work for people running le-auto from a git checkout.
2016-02-05 15:28:11 -05:00
Jakub Warmuz
86d6d27045 Clean up dev/testing extras messup (fixes #2140). 2016-01-10 18:37:41 +00:00
Erik Rose
cd43e9035b Rename letsencrypt_auto dir to match other dirs.
Originally, I had it in mind to move letsencrypt-auto inside this dir. However, now we'd like to copy it or link it to the root level, where people are used to finding it (at least for awhile). Since it would be confusing to have a letsencrypt-auto and a letsencrypt_auto right next to each other, we rename this folder.
2016-01-08 16:26:25 -05:00
Erik Rose
cad4e98003 Merge in master to get up to date.
Bootstrap scripts and letsencrypt-auto itself required some merge work.
2016-01-05 17:29:52 -05:00
Marius Gedminas
e268e718a0 Remove py26reqs.txt
ConfigArgParse 0.10 from PyPI supports Python 2.6, so there's no more
need to install a fixed version directly from a git branch.
2015-12-03 10:07:31 +02:00
Erik Rose
ec9a498622 Move OS-package bootstrappers to a private folder.
They're now used only by the le-auto build process. The new public interface for OS-level bootstrapping is le-auto --os-packages-only, which dispatches by OS automatically. That obsoletes install-deps.sh as well, saving some repetition.

Also, switch to mustache-style templating to avoid colliding with shell variable references.

To optimize for the docker cache, we could later add a shim script that sources just deb_common.sh and calls its bootstrap function.
2015-12-02 11:12:57 -05:00
Brad Warren
462139fca9 Kill --agree-dev-preview 2015-12-01 16:51:05 -08:00
bmw
26e13c9fa7 Merge pull request #1375 from johnl/1374-docker-symlink-bug-workaround
docker: Use full filename when copying symlink
2015-11-10 17:54:36 -08:00
John Leach
ec5c28980d docker: Use full filename when copying symlink
Works around an upstream bug in Docker:

https://github.com/docker/docker/issues/17730

Fixes #1374
2015-11-05 18:52:10 +00:00
Jakub Warmuz
6f5d37fc21 requirements.txt: rename to py26reqs.txt and remove it from deps where possible.
When people see requirements.txt they tend to `pip install -r`
straight way
(c.f. https://github.com/letsencrypt/letsencrypt/issues/1252). It's
only necessary for Python2.6.
2015-10-31 12:22:42 +00:00
Jakub Warmuz
aa4641b3b0 --agree-dev-preview
`git grep -i eula` to the rescue
2015-10-20 19:33:27 +00:00
yan
5b080b6056 Update Dockerfile-dev and instructions. 2015-09-21 15:33:40 -07:00
yan
b38500fad8 Add development Dockerfile and instructions 2015-08-03 16:26:22 -07:00