Commit Graph

199 Commits

Author SHA1 Message Date
Lisanna Dettwyler
dfae4580e3
Support TLS in cryptol-remote-api (#1203)
Add support for TLS connections in both the rpc server
and client. Allow the client to disable certificate validation
via the `verify` keyword argument, i.e.,
`cryptol.connect(verify=False)`. The docker container
for `cryptol-remote-api` also contains a self-signed
cert for testing purposes.

Co-authored-by: Andrew Kent <andrew@galois.com>
2021-06-25 14:26:09 -07:00
Lisanna Dettwyler
eb829d89b2
Release process improvements (#1176)
Closes #1175

Closes #1134
2021-06-04 11:29:28 -07:00
Ryan Scott
88c369a271 Autogenerate cryptol-remote-api docs (and check them in CI)
Unfortunately, the autogenerated documentation (now located in `Cryptol.rst`)
doesn't yet have all of the information contained within the hand-written
documentation (now located in `old-Cryptol.rst`—see #1206. In pursuit of
eventually fixing that issue, the CI now makes sure that any changes to the
autogenerated documentation are checked in.
2021-06-01 11:00:26 -04:00
Andrew Kent
af0be41cf1
feat(rpc): make python client compat with python 3.7 (#1195) 2021-05-07 16:19:08 -07:00
Iavor Diatchki
b2a8a23798 Remove constraints on cabal install, as we made the most progress with that... 2021-04-22 15:13:52 -07:00
Iavor Diatchki
a7daa1e9c0 Overwrite test-runner if it was already there 2021-04-22 14:18:28 -07:00
Iavor Diatchki
c16583230a Print test-runner version, and always build it. 2021-04-22 14:04:15 -07:00
Lisanna Dettwyler
ec614b26cd Fix test-lib step 2021-04-22 12:35:17 -07:00
Iavor Diatchki
0c65f5e82b Change CI to use test-lib-0.3 and add a windows test for modsys/T18 2021-04-21 15:33:29 -07:00
Lisanna Dettwyler
8ed946ea75 Fix CI release signing and docker caching 2021-03-24 13:13:43 -07:00
Lisanna Dettwyler
d1ec9b214a Fix docker image caching 2021-03-23 20:55:49 -07:00
Lisanna Dettwyler
b8372231a1 Fix release bundle signing 2021-03-23 20:55:49 -07:00
Lisanna Dettwyler
f021990eba
Prep CI for upcoming release (#1123)
- Container images are now published to ghcr.io rather than docker hub (closes #1110):
  - https://github.com/orgs/GaloisInc/packages/container/package/cryptol
  - https://github.com/orgs/GaloisInc/packages/container/package/cryptol-remote-api
- Docker builds for all images are cached against ghcr.io (doesn't provide incremental builds, but it still helps a lot).
  - https://github.com/orgs/GaloisInc/packages/container/package/cache-cryptol
  - https://github.com/orgs/GaloisInc/packages/container/package/cache-cryptol-remote-api
- "Portable" variant of cryptol-remote-api is now built and tested to the same degree as the non-portable one
- Normalized CI workflows to [`.github/workflows/ci.yml`](https://github.com/GaloisInc/cryptol/blob/lisanna/docker-publishing/.github/workflows/ci.yml) (closes #1115)
- Pre-merge and release build configurations are now more or less the same, so release process remains validated (closes #1114, closes #1116)
- Matrix configs for each job are visible at high-level views of the workflow
- Always upload workflow artifacts, use sensible retention periods for publish vs. non-publish
- `cryptol-eval-server` included in cryptol-remote-api container image (closes #1112)
- Pathclearing for static linking (#1113)
2021-03-23 15:24:48 -07:00
Aaron Tomb
d6e3c13cd9
Include files from lib in release tarballs (#1120)
Closes #1074.
2021-03-22 08:30:43 -07:00
LisannaAtGalois
8a0a0094ae
Fix nightly builds (#1101)
* Restore files used in nightly
* fix helm test to use renamed argo
* point test to correct python location
* use python 3.9 for :=
2021-03-10 08:04:31 -08:00
Andrew Kent
9943b5ce0c test: test cryptol-remote-api docker image alongside other builds 2021-03-04 14:38:47 -08:00
Andrew Kent
b2562b3d27 bump argo, minor rpc tweaks 2021-03-01 13:19:00 -08:00
LisannaAtGalois
bcc7612b76
Init ghcr.io/galoisinc/cryptol-remote-api:nightly-portable (#1065) 2021-02-10 13:16:35 -08:00
Jared Weakly
1b482ba9ed
Fix helm testing and cvc4 url fix to missing locations (#1031)
* Fix helm testing and cvc4 url fix to missing locations

* Update tag for test-cryptol-remote-api in helm tests
2021-01-14 11:18:06 -08:00
Jared Weakly
5971ac3bed
Support ghc 8.10.3 cryptol remote api (#1026)
* Use ghc 8.10.3 for cryptol-remote-api to test SGX compatibility
* Fix cvc4
* Fix test suite for cryptol-remote-api
* Default to putting the heap as low in address space as possible
2021-01-11 11:36:21 -08:00
Aaron Tomb
396cad9363
Fix CVC4 nightly version (#1027)
Fixes CVC4 version used in Docker builds and GitHub actions. This is the update that we currently have to do every few weeks to point to a nightly build that still exists.
2021-01-04 11:13:06 -08:00
David Thrane Christiansen
d93ae31298 cryptol-eval-server: add to CI script 2020-12-15 18:42:07 -08:00
Aaron Tomb
6eb8db641c Fix CVC4 download URL in GitHub workflows 2020-12-11 12:52:43 -08:00
Lisanna Dettwyler
705e109cc2 Add check-exercises to CI 2020-12-11 11:56:57 -08:00
LisannaAtGalois
37f6b5bc98
WIP: Init helm for cryptol-remote-api (#999)
Init helm chart for cryptol-remote-api
2020-12-10 17:05:00 -08:00
LisannaAtGalois
af3c02cc9f
Make cryptol-remote-api Dockerfile default to 8080 (#982)
Improve the cryptol-remote-api Dockerfile to bind to port 8080 and
EXPOSE it. This makes the container much easier to use as a service.
2020-11-24 10:26:07 -08:00
Aaron Tomb
c46274f195 Set credentials for cryptol-remote-api Docker 2020-11-19 11:17:23 -08:00
Aaron Tomb
1ead4f2c1e Include .tar.gz archives on Windows, too 2020-11-18 17:08:24 -08:00
Aaron Tomb
5cbf17b425
Leave Markdown files out of distribution packages (#971) 2020-11-17 14:23:41 -08:00
Lisanna Dettwyler
0d6264a964 Build and push .github/Dockerfile-remote-api 2020-11-14 18:44:07 -08:00
Aaron Tomb
4fed1654a7 Update cryptol-remote-api flags in Dockerfile 2020-11-13 15:33:13 -08:00
Aaron Tomb
2919e21bdc Add Dockerfile for cryptol-remote-api 2020-11-11 11:57:20 -08:00
Jared Weakly
8cd1dbb354
Update deprecated add-path workflow command (#950) 2020-11-05 14:26:00 -08:00
Aaron Tomb
f51adf77e5 Bump CVC4 version in non-Docker builds, too 2020-10-26 09:27:04 -07:00
Aaron Tomb
f0b851ecf0
Add cryptol-remote-api (#927)
This commit moves the `cryptol-remote-api` package from the `argo` repository to the `cryptol` repository.
2020-10-12 12:46:30 -07:00
Aaron Tomb
eeadea181e Build tarballs even on Windows 2020-10-01 11:02:18 -07:00
Aaron Tomb
aa6582bacc Fix CVC4 installation in CI 2020-09-30 13:55:51 -07:00
Aaron Tomb
c67a777689 Fix Windows CI flakiness 2020-09-29 16:14:24 -07:00
Aaron Tomb
2e2e263c33 Revert "Revert "Include cryptol-remote-api in Cryptol builds (#890)""
This reverts commit f048368408.
2020-09-29 15:35:29 -07:00
Iavor Diatchki
f048368408 Revert "Include cryptol-remote-api in Cryptol builds (#890)"
This reverts commit d7cb4b6943.
2020-09-25 15:42:50 -07:00
Jared Weakly
bcb2f8fe08
Attempt to cache less aggressively to avoid dylib issues on macos (#896) 2020-09-16 16:43:13 -07:00
Aaron Tomb
36bcfab5e9 Try nightly builds with GHC 8.6.5 2020-09-14 11:20:23 -07:00
Aaron Tomb
d7cb4b6943
Include cryptol-remote-api in Cryptol builds (#890)
* Include `cryptol-remote-api` in Cryptol builds
* Add `cryptol-remote-api` to distribution bundles
* Allow nightly builds to be triggered manually
2020-09-14 10:33:30 -07:00
Jared Weakly
5c47ff32ea
Actions/publish docker only on tags (#874)
* Test docker build if Dockerfile changed. Publish only on tag
* Add caching to cron job now that it's supported
* Address GHC 8.10.2 and Windows incompatibility
* Push docker nightly image only on scheduled runs
* Build docker on tags with vX.X.X or X.X.X
2020-09-10 18:04:03 -07:00
Aaron Tomb
339c13b723
Prepare for v2.9.1 (#872)
* Tiny tweaks to release notes
* Update GHC versions
* Update GHC versions for Actions
* Build releases with 8.8.4 (Something strange is going on with 8.10.2 on Windows)
2020-08-31 11:40:09 -07:00
Jared Weakly
3a379bcbc0
CVC4 linux fixes (#871)
* add cvc4 version workaround
* bump z3 version in github actions to match dockerfile
2020-08-27 15:58:43 -07:00
Aaron Tomb
5100132e4c
Tweak a few things for 2.9.0 (#833)
* Fix Dockerfile

* Include version number in CHANGES.md

* Update copyright dates

* Don't include cryptol-specs in release archives

* Remove duplicate copy of Programming Cryptol
2020-07-28 08:41:27 -07:00
Jared Weakly
755d4d2de3
Enable docker builds for releases and nightlies (#834)
* Enable docker builds in nightly and release
* Fix doc builds
2020-07-28 08:40:34 -07:00
Jared Weakly
7c082b475c
Allow release branches to actually release (#832)
Fix release check
2020-07-27 10:05:28 -07:00
Jared Weakly
7e5e1ca439 explicitly build cryptol-html target in addition to cryptol 2020-07-24 15:03:38 -07:00
Jared Weakly
19f643a3ce add working retry 2020-07-24 14:12:41 -07:00
Jared Weakly
66f7aa2165 Deduplicate release checking logic 2020-07-24 14:12:41 -07:00
Jared Weakly
4832160fd9 Add release versioning for cryptol 2020-07-24 14:12:41 -07:00
Jared Weakly
4c9ee03b59 Manually invalidate cache for dist-newstyle 2020-07-24 14:12:41 -07:00
Jared Weakly
2b12784e63 typo: releases -> release 2020-07-24 14:12:41 -07:00
Jared Weakly
5f36effaee Ignore harmless errors if strip fails 2020-07-24 14:12:41 -07:00
Jared Weakly
ad76a58e08 fix cycle in yaml 2020-07-24 14:12:41 -07:00
Jared Weakly
b1b380a087 Try workaround for testing release-drafter in CI 2020-07-24 14:12:41 -07:00
Jared Weakly
97561c4613 Don't build docker image nightly yet 2020-07-24 14:12:41 -07:00
Jared Weakly
4f08953a4e Run release process on branch instead of tag 2020-07-24 14:12:41 -07:00
Jared Weakly
21be891dad Draft release using cabal file's version 2020-07-24 14:12:41 -07:00
Jared Weakly
5ffc213454 Use binary release from github release page on macos. 2020-07-02 14:44:47 -07:00
Jared Weakly
a108859925 Bump CVC4 2020-07-02 14:44:47 -07:00
Jared Weakly
99d563790f Run cabal update unconditionally before configure 2020-07-01 16:43:33 -07:00
Jared Weakly
79c9049730 Remove GHC 8.4 from CI 2020-07-01 16:43:33 -07:00
Jared Weakly
f915b118da disable builds on windows for which there's a memory leak 2020-06-24 13:36:49 -07:00
Jared Weakly
16b2c96231 fix version in release drafter 2020-06-18 13:26:40 -07:00
Jared Weakly
cd4673373e allow failure for docker job in nightly build 2020-06-18 12:26:43 -07:00
Jared Weakly
c22a2e1e9c fix tag in artifact upload 2020-06-18 12:24:14 -07:00
Jared Weakly
5f86556c5c correct artifact upload command. Don't upload unneeded windows artifact 2020-06-18 11:46:01 -07:00
Jared Weakly
f43959a1bd add version to entire bundle job 2020-06-18 10:33:33 -07:00
Jared Weakly
d30f7e15aa Fix missing env variable 2020-06-17 17:20:07 -07:00
Jared Weakly
bdbebdff16 correctly reference branch in conditions 2020-06-17 16:43:29 -07:00
Jared Weakly
30fa67a0cc remvoe unnecessary push 2020-06-17 16:09:00 -07:00
Jared Weakly
0a231880f5 prevent duplicate runs if actions/ has a PR 2020-06-17 15:30:04 -07:00
Jared Weakly
a023b4de5a fix undefined runner variable in build.yml 2020-06-17 13:32:18 -07:00
Jared Weakly
15e26ae9ee move docker workflow into build. Fix release workflow 2020-06-17 13:26:44 -07:00
Jared Weakly
a16d90a7aa add GHC 8.10 2020-06-16 18:33:22 -07:00
Jared Weakly
66dce48c2d Remove unneeded fetch-depth 2020-06-16 17:18:01 -07:00
Jared Weakly
4203898d03 zip -> tar.gz 2020-06-16 16:26:43 -07:00
Jared Weakly
1d1bb926ca retry cabal build on failure 2020-06-16 16:05:30 -07:00
Jared Weakly
88b62013b4 don't overwrite on nightly artifact upload 2020-06-16 08:49:42 -07:00
Jared Weakly
9d6c542579 Use setup-haskell again 2020-06-11 15:58:14 -07:00
Jared Weakly
cb82d30023 Try out janky workaround to see if windows CI actually passes 2020-06-11 15:55:21 -07:00
Jared Weakly
f78e25e066 fix missing dist/bin references 2020-06-09 17:23:30 -07:00
Jared Weakly
84448509d0 pass VERSION env variable correctly 2020-06-09 16:41:20 -07:00
Jared Weakly
740ca899ae use dist/bin in setup_dist_bins 2020-06-09 15:59:55 -07:00
Jared Weakly
eb0c9edf7d bundle up nightlies with docs 2020-06-09 15:22:31 -07:00
Jared Weakly
f056ad941a remove artifact remover 2020-06-09 14:01:31 -07:00
Jared Weakly
d33a036cd0 don't fail fast. Clean up setting outputs 2020-06-09 14:01:31 -07:00
Jared Weakly
237730c0eb Use not-yet-upstreamed setup-haskell fix 2020-06-09 14:01:31 -07:00
Jared Weakly
ac8f4c88de add back in cvc4 support for pipeline 2020-06-09 14:01:31 -07:00
Jared Weakly
656b746cbd move docker step back into separate job 2020-06-09 14:01:31 -07:00
Jared Weakly
79c0c994ee move docker step to before haskell setup 2020-06-09 14:01:31 -07:00
Jared Weakly
5b41430e20 set path before build 2020-06-09 14:01:31 -07:00
Jared Weakly
2d9064e749 add build command into ci.sh 2020-06-09 14:01:31 -07:00
Jared Weakly
62ace42457 Adjust names in nightly artifacts 2020-06-09 14:01:31 -07:00
Jared Weakly
221e411b68 Serialize nightly windows builds 2020-05-27 10:26:44 -07:00
Jared Weakly
1c38465ca8
Implement GitHub actions (#722)
* Builds nightly binary tarballs on Linux, macOS, and Windows
* Runs tests on every PR and merge to master
* Includes GitHub Actions status in README instead of Travis
* Makes the GitRev recompile hack less fragile
* Makes the Makefile Cabal v3 compatible
* Builds the manual as part of the CI process
2020-05-14 10:50:22 -07:00