Commit Graph

392 Commits

Author SHA1 Message Date
Jean-Paul Calderone f53e166803 Nope. Set via secret-env-cipher. 2019-04-03 13:22:16 -04:00
Jean-Paul Calderone 7f354abd63 Add the secret environment needed to push images to Dockerhub 2019-04-03 13:15:47 -04:00
Jean-Paul Calderone bbb09178b3 Add a job for building pre-initialized Docker images for CI 2019-04-03 13:15:08 -04:00
Jean-Paul Calderone 4def49ed54 ask subunitreporter for progress reporting 2019-03-25 13:20:04 -04:00
Jean-Paul Calderone 7768d06b51 Set up a Latin 1 locale job 2019-03-20 15:56:01 -04:00
Jean-Paul Calderone 7783433369 Back off on the specificity for git installation
Version number got bumped, nothing was being installed.
2019-01-25 17:03:04 -05:00
Jean-Paul Calderone 1fb2809276 Additionally, disable the CircleCI artifact handling steps 2019-01-24 16:04:58 -05:00
Jean-Paul Calderone 6ee727d67e Avoid the artifact steps for integration tests
Integration tests produce none and trying to do these things breaks.
2019-01-24 16:04:26 -05:00
Jean-Paul Calderone ec99e7138d Block integration tests on debian-9 results 2019-01-24 10:20:47 -05:00
Jean-Paul Calderone 25719ca1cb Invoke install-tor.sh with the correct path. 2019-01-24 10:04:07 -05:00
Jean-Paul Calderone f534d3c34f Attempt to configure CircleCI for integration tests 2019-01-24 09:02:27 -05:00
Jean-Paul Calderone 9c359681f2 Flip Debian 8 and 9 definitions
More things want Debian 9.  This reduces duplication.
2019-01-23 18:15:25 -05:00
Jean-Paul Calderone bd8e4b21b6 Of course, assume yes.
I don't even care what the question is.  Whatever the question is, please just
assume yes.
2019-01-23 11:32:03 -05:00
Jean-Paul Calderone c053cec465 Switch back to yum
Turns out yum can install by path, too.  And dnf is not readily available on
CentOS (which shares this configuration).
2019-01-23 11:22:53 -05:00
Jean-Paul Calderone 0640cfbb8b Bump Fedora to 28/29 and fix virtualenv install
Fedora python-virtualenv package no longer provides the /usr/bin/virtualenv
executable!  Switch to using dnf to install it so we don't have to guess the
right package name.
2019-01-23 11:14:58 -05:00
Jean-Paul Calderone 841326ed4b Try less aggressive version pinning
Old versions are removed from the package repository, as far as I can
tell.  This happened to curl and broke the build.
2018-07-24 13:14:31 -04:00
Jean-Paul Calderone 93881f34a7 consistent indentation 2018-07-10 15:43:30 -04:00
Jean-Paul Calderone a1196fccdb Prevent retrieval of source packages for test step 2018-07-10 15:23:16 -04:00
Jean-Paul Calderone b57fe7635f sudo blocks PIP_FIND_LINKS, explicitly propagate
:(
2018-07-10 15:22:37 -04:00
Jean-Paul Calderone 4fcbfd7158 Get wheels for these external dependencies as well
Particularly because they have their own dependencies and we install
this set of things before we install Tahoe-LAFS.
2018-07-10 15:18:09 -04:00
Jean-Paul Calderone 150ce7d91f Look at the wheelhouse!
Otherwise all non-wheels are rebuilt every time anyway!
2018-07-10 15:05:51 -04:00
Jean-Paul Calderone a3f9361c86 already running as root 2018-07-10 14:10:46 -04:00
Jean-Paul Calderone 63f1f3139f pretty labels 2018-07-10 14:03:57 -04:00
Jean-Paul Calderone b9008f13a2 Handle the case where there's not yet a cache 2018-07-10 13:32:10 -04:00
Jean-Paul Calderone f3df99f470 desired information has been extracted 2018-07-10 13:28:55 -04:00
Jean-Paul Calderone e8af01db1a Bust the cache again. 2018-07-10 13:24:55 -04:00
Jean-Paul Calderone e3aa349a71 The group is named differently on different OS.
Maybe this is good enough?
2018-07-10 13:24:17 -04:00
Jean-Paul Calderone 6e5d11dbd0 Attempt to fix the pip cache 2018-07-10 12:59:33 -04:00
Jean-Paul Calderone 606cea7db5 see what the deal is with the pip cache 2018-07-10 12:47:48 -04:00
Jean-Paul Calderone 3c9b85809d explicitly bring in the wheel package too
to support `bdist_wheel`
2018-07-10 12:08:40 -04:00
Jean-Paul Calderone 524a6ef217 Use the moved project paths now
because the bootstrap step is what does the moving
2018-07-10 11:59:04 -04:00
Jean-Paul Calderone 21edff4a09 get some more debug info 2018-07-10 11:46:02 -04:00
Jean-Paul Calderone 0d209c0af4 Manage the cache around *only* virtualenv setup
We don't need anything from the cache in the bootstrap step and
Slackware cannot interact with the cache until after the bootstrap step
anyway.
2018-07-10 11:42:53 -04:00
Jean-Paul Calderone b99120048f Get a new version of setuptools as well
This whole stack is so fragile, running any non-latest packaging package
is fraught.  In particular, without this change, Debian 8 job is
failing.
2018-07-10 11:16:24 -04:00
Jean-Paul Calderone f7e0ecbe3f exclude the internal pip wheel cache
this was meant to be a download cache only
2018-07-10 10:38:03 -04:00
Jean-Paul Calderone b981b2eb47 "Invalidate" current caches
Necessary because mistakes in caching configuration in previous pushed
revisions populated some caches with invalid state which now persists
and causes some jobs to fail.  This wipes the slate clean.
2018-07-10 09:46:17 -04:00
Jean-Paul Calderone b731ffffa4 Avoid the most general wheelhouse cache key
It usually contains stuff we often can't use.
2018-07-10 09:24:09 -04:00
Jean-Paul Calderone 38c8afc6f7 Use the job name instead of the arch
arch is only the hardware architecture.  this is not sufficient to
differentiate between platforms with ABI incompatibilities.  job name
should be good enough (maybe more fine-grained than we really want but
easy to express and maintain).
2018-07-10 08:56:28 -04:00
Jean-Paul Calderone f15257d9dc Actually, it's not clear why branch would matter
If setup.py and _auto_deps.py are the same, the python dependencies will
be the same, surely.
2018-07-10 08:55:45 -04:00
Jean-Paul Calderone a667066348 fix typos :( 2018-07-09 15:58:56 -04:00
Jean-Paul Calderone c07b8e32a4 back to the full test suite 2018-07-09 15:55:32 -04:00
Jean-Paul Calderone 9c1dc47f37 upgrade pip 2018-07-09 15:54:57 -04:00
Jean-Paul Calderone 24dfce49eb Add caching for RedHat and Slackware 2018-07-09 15:51:10 -04:00
Jean-Paul Calderone a5c0995b96 absolute path to the relocated source
but only for the save cache step because it hasn't been relocated by the
time of restore cache
2018-07-09 15:44:24 -04:00
Jean-Paul Calderone 99edbfaa5e Cannot build the wheelhouse before getting certifi 2018-07-09 15:27:20 -04:00
Jean-Paul Calderone ab7652bcf2 it is just `arch` 2018-07-09 15:05:01 -04:00
Jean-Paul Calderone 12a36abf63 Attempt to have a cached wheelhouse for pip 2018-07-09 13:36:40 -04:00
Jean-Paul Calderone a6fd0453fe fix bogus key in some "run" steps 2018-07-09 13:36:40 -04:00
Jean-Paul Calderone 412899174b partially valid optimization mistakenly snuck in 2018-07-09 13:34:29 -04:00
Jean-Paul Calderone 3623ed49f8 Perhaps this will fix the Slackware TLS errors 2018-07-09 11:02:29 -04:00
Jean-Paul Calderone e1686cd891 let the test suite complete 2018-07-08 19:06:34 -04:00
Jean-Paul Calderone 97bc77d96b Go straight to a file with the subunit2 output.
It's just too hard otherwise.
2018-07-08 18:49:45 -04:00
Jean-Paul Calderone 869a6ad390 Go straight to subunit v2 2018-07-06 16:55:19 -04:00
Jean-Paul Calderone 4b98440e6a Try harder to find the right output from Tox 2018-07-06 12:49:19 -04:00
Jean-Paul Calderone fcf4480cbc use TOX_JSON where it is appropriate 2018-07-06 12:06:46 -04:00
Jean-Paul Calderone 305d16af69 move path var definition higher up 2018-07-06 12:06:38 -04:00
Jean-Paul Calderone da007ef21d make sure nobody owns the artifacts directory 2018-07-06 12:06:21 -04:00
Jean-Paul Calderone 61f88c5359 nothing else will create it, I think 2018-07-06 11:32:19 -04:00
Jean-Paul Calderone 90ef111964 formatting 2018-07-06 11:32:12 -04:00
Jean-Paul Calderone a23fc6b006 Make more intermediate state visible as artifacts 2018-07-06 11:28:52 -04:00
Jean-Paul Calderone d074d52b48 Get junitxml uploaded as an artifact as well 2018-07-06 10:59:10 -04:00
Jean-Paul Calderone 79bea48b58 Get setup and build to agree on tox workdir 2018-07-06 10:54:31 -04:00
Jean-Paul Calderone a47877891b Account for comma-separated tox env list 2018-07-06 10:47:28 -04:00
Jean-Paul Calderone 4e0863436f Perhaps do a better job of generating junitxml 2018-07-06 10:15:52 -04:00
Jean-Paul Calderone 8300891ca2 Use a slightly better tox working directory 2018-07-06 10:15:32 -04:00
Jean-Paul Calderone 0ff1e100e1 Probably has to have this specific name
Or it won't be used
2018-07-05 19:47:11 -04:00
Jean-Paul Calderone cead72ac58 Generate subunit1 and then junitxml test results
Successfully this time, perhaps.
2018-07-05 16:03:37 -04:00
Jean-Paul Calderone 16e4370630 Generate junitxml and give it to CircleCI 2018-07-05 14:19:23 -04:00
Jean-Paul Calderone 98cc14c622 misc cleanups 2018-07-05 14:00:36 -04:00
Jean-Paul Calderone 52ac1462c9 whitespace 2018-07-05 09:56:47 -04:00
Jean-Paul Calderone dd9acf25c8 Only run the older if the newer succeeds
Spreads the initial builds across different platforms more effectively
and avoids potential redundant failing builds on different versions of a
single platform.
2018-07-05 09:07:10 -04:00
Jean-Paul Calderone b9278cd25a Remove the magic-folder "machine" configuration
Ubuntu 14.04 is so ooooold.  It doesn't like the way we're installing
Python packages now.
2018-07-05 08:54:02 -04:00
Jean-Paul Calderone eb55b6ad32 Add a couple more dependencies of sqlite3 2018-07-04 20:46:46 -04:00
Jean-Paul Calderone 531ac8474b Get certifi to fix the underlying problem
Having certifi magically makes setuptools able to talk to PyPI.  Whew!
2018-07-04 20:14:29 -04:00
Jean-Paul Calderone 6a0fda7ae5 the real package name 2018-07-04 16:02:01 -04:00
Jean-Paul Calderone b2a3a38bdd linux/limits.h 2018-07-04 16:01:54 -04:00
Jean-Paul Calderone f7e62b7e26 make sure we can build gmpy for twisted 2018-07-04 11:44:20 -04:00
Jean-Paul Calderone f474789e40 make sure we have boring build tools like as 2018-07-04 11:43:49 -04:00
Jean-Paul Calderone 78a31960fa make sure we have boring headers like limits.h 2018-07-04 11:42:06 -04:00
Jean-Paul Calderone 4f3809ed7f Attempt to get setuptools SSL client working 2018-07-04 11:19:50 -04:00
Jean-Paul Calderone 9525198cdd Apparently the upgrade command works differently.
It doesn't find anything if we spell out the full package name and
version.  If we drop the last segment, however...
2018-07-04 09:07:46 -04:00
Jean-Paul Calderone 11fa6303e9 try upgrading the installed package instead 2018-07-03 16:10:07 -04:00
Jean-Paul Calderone e42d330baa perhaps this is the maintained package? 2018-07-03 16:05:08 -04:00
Jean-Paul Calderone 0f7b075db0 add cyrus-sasl, secret curl dependency 2018-07-03 15:40:48 -04:00
Jean-Paul Calderone a8b02d2240 Attempt better slackpkg usage
Package matching seems to be by substring.  Avoid getting a ton of
useless packages by making more precise substrings.

Also, there is no distro virtualenv package.  Get it another way.
2018-07-03 15:36:26 -04:00
Jean-Paul Calderone bf4aee0858 Also install an ssh client 2018-07-03 15:23:48 -04:00
Jean-Paul Calderone b8e369e85f Avoid the Y/n prompt 2018-07-03 15:21:50 -04:00
Jean-Paul Calderone 301e8d321f Configure a Slackware job 2018-07-03 14:52:10 -04:00
Jean-Paul Calderone 2deb0a4b26 Add a "C" locale testing configuration 2018-06-19 08:37:18 -04:00
Jean-Paul Calderone 35996ef90f Re-enable the rest of the jobs 2018-06-16 16:06:14 -04:00
Jean-Paul Calderone 329cf46403 Help codecov find the coverage data 2018-06-16 10:19:45 -04:00
Jean-Paul Calderone 1102a2f4fc hilarious how hard it is to just pass an argument 2018-06-15 16:07:24 -04:00
Jean-Paul Calderone 3837fd880c make test args optional 2018-06-15 16:02:49 -04:00
Jean-Paul Calderone a4fb33c235 debug output 2018-06-15 16:00:27 -04:00
Jean-Paul Calderone d84773702d And these 2018-06-15 15:54:47 -04:00
Jean-Paul Calderone 054bb0ee6f pass arg in both places 2018-06-15 15:52:59 -04:00
Jean-Paul Calderone 9abb323d31 try passing positional args instead 2018-06-15 15:40:50 -04:00
Jean-Paul Calderone 7d74e042a3 Thanks, sudo. 2018-06-15 15:37:08 -04:00
Jean-Paul Calderone 13214437bf Get the right virtualenv package 2018-06-15 15:34:21 -04:00
Jean-Paul Calderone 0aab633db9 do the right thing 2018-06-15 15:33:13 -04:00
Jean-Paul Calderone 00fa08b7cf bootstrap moves the source 2018-06-15 15:26:19 -04:00
Jean-Paul Calderone fd26551c17 _not available_ in the build environment! 2018-06-15 15:17:32 -04:00
Jean-Paul Calderone 9ad7257614 find the project 2018-06-15 15:14:55 -04:00
Jean-Paul Calderone 182d6aec94 necessary but not sufficient 2018-06-15 15:13:17 -04:00
Jean-Paul Calderone 02c5a72924 the env var has an unexpanded ~ in it
more trouble than it is worth
2018-06-15 15:00:47 -04:00
Jean-Paul Calderone 0abb7cf350 need sudo here 2018-06-15 14:55:57 -04:00
Jean-Paul Calderone 82b07f3714 not installed yet 2018-06-15 14:55:16 -04:00
Jean-Paul Calderone dd1d934b25 What is going on with not being able to run these? 2018-06-15 14:53:19 -04:00
Jean-Paul Calderone 7dda09bb20 Cannot use an in-repo script to install git... 2018-06-15 14:51:11 -04:00
Jean-Paul Calderone 00e3a04c7e Factor steps out for use by machine executer 2018-06-15 14:21:33 -04:00
Jean-Paul Calderone 414c0907a7 Give test_system an `ip` executable
Same as the net-tools fix for CentOS 7, basically.
2018-06-15 14:01:42 -04:00
Jean-Paul Calderone f39a85dbd8 Add a VM-based magic-folder test job 2018-06-15 13:46:58 -04:00
Jean-Paul Calderone a4ac9ba9ce Upload the deprecation warning logs as artifacts 2018-06-15 13:20:46 -04:00
Jean-Paul Calderone be8dca9f58 remove debug env 2018-06-15 13:20:18 -04:00
Jean-Paul Calderone b109850683 A better comment about the deprecations job. 2018-06-15 11:36:15 -04:00
Jean-Paul Calderone 69a7573745 Use yaml merge mapping correctly
At least, correctly as far as Ruby is concerned...
2018-06-15 11:07:56 -04:00
Jean-Paul Calderone 03bb4ef1a9 Add a deprecations job 2018-06-15 10:58:51 -04:00
Jean-Paul Calderone 663f98101c Put more of the Tox setup in the setup step
This will give more accurate test step timings.
2018-06-15 10:58:51 -04:00
Jean-Paul Calderone 83cb49e83d Clean up the CircleCI presentation a bit 2018-06-15 10:58:51 -04:00
Jean-Paul Calderone 66903ba3d7 Make the environment a mapping
The documentation explains it as a list of single mappings.  That makes
no sense but "no sense" is par for the course.  However, "circleci
config validate" is happy if it is merely a mapping.

Making it a mapping lets us do a yaml mapping merge later and reduce
duplication.
2018-06-15 10:58:51 -04:00
Jean-Paul Calderone 7cd387bf5b Specify tox environment with an env var
This will make it easier to override.
2018-06-15 10:58:51 -04:00
Jean-Paul Calderone e9cddda898 Always run coverage
If you do not always run coverage, how will you know what the coverage is?

Also remove some duplication in the environment setup.
2018-06-15 10:58:51 -04:00
Jean-Paul Calderone 9d9a725794 Avoid yaml merge map in one place where possible 2018-06-15 10:58:51 -04:00
Jean-Paul Calderone e5e5bde7b6 Make the test log available as an artifact 2018-06-15 10:58:51 -04:00
Jean-Paul Calderone ea046cd30f Add a locale env var 2018-06-15 10:58:51 -04:00
Jean-Paul Calderone f51e6da9d2 Factor out the duplicate environment config 2018-06-15 10:58:51 -04:00
Jean-Paul Calderone afa321ae5f Factor out more of the test suite run config 2018-06-15 10:58:51 -04:00
Jean-Paul Calderone 30380a0d18 Add an Ubuntu 16.04 job 2018-06-15 10:58:51 -04:00
Jean-Paul Calderone 72fb92a045 whitespace 2018-06-15 10:58:51 -04:00
Jean-Paul Calderone 70c9973b8e Add an Ubuntu 18.04 job 2018-06-15 10:58:50 -04:00
Jean-Paul Calderone 9cd41b900f Add a Fedora 28 job 2018-06-15 08:44:52 -04:00
Jean-Paul Calderone dc1f6d3fec Add a Fedora 27 job 2018-06-15 08:44:52 -04:00
Jean-Paul Calderone d728c245f3 Factor out the duplicate test step command 2018-06-15 08:44:52 -04:00
Jean-Paul Calderone 8e782aa33f Add a CentOS 7 test-running job 2018-06-15 08:44:52 -04:00
Jean-Paul Calderone 4bd55b56d1 Set our Hypothesis profile 2018-06-15 08:44:52 -04:00
Jean-Paul Calderone 0b6cb1cceb Run the test suite unprivileged 2018-06-15 08:44:52 -04:00
Jean-Paul Calderone 7c1ac62c78 Factor duplication out of Debian configuration 2018-06-15 08:44:52 -04:00
Jean-Paul Calderone d8d83478c8 Install Git first.
Hopefully this allows CircleCI to use the real Git client to check out
the source.
2018-06-15 08:44:52 -04:00
Jean-Paul Calderone 13bcb26129 Add current Debian stable 2018-06-15 08:44:52 -04:00
Jean-Paul Calderone c16026bd88 Try running the test suite 2018-06-15 08:44:52 -04:00
Jean-Paul Calderone 659d661711 Get tox 2018-06-15 08:44:26 -04:00
Jean-Paul Calderone ed3c7cba0c Take a stab at an initial CircleCI configuration 2018-06-15 08:44:26 -04:00