diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 20af5512f..3881f4971 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,13 @@ on: workflow_dispatch: env: - SOLVER_PKG_VERSION: "snapshot-20221212" + # The solver package snapshot date. If you update this, make sure to also + # update it in the following locations: + # + # - Dockerfile + # - cryptol-remote-api/Dockerfile + # - README.md + SOLVER_PKG_VERSION: "snapshot-20230711" # The CACHE_VERSION can be updated to force the use of a new cache if # the current cache contents become corrupted/invalid. This can # sometimes happen when (for example) the OS version is changed but @@ -121,7 +127,13 @@ jobs: - shell: bash run: .github/ci.sh install_system_deps env: - BIN_ZIP_FILE: ${{ matrix.os }}-bin.zip + # The full zip file name for a what4-solvers bindist. If you update + # this, make sure to also update it in the following locations: + # + # - The other BIN_ZIP_FILE in the `test` job + # - Dockerfile + # - cryptol-remote-api/Dockerfile + BIN_ZIP_FILE: ${{ matrix.os }}-${{ runner.arch }}-bin.zip - shell: bash env: @@ -293,7 +305,13 @@ jobs: - shell: bash env: - BIN_ZIP_FILE: ${{ matrix.os }}-bin.zip + # The full zip file name for a what4-solvers bindist. If you update + # this, make sure to also update it in the following locations: + # + # - The other BIN_ZIP_FILE in the `build` job + # - Dockerfile + # - cryptol-remote-api/Dockerfile + BIN_ZIP_FILE: ${{ matrix.os }}-${{ runner.arch }}-bin.zip run: | set -x chmod +x dist/bin/cryptol diff --git a/Dockerfile b/Dockerfile index 21492e0d2..2f547d25e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,7 +14,9 @@ USER cryptol WORKDIR /cryptol RUN mkdir -p rootfs/usr/local/bin WORKDIR /cryptol/rootfs/usr/local/bin -RUN curl -o solvers.zip -sL "https://github.com/GaloisInc/what4-solvers/releases/download/snapshot-20221212/ubuntu-22.04-bin.zip" +# The URL here is based on the same logic used to specify BIN_ZIP_FILE in +# `.github/workflow/ci.yml`, but specialized to x86-64 Ubuntu. +RUN curl -o solvers.zip -sL "https://github.com/GaloisInc/what4-solvers/releases/download/snapshot-20230711/ubuntu-22.04-X64-bin.zip" RUN unzip solvers.zip && rm solvers.zip && chmod +x * WORKDIR /cryptol ENV PATH=/cryptol/rootfs/usr/local/bin:/home/cryptol/.local/bin:/home/cryptol/.ghcup/bin:$PATH diff --git a/README.md b/README.md index 20ddd5709..ecaf569c9 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ Cryptol currently uses Microsoft Research's [Z3 SMT solver](https://github.com/Z3Prover/z3) by default to solve constraints during type checking, and as the default solver for the `:sat` and `:prove` commands. Cryptol generally requires the most recent version -of Z3, but you can see the specific version tested in CI by looking [here](https://github.com/GaloisInc/what4-solvers/releases/tag/snapshot-20221212). +of Z3, but you can see the specific version tested in CI by looking [here](https://github.com/GaloisInc/what4-solvers/releases/tag/snapshot-20230711). You can download Z3 binaries for a variety of platforms from their [releases page](https://github.com/Z3Prover/z3/releases). If you diff --git a/cryptol-remote-api/Dockerfile b/cryptol-remote-api/Dockerfile index 08dc2159f..d3d72530c 100644 --- a/cryptol-remote-api/Dockerfile +++ b/cryptol-remote-api/Dockerfile @@ -64,7 +64,9 @@ ENV PATH=/usr/local/bin:/cryptol/rootfs/usr/local/bin:$PATH RUN mkdir -p rootfs/"${CRYPTOLPATH}" \ && cp -r lib/* rootfs/"${CRYPTOLPATH}" WORKDIR /cryptol/rootfs/usr/local/bin -RUN curl -sL -o solvers.zip "https://github.com/GaloisInc/what4-solvers/releases/download/snapshot-20221212/ubuntu-22.04-bin.zip" && \ +# The URL here is based on the same logic used to specify BIN_ZIP_FILE in +# `.github/workflow/ci.yml`, but specialized to x86-64 Ubuntu. +RUN curl -sL -o solvers.zip "https://github.com/GaloisInc/what4-solvers/releases/download/snapshot-20230711/ubuntu-22.04-X64-bin.zip" && \ unzip solvers.zip && rm solvers.zip && chmod +x * USER root RUN chown -R root:root /cryptol/rootfs