a36e70e133
Maybe this will clean up a little more
2019-04-06 10:00:02 -04:00
4a33d5b10e
Get other dependencies we need, too.
2019-04-06 09:59:52 -04:00
8ea7b2c81c
Try a multi-stage build to make a smaller image.
2019-04-06 09:41:57 -04:00
84da275427
Get a couple more basic deps in the wheelhouse
2019-04-06 09:41:47 -04:00
151e10fef0
Avoid the index
2019-04-06 09:41:31 -04:00
292668bf49
Make sure the wheelhouse is usable by nobody
2019-04-06 09:14:59 -04:00
4e56c249d2
tweak the comment x5
2019-04-05 08:15:24 -04:00
a7fb7c21e3
Probably isn't
2019-04-05 08:06:41 -04:00
70e7ce6c3c
filters are, apparently, required
2019-04-04 17:05:41 -04:00
ae4c8c6be1
This is no longer used.
2019-04-04 17:03:28 -04:00
bb491df969
Slackware is not a first-class image or whatever
2019-04-04 16:55:22 -04:00
83d91587c8
Build the images on a schedule
2019-04-04 16:54:22 -04:00
5a833ad152
Turns out that was redundant
2019-04-04 16:51:51 -04:00
c840938d27
Convert Slackware to the new pattern
2019-04-04 16:50:59 -04:00
b43d121b46
Fix naming snafu
2019-04-04 15:59:58 -04:00
9fc6d807d8
Let us figure out which release we're on
2019-04-04 15:59:07 -04:00
0cf600a27d
Still a good idea to push the images
2019-04-04 15:41:22 -04:00
3fdc0e1ca2
Bind the variables in both branches
2019-04-04 15:36:08 -04:00
0d31003a63
Split the image build job into many
2019-04-04 15:34:34 -04:00
3f323c2c66
Drop the separate Tor-enabled Debian image.
...
Just install Tor on the other Debian image and re-use that.
2019-04-04 15:33:16 -04:00
e0eca8fc6c
Parameterize the Fedora version
2019-04-04 14:29:05 -04:00
cc33115218
Parameterize the Debian version
2019-04-04 14:28:04 -04:00
7cfbc115a4
Parameterize the Ubuntu version
2019-04-04 14:26:47 -04:00
60f47759e2
Parameterize the CentOS version
2019-04-04 14:25:08 -04:00
a8f6ff6d36
Support a platform where the nobody group has a different name
2019-04-04 14:19:31 -04:00
16b13f6f0e
Have a go at converting the Fedora jobs
2019-04-04 14:02:00 -04:00
0df1432592
Blargh should have checked this in with the other Tor changes
2019-04-04 14:00:27 -04:00
302292366a
Have a go at converting CentOS
2019-04-04 14:00:19 -04:00
273e4ca226
A few comments scraped from config.yml's CentOS job
2019-04-04 13:59:28 -04:00
cb2c50fbf7
Install Tor in the Docker image and use it for integration job
2019-04-04 13:48:24 -04:00
ecaeedad84
This is baked into the Debian image we inherit
2019-04-04 13:34:41 -04:00
11dd42a3fa
Remove one more sudo
...
Unnecessary and broken since we run this step as nobody now
2019-04-04 13:23:26 -04:00
679893d541
Also propagate the user config to the other jobs
...
It was not propagated because they each have their own distinct "docker"
section.
2019-04-04 13:16:28 -04:00
08693e79f8
Apply the various changes to the 3 other Debian-alikes
2019-04-04 13:12:29 -04:00
4d15504e4a
Try avoiding some of the sudo'ing
2019-04-04 12:54:24 -04:00
2896370880
Factor some complexity out of the Dockerfile for easier reuse
2019-04-04 12:50:05 -04:00
99f0dad02b
See if we can start with some source
...
And just let CircleCI update it
2019-04-04 12:38:48 -04:00
53b9e92901
Just inherit it
2019-04-04 12:38:27 -04:00
ebe5fba518
Follow the move
2019-04-04 12:24:16 -04:00
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