Commit Graph

278 Commits

Author SHA1 Message Date
d19a9732e3 Try to get tox to use the wheelhouse too 2019-04-04 12:15:35 -04:00
b6233e0bef I assume checkout is re-screwing the permissions 2019-04-04 12:09:35 -04:00
904a175be4 Parameterize venv and source paths more 2019-04-04 12:07:32 -04:00
f5765acdb8 Just inherit the working directory 2019-04-04 12:07:08 -04:00
8bba0bfeaf "Directory (/tmp) you are trying to checkout to is not empty and not git repository" 2019-04-04 11:45:16 -04:00
ab5410f001 Try to get the project source into a better, predictable location 2019-04-04 11:44:27 -04:00
30a34d0b5d Move virtualenv and wheelhouse creation into the image 2019-04-04 11:26:10 -04:00
df1a51cb60 Have the project source available to the Docker build context 2019-04-04 10:49:39 -04:00
f39f6bf2f6 not sure why it doesn't work the other way 2019-04-04 10:45:17 -04:00
f794160dcf Split setup-virtualenv.sh into a few pieces
Some of the pieces may be usable in Docker image creation
2019-04-04 10:27:51 -04:00
c1e617abc9 Get rid of the CircleCI caches 2019-04-04 10:07:06 -04:00
19c7a2af85 and the other one 2019-04-03 15:58:41 -04:00
b484b8b1e0 Add the Dockerfile... 2019-04-03 15:58:14 -04:00
ca750dfd0e Build Ubuntu images and switch builders 2019-04-03 15:52:08 -04:00
fa09e7fa3d Stop pretending the username is a variable 2019-04-03 15:46:58 -04:00
57e261fbf8 we have no BASH_ENV I suppose 2019-04-03 15:37:21 -04:00
e911b0d958 Perhaps from this file... 2019-04-03 15:29:34 -04:00
02d91b5ea6 Factor openssl decryption and docker login into separate steps 2019-04-03 15:24:58 -04:00
b658b30b19 no longer supplied 2019-04-03 15:05:23 -04:00
e3d572b6b4 Get Debian 8 switched over as well 2019-04-03 14:41:50 -04:00
bf2c43a500 fix the Dockerfile syntax 2019-04-03 14:41:36 -04:00
3a01938159 Do some more package installation in the ci image 2019-04-03 14:34:13 -04:00
03d19dc93f Use the image we can build 2019-04-03 14:27:45 -04:00
67586c68db Get the image tagged with the right name for the push 2019-04-03 14:19:10 -04:00
3a20912ecf Re-generate with a new key because I leaked the old one 2019-04-03 14:18:19 -04:00
ff49e4e38f note a manual prereq 2019-04-03 14:18:13 -04:00
c55e2d141e be explicit about digest algorithm
it changes from version to version
2019-04-03 14:11:10 -04:00
c8d355326a okay I give, what the hell? 2019-04-03 14:05:12 -04:00
e7b7a6a836 Try using -pass instead of -k 2019-04-03 14:00:26 -04:00
8915f86233 Try re-encrypting with a new key
Previous build failed with:

