Commit Graph

559 Commits

Author SHA1 Message Date
Jean-Paul Calderone
84eb1a3e32 still limit cores during build though 2023-07-04 13:13:16 -04:00
Jean-Paul Calderone
3d62b9d050 drop the separate build-dependencies step
Since we don't run the unit tests as part of the package build now we don't
need it
2023-07-04 13:12:28 -04:00
Jean-Paul Calderone
95ee3994a9 get a jmespath interpreter 2023-07-04 13:08:00 -04:00
Jean-Paul Calderone
2ddb0970a3 access to "experimental" nix commands 2023-07-04 12:50:48 -04:00
Jean-Paul Calderone
452ba6af32 try to get ci to use the flake 2023-07-04 12:48:45 -04:00
Jean-Paul Calderone
fa034781b4 Perhaps this is the correct way to locate the tox-managed venv 2023-04-28 14:29:21 -04:00
Jean-Paul Calderone
04ef5a02b2 eh ... these things moved into the tox-managed venv
not intentional but not sure what a _good_ fix is, so try this.
2023-04-28 14:12:01 -04:00
Jean-Paul Calderone
29c0ca5974 put the tox installation near other software installation 2023-04-28 13:51:22 -04:00
Jean-Paul Calderone
a088b1d812 don't bother to make a wheel of tox, just install it 2023-04-28 13:49:14 -04:00
Jean-Paul Calderone
d67016d1b9 Get the right version of tox in the wheelhouse 2023-04-28 13:39:49 -04:00
Jean-Paul Calderone
f0b98aead5 You don't need tox *inside* your test environment.
You need tox to *manage* your test environment (this is the premise, at least).
2023-04-28 13:33:25 -04:00
Jean-Paul Calderone
f6e4e862a9 Require that the actual test run step do this part
Keep this script to wheelhouse population.  We might be giving up a tiny bit
of performance here but let's make it work at all before we make it fast.
2023-04-28 07:50:50 -04:00
Jean-Paul Calderone
58ccecff54 Take a step towards unifying dependency pins used by tox env and Docker image building 2023-04-27 11:17:19 -04:00
Jean-Paul Calderone
3d0c872f4c restrict CI jobs to the wheelhouse 2023-04-27 10:44:10 -04:00
Itamar Turner-Trauring
e9a9ac7110 Rip out codecov for now. 2023-04-13 09:44:52 -04:00
Jean-Paul Calderone
7ae7db678e add CPython 3.8 and CPython 3.9 unit test jobs to CircleCI 2023-04-05 09:03:51 -04:00
Jean-Paul Calderone
2be9e949f0 add Ubuntu 22.04 unit test job to CircleCI 2023-04-05 09:02:34 -04:00
Jean-Paul Calderone
ca7d60097c update stale explanation about CACHIX_NAME 2023-03-26 20:05:35 -04:00
Jean-Paul Calderone
51f763ca9e fix word-o 2023-03-26 20:04:46 -04:00
Jean-Paul Calderone
727d10af93 hit the right build target 2023-03-22 09:40:58 -04:00
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