Commit Graph

27 Commits

Author SHA1 Message Date
Ryan Scott
693f82f1b1 CI: Bump what4-solvers snapshot to 20230711
This includes the following changes:

* The bindist URLs now include the OS architecture, I have tweaked the parts of
  CI that downloads bindists accordingly.
* This snapshot includes `cvc5-1.0.5`, which has fixed a bug that was
  responsible for #1548. As such, this fixes #1548.
2023-07-11 12:53:15 -04:00
Ryan Scott
618562b20b CI: Bump what4-solvers snapshot version
The previous version (`snapshot-20220812`) was using CVC5 1.0.1, which is too
old to work properly with `what4`. I have bumped the version to
`snapshot-20221212`, which includes CVC5 1.0.2.
2023-03-06 10:45:24 -05:00
Ryan Scott
c810821d10 Add CVC5 support
This patch:

* Makes the necessary changes on the `cryptol` and `cryptol-remote-api` side
  needed add `cvc5`, `w4-cvc5`, and `sbv-cvc5` solvers. This requires SBV 9.1
  or later to include the changes from LeventErkok/sbv#630, which re-exports
  CVC5-related functionality from all of the places that Cryptol imports from.
* Adds a test case to ensure that basic CVC5 support works.
* Updates the CI and Dockerfile to ensure that CVC5 is included from the
  `what4-solvers` bindists.

Fixes #1503.
2023-03-06 10:45:19 -05:00
Ryan Scott
46d2e05847
CI: Drop GHC 8.8 (#1414)
This is motivated by a couple of reasons:

* GHC 8.8 on Windows suffers from a bug that can cause building certain code
  to loop forever or even segfault. As far as I can tell, this bug doesn't
  affect GHC 8.10 or later, so dropping 8.8 is a fairly reliable way to avoid
  this problem.
* GHC 8.8 is outside of the three most recent stable GHC releases, so it
  doesn't make as much sense to keep maintaining support for it.
2022-08-25 14:27:03 -04:00
Ryan Scott
287a7f0f71 CI: Use Ubuntu 22.04, drop 18.04
GitHub Actions has deprecated its Ubuntu 18.04 runners, and they will be
removed by December 1, 2022. Moreover, GitHub Actions now offers Ubuntu 22.04
runners.  It seems like a good time to upgrade our CI accordingly.

Somewhat annoyingly, the `haskell` Docker images that we use in our Dockerfiles
use such an old version of Debian that their version of `glibc` is incompatible
with any of the `what4-solvers` built for Ubuntu 20.04 or 22.04. As a result, I
switched them from the `haskell` Docker image to the `ubuntu` one. This
required some minor tweaks to how dependencies are installed, but nothing too
serious.
2022-08-15 08:16:19 -04:00
Ryan Scott
2a4912e5aa CI: Use same what4-solvers snapshot everywhere 2022-04-26 15:19:11 -04:00
Aaron Tomb
c8c122fac6 Migrate Docker images to use what4-solvers builds 2021-09-28 16:23:16 -07:00
Aaron Tomb
c1a2bfb5c1
Attempt to fix CVC4 and Docker upload issues (#1230)
We will need a better solution to getting CVC4 eventually, but unbreaking the builds, even temporarily, is high priority. And the right solution for CVC4, with the recent transition to CVC5, is somewhat tricky.
2021-07-08 13:10:31 -07:00
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
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
Aaron Tomb
23b849d874 Fix CVC4 download URL in Dockerfile 2020-12-11 11:32:40 -08:00
Aaron Tomb
58208d665b Bump CVC4 nightly version in Dockerfile 2020-10-26 08:44:30 -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
809fd34d52 Temporarily disable ABC test during Docker build
This allows builds and artifact creation to succeed while we figure out
issue #915.
2020-09-30 13:45:09 -07:00
Aaron Tomb
26fc6b462c Update URL for CVC4 binary used by Docker build 2020-09-30 11:19:52 -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
Aaron Tomb
2f4684c8af
Build system and documentation cleanup (#816)
* Remove `Makefile`
* Remove Travis and AppVeyor configurations
* Improve portability of the `cry` script
* Fix Docker builds
* Update documentation to remove references to `make`
* Update copyright dates
* Fix omitted section of CONTRIBUTING.md
* Update Z3 installation instructions

Fixes #570, #603, #790, #807.
2020-07-14 10:58:38 -07:00
Jared Ziegler
1dd4bbd22c
Add additional SMT solvers to Docker image. (#811)
* Add additional SMT solvers to Docker image.

This change downloads specific stable release versions of each supported SMT solver to the Dockerfile. In cases where a build was available(yices, cvc4, Mathsat), it is downloaded directly. In other cases, it is build from a specific source snapshot (boolector, abc). These versions could be changes if desired.

This allows easy access to Cryptol and all solvers in a single Docker container, which is useful since some common problems are not amenable to solution with Z3 alone.

As with the original Cryptol Dockerfile, this implementation uses Docker's staged build functionality both to keep the final size as small as possible and to modularize the build. If desired, this segment could be copied verbatim to the SAW Dockerfile to add additional solvers there as well.

Note that this Dockerfile doesn't currently build. However, the new segment has been tested and does work. It may be desirable to update the rest of the Dockerfile before adding this change.
2020-07-13 16:47:25 -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
Aaron Tomb
7d62081632 Bump dependency versions in prep for 2.8.0 release
This includes the version of Z3 used in the Docker image
2019-08-28 13:24:58 -07:00
Aaron Tomb
58a57d2927 Working Debian-based Docker build script 2019-04-17 12:27:50 -07:00
Aaron Tomb
f1f7ca311c Update Docker build to use Debian as a base
This makes it easier to do Haskell builds and incorporate external
tools, even though it results in a slightly bigger image.
2019-04-16 15:16:24 -07:00
lemmarathon
7c282538ea Add Dockerfile. 2018-07-02 12:29:45 -04:00