Commit Graph

539 Commits

Author SHA1 Message Date
Jean-Paul Calderone
8d0869f614 Factor some shared pieces of CircleCI configuration out
* Take DOCKERHUB_CONTEXT off of the single arbitrary job it was hung on and
  make it standalone.  This isolates it from future changes to that particular
  job.

* Take DOCKERHUB_AUTH out of `jobs` so it doesn't need a lot of extra
  boilerplate to pass schema validation.

* Give the "nixos" job a Python version parameter so it can be instantiated
  multiple times to test multiple Python versions.  Change the "NixOS
  unstable" instantiation to use Python 3.11 as a demonstration.

* Move a lot of the implementation of the "nixos" job into a "nix" executor
  and a "nix-build" command that, together, do the generic setup required to do
  any nix-based builds.
2023-03-22 09:30:52 -04:00
Jean-Paul Calderone
10414e80ed Remove some unnecessary hierarchy
I thought `default.nix` was handled specially for the purposes of automatic
parameter population but it isn't.  Instead, you just need this `args@{...}`
pattern.
2023-03-14 10:25:02 -04:00
Jean-Paul Calderone
d648592a87 get the helper ... 2023-03-13 19:43:16 -04:00
Jean-Paul Calderone
6e6fc2d307 The Nix test expression includes a package build, so just do that 2023-03-13 19:02:54 -04:00
Jean-Paul Calderone
93cd2aa354 re-enable nix-based test suite runs 2023-03-13 16:43:22 -04:00
Jean-Paul Calderone
b73045d93c fix ci configuration 2023-03-13 16:21:36 -04:00
Jean-Paul Calderone
02904a363b Drop nixpkgs 21.11 - it is missing some stuff we need
Not only some nixpkgs facilities but it also includes a rustc that's too old
to build pycddl.
2023-03-13 16:19:07 -04:00
Jean-Paul Calderone
568e1b5317 Replace the mach-nix-based package with a nixpkgs-based package
The built-in nixpkgs `buildPythonPackage` doesn't do metadata discovery so we
have to duplicate a lot of the package metadata.  However, mach-nix is
unmaintained and incompatible with newer versions of nixpkgs.
2023-03-13 15:19:43 -04:00
Jean-Paul Calderone
4ea4286a7f Use CIRCLE_PULL_REQUESTS in case there are multiple
which, of course, there never are, except for during testing of this branch
2023-01-28 09:21:34 -05:00
Jean-Paul Calderone
3d58194c3a Complexify the upstream-vs-forked detection 2023-01-28 08:56:48 -05:00
Jean-Paul Calderone
230ce346c5 circleci env var notes 2023-01-28 08:54:00 -05:00
Jean-Paul Calderone
d77d8d09fc Give the integration tests a little longer to finish. 2023-01-20 19:58:06 -05:00
Jean-Paul Calderone
69b25d932c Re-enable the Debian-11 / integration gate 2023-01-18 13:29:14 -05:00
Jean-Paul Calderone
f6555381a9 start right away please so I don't have to wait forever 2023-01-17 10:40:08 -05:00
Jean-Paul Calderone
6bf36bebd0 maybe we need integration here after all 2023-01-17 10:39:58 -05:00
Jean-Paul Calderone
e4745779ab See if this helps tox/pytest on CI 2023-01-17 10:27:20 -05:00
Jean-Paul Calderone
da6b198abc True that the tox default is disabled but it's accounted for already 2023-01-17 10:00:06 -05:00
Jean-Paul Calderone
fe552bf146 Fix CircleCI config typo 2023-01-17 09:44:27 -05:00
Jean-Paul Calderone
5424aa9737 Only run the very slow new integration test in one CI job 2023-01-17 09:27:17 -05:00
Jean-Paul Calderone
da8cc19ef5 Merge remote-tracking branch 'origin/master' into support-triggered-image-builds 2023-01-10 08:54:00 -05:00
Itamar Turner-Trauring
34f5da7246 And add back necessary anchor. 2023-01-09 11:08:31 -05:00
Itamar Turner-Trauring
8c418832bb Remove references to missing jobs. 2023-01-09 11:06:57 -05:00
Itamar Turner-Trauring
1482d41918 Drop 3.7. 2023-01-09 11:01:45 -05:00
Jean-Paul Calderone
25eb3ca262 Switch to a variable observed in practice
There is apparently no CIRCLE_PR_REPONAME set in the runtime environment,
either, despite what the docs say.
2022-12-21 06:47:21 -05:00
Jean-Paul Calderone
21af00bf83 Report the CIRCLE_PR_REPONAME too, because who knows 2022-12-21 06:27:41 -05:00
Jean-Paul Calderone
78e04cc821 Modernize cachix usage; attempt to fix CircleCI conditional
CIRCLE_PR_NUMBER documentation may just be wrong.  It seems like maybe it is
never set?