bad decrypt
140431532411788:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:531:
Exited with code 1
2019-04-03 13:47:10 -04:00
1d8cf210e9 haha that's not debian. 2019-04-03 13:44:00 -04:00
59231d19ed Gotta have the decryption tool 2019-04-03 13:41:33 -04:00
e4607d2b21 Actually checking it in might help 2019-04-03 13:37:59 -04:00
81fbc1dfb5 maybe this will get the path right?
probably not
2019-04-03 13:37:38 -04:00
3cf9e05efd nope, that was wrong, but this seems to be right. 2019-04-03 13:28:42 -04:00
88f43ad413 perhaps use Docker correctly 2019-04-03 13:26:48 -04:00
f53e166803 Nope. Set via secret-env-cipher. 2019-04-03 13:22:16 -04:00
7f354abd63 Add the secret environment needed to push images to Dockerhub 2019-04-03 13:15:47 -04:00
bbb09178b3 Add a job for building pre-initialized Docker images for CI 2019-04-03 13:15:08 -04:00
4def49ed54 ask subunitreporter for progress reporting 2019-03-25 13:20:04 -04:00
7768d06b51 Set up a Latin 1 locale job 2019-03-20 15:56:01 -04:00
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
1fb2809276 Additionally, disable the CircleCI artifact handling steps 2019-01-24 16:04:58 -05:00
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
ec99e7138d Block integration tests on debian-9 results 2019-01-24 10:20:47 -05:00
25719ca1cb Invoke install-tor.sh with the correct path. 2019-01-24 10:04:07 -05:00
f534d3c34f Attempt to configure CircleCI for integration tests 2019-01-24 09:02:27 -05:00
9c359681f2 Flip Debian 8 and 9 definitions
More things want Debian 9.  This reduces duplication.
2019-01-23 18:15:25 -05:00
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
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
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
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
93881f34a7 consistent indentation 2018-07-10 15:43:30 -04:00
a1196fccdb Prevent retrieval of source packages for test step 2018-07-10 15:23:16 -04:00
b57fe7635f sudo blocks PIP_FIND_LINKS, explicitly propagate
:(
2018-07-10 15:22:37 -04:00
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
150ce7d91f Look at the wheelhouse!
Otherwise all non-wheels are rebuilt every time anyway!
2018-07-10 15:05:51 -04:00
a3f9361c86 already running as root 2018-07-10 14:10:46 -04:00
63f1f3139f pretty labels 2018-07-10 14:03:57 -04:00
b9008f13a2 Handle the case where there's not yet a cache 2018-07-10 13:32:10 -04:00
f3df99f470 desired information has been extracted 2018-07-10 13:28:55 -04:00
e8af01db1a Bust the cache again. 2018-07-10 13:24:55 -04:00
e3aa349a71 The group is named differently on different OS.
Maybe this is good enough?
2018-07-10 13:24:17 -04:00
6e5d11dbd0 Attempt to fix the pip cache 2018-07-10 12:59:33 -04:00
606cea7db5 see what the deal is with the pip cache 2018-07-10 12:47:48 -04:00
3c9b85809d explicitly bring in the wheel package too
to support `bdist_wheel`
2018-07-10 12:08:40 -04:00
524a6ef217 Use the moved project paths now
because the bootstrap step is what does the moving
2018-07-10 11:59:04 -04:00
21edff4a09 get some more debug info 2018-07-10 11:46:02 -04:00
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
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
f7e0ecbe3f exclude the internal pip wheel cache
this was meant to be a download cache only
2018-07-10 10:38:03 -04:00
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
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
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
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
a667066348 fix typos :( 2018-07-09 15:58:56 -04:00
c07b8e32a4 back to the full test suite 2018-07-09 15:55:32 -04:00
9c1dc47f37 upgrade pip 2018-07-09 15:54:57 -04:00
24dfce49eb Add caching for RedHat and Slackware 2018-07-09 15:51:10 -04:00
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
99edbfaa5e Cannot build the wheelhouse before getting certifi 2018-07-09 15:27:20 -04:00
ab7652bcf2 it is just arch 2018-07-09 15:05:01 -04:00
12a36abf63 Attempt to have a cached wheelhouse for pip 2018-07-09 13:36:40 -04:00
a6fd0453fe fix bogus key in some "run" steps 2018-07-09 13:36:40 -04:00
412899174b partially valid optimization mistakenly snuck in 2018-07-09 13:34:29 -04:00
3623ed49f8 Perhaps this will fix the Slackware TLS errors 2018-07-09 11:02:29 -04:00
e1686cd891 let the test suite complete 2018-07-08 19:06:34 -04:00
97bc77d96b Go straight to a file with the subunit2 output.
It's just too hard otherwise.
2018-07-08 18:49:45 -04:00
869a6ad390 Go straight to subunit v2 2018-07-06 16:55:19 -04:00
4b98440e6a Try harder to find the right output from Tox 2018-07-06 12:49:19 -04:00
fcf4480cbc use TOX_JSON where it is appropriate 2018-07-06 12:06:46 -04:00
305d16af69 move path var definition higher up 2018-07-06 12:06:38 -04:00
da007ef21d make sure nobody owns the artifacts directory 2018-07-06 12:06:21 -04:00
61f88c5359 nothing else will create it, I think 2018-07-06 11:32:19 -04:00
90ef111964 formatting 2018-07-06 11:32:12 -04:00
a23fc6b006 Make more intermediate state visible as artifacts 2018-07-06 11:28:52 -04:00
d074d52b48 Get junitxml uploaded as an artifact as well 2018-07-06 10:59:10 -04:00
79bea48b58 Get setup and build to agree on tox workdir 2018-07-06 10:54:31 -04:00
a47877891b Account for comma-separated tox env list 2018-07-06 10:47:28 -04:00
4e0863436f Perhaps do a better job of generating junitxml 2018-07-06 10:15:52 -04:00
8300891ca2 Use a slightly better tox working directory 2018-07-06 10:15:32 -04:00
0ff1e100e1 Probably has to have this specific name
Or it won't be used
2018-07-05 19:47:11 -04:00
cead72ac58 Generate subunit1 and then junitxml test results
Successfully this time, perhaps.
2018-07-05 16:03:37 -04:00
16e4370630 Generate junitxml and give it to CircleCI 2018-07-05 14:19:23 -04:00
98cc14c622 misc cleanups 2018-07-05 14:00:36 -04:00
52ac1462c9 whitespace 2018-07-05 09:56:47 -04:00
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
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
eb55b6ad32 Add a couple more dependencies of sqlite3 2018-07-04 20:46:46 -04:00
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
6a0fda7ae5 the real package name 2018-07-04 16:02:01 -04:00
b2a3a38bdd linux/limits.h 2018-07-04 16:01:54 -04:00
f7e62b7e26 make sure we can build gmpy for twisted 2018-07-04 11:44:20 -04:00
f474789e40 make sure we have boring build tools like as 2018-07-04 11:43:49 -04:00
78a31960fa make sure we have boring headers like limits.h 2018-07-04 11:42:06 -04:00
4f3809ed7f Attempt to get setuptools SSL client working 2018-07-04 11:19:50 -04:00
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
11fa6303e9 try upgrading the installed package instead 2018-07-03 16:10:07 -04:00
e42d330baa perhaps this is the maintained package? 2018-07-03 16:05:08 -04:00
0f7b075db0 add cyrus-sasl, secret curl dependency 2018-07-03 15:40:48 -04:00
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
bf4aee0858 Also install an ssh client 2018-07-03 15:23:48 -04:00
b8e369e85f Avoid the Y/n prompt 2018-07-03 15:21:50 -04:00
301e8d321f Configure a Slackware job 2018-07-03 14:52:10 -04:00
2deb0a4b26 Add a "C" locale testing configuration 2018-06-19 08:37:18 -04:00
35996ef90f Re-enable the rest of the jobs 2018-06-16 16:06:14 -04:00
329cf46403 Help codecov find the coverage data 2018-06-16 10:19:45 -04:00
1102a2f4fc hilarious how hard it is to just pass an argument 2018-06-15 16:07:24 -04:00
3837fd880c make test args optional 2018-06-15 16:02:49 -04:00
a4fb33c235 debug output 2018-06-15 16:00:27 -04:00
d84773702d And these 2018-06-15 15:54:47 -04:00
054bb0ee6f pass arg in both places 2018-06-15 15:52:59 -04:00
9abb323d31 try passing positional args instead 2018-06-15 15:40:50 -04:00
7d74e042a3 Thanks, sudo. 2018-06-15 15:37:08 -04:00
13214437bf Get the right virtualenv package 2018-06-15 15:34:21 -04:00
0aab633db9 do the right thing 2018-06-15 15:33:13 -04:00
00fa08b7cf bootstrap moves the source 2018-06-15 15:26:19 -04:00
fd26551c17 _not available_ in the build environment! 2018-06-15 15:17:32 -04:00
9ad7257614 find the project 2018-06-15 15:14:55 -04:00
182d6aec94 necessary but not sufficient 2018-06-15 15:13:17 -04:00
02c5a72924 the env var has an unexpanded ~ in it
more trouble than it is worth
2018-06-15 15:00:47 -04:00
0abb7cf350 need sudo here 2018-06-15 14:55:57 -04:00
82b07f3714 not installed yet 2018-06-15 14:55:16 -04:00
dd1d934b25 What is going on with not being able to run these? 2018-06-15 14:53:19 -04:00
7dda09bb20 Cannot use an in-repo script to install git... 2018-06-15 14:51:11 -04:00
00e3a04c7e Factor steps out for use by machine executer 2018-06-15 14:21:33 -04:00
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
f39a85dbd8 Add a VM-based magic-folder test job 2018-06-15 13:46:58 -04:00
a4ac9ba9ce Upload the deprecation warning logs as artifacts 2018-06-15 13:20:46 -04:00
be8dca9f58 remove debug env 2018-06-15 13:20:18 -04:00