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