Try inspecting the source repo value instead.
2022-12-21 06:25:22 -05:00
Jean-Paul Calderone
63fd24d060 Note how you can get this parameter set 2022-12-14 12:48:53 -05:00
Jean-Paul Calderone
f053ef371a Get rid of the scheduled image building workflow. 2022-12-14 12:47:50 -05:00
Jean-Paul Calderone
793033caa8 Fix quoting on the helper 2022-12-14 12:44:11 -05:00
Jean-Paul Calderone
d66d928fb4 Provide a helper for rebuilding the images 2022-12-14 10:07:07 -05:00
Jean-Paul Calderone
1d248f4bd2 comments 2022-12-14 09:56:16 -05:00
Jean-Paul Calderone
761bf9cb9c See if we can get a triggered image build too 2022-12-14 09:49:50 -05:00
Jean-Paul Calderone
815c998c33 regular ci 2022-12-13 09:09:02 -05:00
Jean-Paul Calderone
8282fce4cd build the images again 2022-12-13 08:57:21 -05:00
Jean-Paul Calderone
d5380fe156 regular ci config 2022-12-09 14:27:37 -05:00
Jean-Paul Calderone
e835ed538f Okay don't quote it then 2022-12-09 14:18:40 -05:00
Jean-Paul Calderone
43c044a11b build me the images 2022-12-09 14:13:29 -05:00
Jean-Paul Calderone
666cd24c2b Also constrain tox here 2022-12-09 14:12:50 -05:00
Jean-Paul Calderone
f6a46c86d2 Populate the wheelhouse with a working version of tox 2022-12-09 14:12:20 -05:00
Itamar Turner-Trauring
db59eb12c0 Increase timeout. 2022-11-02 15:22:36 -04:00
Itamar Turner-Trauring
63e16166d7 Restore default image building setup. 2022-05-18 13:43:26 -04:00
Itamar Turner-Trauring
43a34f031d Make it work temporarily. 2022-05-18 13:26:07 -04:00
Itamar Turner-Trauring
90a6cf18ac Just use system Tor, for more stability. 2022-05-18 13:20:44 -04:00
Itamar Turner-Trauring
28e10d127a Do integration tests with more modern image. 2022-05-18 13:20:37 -04:00
Itamar Turner-Trauring
012693f6b2 Build a different image for now. 2022-05-18 13:19:13 -04:00
Itamar Turner-Trauring
5ef8fa5b89 TEmporary only build the image we care about. 2022-05-18 12:57:50 -04:00
Itamar Turner-Trauring
d6abefb041 Temporary always build images. 2022-05-18 12:57:29 -04:00
Itamar Turner-Trauring
36e3beaa48 Get rid of deprecations builder. 2022-04-29 10:03:43 -04:00
Itamar Turner-Trauring
6190399aef Just codechecks. 2022-02-15 14:33:00 -05:00
Itamar Turner-Trauring
bd90728946 Re-add missing environment. 2022-02-15 10:26:54 -05:00
Itamar Turner-Trauring
7ea106a018 Switch back to building Docker images on a schedule. 2022-02-15 10:19:56 -05:00
Itamar Turner-Trauring
95c32ef2ee Fix syntax. 2022-02-15 10:13:35 -05:00
Itamar Turner-Trauring
1fd8603673 Use modern Docker version (with bugfixes for modern distributions). 2022-02-15 10:07:04 -05:00
Itamar Turner-Trauring
3ccd051473 Correct image. 2022-02-14 11:40:03 -05:00
Itamar Turner-Trauring
0bcfc58c22 Various version fixes. 2022-02-14 11:30:24 -05:00
Itamar Turner-Trauring
34fe6a41ed Fix Fedora package name. 2022-02-14 11:05:31 -05:00
Itamar Turner-Trauring
13d23e3baf The terminal is a lie. 2022-02-14 10:57:44 -05:00
Itamar Turner-Trauring
6a17c07158 Drop unnecessary install. 2022-02-14 10:52:33 -05:00
Itamar Turner-Trauring
19a3d2acf7 Fix some more. 2022-02-14 10:49:17 -05:00
Itamar Turner-Trauring
4e133eb759 Fix name. 2022-02-14 10:46:55 -05:00
Itamar Turner-Trauring
5935d99776 Fix name. 2022-02-14 10:45:56 -05:00
Itamar Turner-Trauring
f0a81e1095 Fix typo. 2022-02-14 10:44:44 -05:00
Itamar Turner-Trauring
d4810ce5b8 Get rid of duplicate. 2022-02-14 10:42:58 -05:00
Itamar Turner-Trauring
71989c64eb Fix some references. 2022-02-14 10:40:38 -05:00
Itamar Turner-Trauring
0639f2c16c Try to switch to modern Python 3 world.
Temporarily switch image building to always happen.
2022-02-14 10:35:43 -05:00
Jean-Paul Calderone
d6e82d1d56 explain this unfortunate cache step 2022-01-28 10:41:40 -05:00
Jean-Paul Calderone
6154be1a96 Give the NixOS job instantiations nice names 2022-01-27 15:37:12 -05:00
Jean-Paul Calderone
f5e1af00c0 try using parameters to avoid environment collision
the `cachix push` later on also needs CACHIX_NAME so defining it on a single
step is not great
2022-01-27 15:35:23 -05:00
Jean-Paul Calderone
ccb6e65c04 make sure CACHIX_NAME is set for both nixos jobs 2022-01-27 15:26:19 -05:00
Jean-Paul Calderone
136734c198 try to use cachix 2022-01-27 15:09:52 -05:00
Jean-Paul Calderone
0fb56c9a48 I checked, git is there. 2022-01-27 15:03:21 -05:00
Jean-Paul Calderone
a8033e2c2f cannot get python env that way
we don't need python until later anyway
2022-01-27 14:59:29 -05:00
Jean-Paul Calderone
17d2119521 get setuptools in there 2022-01-27 14:55:34 -05:00
Jean-Paul Calderone
7ee55d07e5 Use nix-env less wrong, maybe 2022-01-27 14:47:43 -05:00
Jean-Paul Calderone
e4ed98fa64 maybe this is where they may be found 2022-01-27 14:39:30 -05:00
Jean-Paul Calderone
e7bba3dad0 cannot use the source before we do the checkout... 2022-01-27 14:36:59 -05:00
Jean-Paul Calderone
5edd96ce6b Change around environment management so we can install ssh too
The new image does not come with it
2022-01-27 14:31:56 -05:00
Jean-Paul Calderone
83a172210c Switch to Nix 2.3. mach-nix is not compatible with older versions. 2022-01-27 14:22:35 -05:00
Jean-Paul Calderone
b2acd0f7d0 >- and indentation changes don't interact well
blackslashes are more likely to be understood, I guess
2022-01-27 14:05:59 -05:00
Jean-Paul Calderone
5b7f5a9f88 fix typo 2022-01-27 14:04:21 -05:00
Jean-Paul Calderone
78c4b98b08 that comment handles the >- yaml string type badly 2022-01-27 14:01:40 -05:00
Jean-Paul Calderone
013e1810e4 try to use a single nixpkgs in each job 2022-01-27 13:59:37 -05:00
Jean-Paul Calderone
dea4c7e131 get setuptools 2022-01-27 13:59:32 -05:00
Jean-Paul Calderone
5cab1f7a4c Get Python this way? 2022-01-27 13:57:09 -05:00
Jean-Paul Calderone
9c964f4acd generate the version info 2022-01-27 13:52:10 -05:00
Jean-Paul Calderone
b47457646c Correct naming of the CircleCI job 2022-01-27 13:26:57 -05:00
Jean-Paul Calderone
86bcfaa14d Update CircleCI configuration to the new packaging 2022-01-27 13:24:05 -05:00
Itamar Turner-Trauring
04cf206e0d Switch back to running image building on schedule. 2022-01-24 11:06:58 -05:00
Itamar Turner-Trauring
31e4556bd1 Need image with Docker _and_ git+ssh. 2022-01-24 11:01:47 -05:00
Itamar Turner-Trauring
02740f075b Temporarily enable image builds on every push. 2022-01-24 10:56:11 -05:00
Itamar Turner-Trauring
f04e121a7d Try to use correct Docker image. 2022-01-24 10:51:55 -05:00
Itamar Turner-Trauring
fa2b4a11c7 Welcome to the WORLD OF TOMORROW 2022-01-24 10:50:40 -05:00
Itamar Turner-Trauring
8eb6ab4765 Switch to Python 3.7 as minimal version. 2022-01-24 10:42:09 -05:00
Jean-Paul Calderone
49df402f07 maybe this is the right url 2021-09-29 15:48:33 -04:00
Jean-Paul Calderone
5a3028bdab add a python3 expression
most deps are in nixpkgs now but we still need an overlay for th very very
recent collections-extended dependency
2021-09-29 15:46:18 -04:00
Jean-Paul Calderone
fc01835a56 ci configuration 2021-09-29 15:16:01 -04:00
Jean-Paul Calderone
e0414fd8af Upload eliot.log on CircleCI runs 2021-09-08 09:14:47 -04:00
Jean-Paul Calderone
a1112e4cd0 Add the new job to the workflow 2021-08-11 10:25:49 -04:00
Jean-Paul Calderone
97008b70b2 Avoid renaming a job, it causes operational hassle 2021-08-11 10:25:42 -04:00
Jean-Paul Calderone
6e89713b65 Merge remote-tracking branch 'origin/master' into 3760.run-codechecks3 2021-08-11 10:25:13 -04:00
Jean-Paul Calderone
2bb310c511 Try to run codechecks3 on CI 2021-08-11 09:50:23 -04:00
Jean-Paul Calderone
0e2c4ff7e6 I suppose you cannot define an empty yaml map by leaving everything out 2021-08-11 07:45:45 -04:00
Jean-Paul Calderone
6f36f85a87 Define the yaml anchor elsewhere, where it is still needed 2021-08-11 07:41:59 -04:00
Jean-Paul Calderone
c5fec82328 CircleCI succeeds in pulling the docker images without this
It says "Warning!" but then says it is going to use its own credentials.
Great.  Just what I want.
2021-08-11 07:40:16 -04:00
Jean-Paul Calderone
a4da804870 Stop using the dockerhub-auth context for normal jobs 2021-08-11 07:33:58 -04:00
Sajith Sasidharan
70291cd468 Add "docs" job to CircleCI workflow 2021-03-19 15:55:19 -04:00
Sajith Sasidharan
61fc96181e Build docs on CI 2021-03-09 16:57:20 -05:00
Jean-Paul Calderone
7864330562 Merge remote-tracking branch 'origin/master' into 3385.coveralls-for-coverage-reports 2021-02-12 12:58:49 -05:00
Itamar Turner-Trauring
5aa452c8bb Drop build-porting-depgraph step. 2021-02-12 10:23:07 -05:00
Jean-Paul Calderone
7f22441423 Change Debian 8 to Debian 10 for CI 2021-02-11 15:59:51 -05:00
Jean-Paul Calderone
a01078ddec Switch to one of our Docker images for typecheck CI 2021-01-15 15:00:57 -05:00
Jean-Paul Calderone
b4128a8d10 Stop collecting coverage on CircleCI 2021-01-05 15:58:21 -05:00
Jason R. Coombs
d2e2a22f62 Run typechecks in CircleCI 2020-12-04 19:51:47 -05:00
Jean-Paul Calderone
dddf49ff71 Restore original image configuration 2020-10-22 17:00:02 -04:00
Jean-Paul Calderone
da75fa4069 make all the image builders run too, to see if they will 2020-10-22 14:47:18 -04:00
Jean-Paul Calderone
81428d0839 explain "Schema conformity" a bit more 2020-10-22 14:46:26 -04:00
Jean-Paul Calderone
e2f03e00ba typo 2020-10-22 12:27:22 -04:00
Jean-Paul Calderone
1303a85285 Attempt to get the Docker Hub auth into the right place 2020-10-22 12:21:11 -04:00
Jean-Paul Calderone
5e1d3db72e Correct whitespace 2020-10-22 12:12:58 -04:00
Jean-Paul Calderone
e778c8ab84 This is no longer used by anything 2020-10-22 12:09:09 -04:00
Jean-Paul Calderone
22921e2b1d Use secrets from the context to authenticate with Docker Hub 2020-10-22 12:08:30 -04:00
Jean-Paul Calderone
bc8c2c4689 Put all CircleCI jobs into the "dockerhub-auth" context 2020-10-22 12:04:59 -04:00
Jean-Paul Calderone
e007a4c2c1 foolish shell tricks spoil the day again 2020-10-16 06:54:06 -04:00
Jean-Paul Calderone
c164f8083d PyPy job also does not coverage measurement 2020-10-14 13:09:18 -04:00
Jean-Paul Calderone
db4bac90cf Only upload coverage measurement if we took one 2020-10-14 12:58:15 -04:00
Chad Whitacre
d5f9fd37f4 Add comment 2020-09-14 07:38:54 -04:00
Chad Whitacre
3c89e7d9f5 Conform job names to v2.1 requirements (no dots) 2020-09-14 07:32:04 -04:00
Chad Whitacre
ed8ce8b18c Bump version from 2 to 2.1
What will break?
2020-09-14 07:12:47 -04:00
Itamar Turner-Trauring
2787554a8b Make sure CircleCI see progress output from subunitv2 reporter. 2020-09-04 12:05:42 -04:00
Itamar Turner-Trauring
38f5a9c5a3 Disable coverage on pypy, in the hopes of making it less flaky. 2020-09-04 12:05:31 -04:00
Jean-Paul Calderone
07e33e78a5 Configure CI to use the py36-coverage tox env 2020-08-26 14:37:21 -04:00
Jean-Paul Calderone
60759597f3 Ask for a particular version of Python
In particular, a version Tahoe-LAFS supports.
2020-08-20 13:21:48 -04:00
Jean-Paul Calderone
6eba1469f3
Back out subunit2junitxml exit status change from ticket:3336
I don't know why I included this change.  It was certainly based on a faulty
assumption (that the tox command would exit with error if a test failed - it
won't).  Apart from that, the motivation was the Python 3.6 ratchet job.  The
test run was expected to fail but then the *ratchet* tool was in charge of
deciding if this indicated real failure or not.  Failing at this point
prevented that logic from running.  Now the ratchet is gone and we want CI to
turn red if anything fails.
2020-08-14 13:10:54 -04:00
Jean-Paul Calderone
0a7589f0c2
Update the CircleCI configuration to get the reporter working for py36 2020-08-14 11:24:42 -04:00
Jean-Paul Calderone
9695e87fbd
Revert to master version of these configs 2020-08-14 11:16:45 -04:00
Chad Whitacre
647ed5d6e1 Use BASH_ENV to avoid duplication of job steps 2020-08-14 08:33:00 -04:00
Chad Whitacre
ae87037e73 Filter tests we care about in CI for Python 3 2020-08-13 06:23:46 -04:00
Chad Whitacre
306df53012 Expose TAHOE_LAFS_TRIAL_ARGS to config
This allows for working around a bug in trial under Python 3 where
--reporter and --rterror collide.
2020-08-13 05:55:51 -04:00
Jean-Paul Calderone
513177c4b8
strace not used by anything now 2020-08-11 18:33:01 -04:00
Jean-Paul Calderone
b69287be4b
Merge remote-tracking branch 'origin/master' into 3336.py36-off-travis 2020-08-11 14:51:08 -04:00
Jean-Paul Calderone
a74ef86098
Remove the CI configuration 2020-08-11 13:25:16 -04:00
Jean-Paul Calderone
462e212a19
Revert "[drop] faster ci"
This reverts commit 65520786ca.
2020-08-10 09:16:19 -04:00
Jean-Paul Calderone
0c2cf9f0c5
Don't fail if subunit2junitxml fails 2020-08-10 09:11:14 -04:00
Jean-Paul Calderone
a927ebbafa
what's up 2020-08-08 00:04:13 -04:00
Jean-Paul Calderone
7ba6daeed5
maybe get some more visibility into errors 2020-08-07 23:58:24 -04:00
Jean-Paul Calderone
23d7ffa369
Check for subunit2 output here 2020-08-07 23:56:13 -04:00
Jean-Paul Calderone
65520786ca
[drop] faster ci 2020-08-07 23:26:15 -04:00
Jean-Paul Calderone
a60d4f7df4
get strace 2020-08-07 22:21:52 -04:00
Jean-Paul Calderone
c2b1fda4e7
Add Ubuntu 20.04 2020-08-07 15:40:10 -04:00
Jean-Paul Calderone
80136da0a6
This Fedora probably also has no Python version tag 2020-08-07 11:14:58 -04:00