From d141bf6a1935a3c18d17ca4a61897619c581b067 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 28 Jun 2026 03:52:56 +0000 Subject: [PATCH 1/4] ci: upgrade Z3 from 4.13.0 to 4.16.0 The 4.16.0 release ships different glibc variants (x64: glibc-2.39, arm64: glibc-2.38) so the arch step now selects the correct variant automatically instead of using a single input default. Co-Authored-By: Claude Sonnet 4.6 Claude-Session: https://claude.ai/code/session_01TLvxRwp1ZRCVP3X4JDithT --- .github/actions/setup-z3/action.yml | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/.github/actions/setup-z3/action.yml b/.github/actions/setup-z3/action.yml index 1387ac87..902dc8c4 100644 --- a/.github/actions/setup-z3/action.yml +++ b/.github/actions/setup-z3/action.yml @@ -4,24 +4,25 @@ inputs: z3-version: description: The version of Z3 to install. required: false - default: 4.13.0 - z3-variant: - description: The variant of Z3 to install. - required: false - default: glibc-2.35 + default: 4.16.0 z3-sha256sum: description: Expected sha256sum of downloaded binary archive. required: false default: | - 884e3a411fa11b125522fc35eba3391b772517c047f8064fb4b656d92a73b38c z3-4.13.0-x64-glibc-2.35.zip - bc31ad12446d7db1bd9d0ac82dec9d7b5129b8b8dd6e44b571a83ac6010d2f9b z3-4.13.0-x64-glibc-2.31.zip - 50fae93d74689bc3460bec939273cf602a4c6f60a047f2a9cf48f609dc444d48 z3-4.13.0-arm64-glibc-2.35.zip + 7288c49a5bd6dbafd7b0b0d1f65956b91672da24b08f09242919af159be3418e z3-4.16.0-x64-glibc-2.39.zip + 87fcd963d3eecb0f12cf1c3ef0ad74e84a3a7bd3caed5d94445645ef94ae6274 z3-4.16.0-arm64-glibc-2.38.zip runs: using: composite steps: - id: arch shell: bash - run: echo "z3-arch=$RUNNER_ARCH" | tr '[:upper:]' '[:lower:]' >> $GITHUB_OUTPUT + run: | + ARCH=$(echo "$RUNNER_ARCH" | tr '[:upper:]' '[:lower:]') + echo "z3-arch=$ARCH" >> $GITHUB_OUTPUT + case "$ARCH" in + arm64) echo "z3-variant=glibc-2.38" >> $GITHUB_OUTPUT ;; + *) echo "z3-variant=glibc-2.39" >> $GITHUB_OUTPUT ;; + esac - shell: bash run: | wget -q "$RELEASE_URL/$RELEASE_NAME.zip" @@ -32,5 +33,5 @@ runs: echo ~/.setup-z3/bin >> $GITHUB_PATH env: RELEASE_URL: https://github.com/Z3Prover/z3/releases/download/z3-${{ inputs.z3-version }} - RELEASE_NAME: z3-${{ inputs.z3-version }}-${{ steps.arch.outputs.z3-arch }}-${{ inputs.z3-variant }} + RELEASE_NAME: z3-${{ inputs.z3-version }}-${{ steps.arch.outputs.z3-arch }}-${{ steps.arch.outputs.z3-variant }} INPUT_Z3_SHA256SUM: ${{ inputs.z3-sha256sum }} From 8b77eaf36fc5d2b0387e78eced30d19e47609dee Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 28 Jun 2026 03:55:50 +0000 Subject: [PATCH 2/4] ci: upgrade Z3 to 4.16.0, extend z3-variant to include arch z3-variant now specifies the full platform string (e.g. x64-glibc-2.39) instead of just the libc suffix, eliminating the need for a separate arch-detection step. Updated checksums for the 4.16.0 release. Co-Authored-By: Claude Sonnet 4.6 Claude-Session: https://claude.ai/code/session_01TLvxRwp1ZRCVP3X4JDithT --- .github/actions/setup-z3/action.yml | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/.github/actions/setup-z3/action.yml b/.github/actions/setup-z3/action.yml index 902dc8c4..696d458c 100644 --- a/.github/actions/setup-z3/action.yml +++ b/.github/actions/setup-z3/action.yml @@ -5,6 +5,10 @@ inputs: description: The version of Z3 to install. required: false default: 4.16.0 + z3-variant: + description: The variant of Z3 to install (includes arch, e.g. x64-glibc-2.39, arm64-glibc-2.38). + required: false + default: x64-glibc-2.39 z3-sha256sum: description: Expected sha256sum of downloaded binary archive. required: false @@ -14,15 +18,6 @@ inputs: runs: using: composite steps: - - id: arch - shell: bash - run: | - ARCH=$(echo "$RUNNER_ARCH" | tr '[:upper:]' '[:lower:]') - echo "z3-arch=$ARCH" >> $GITHUB_OUTPUT - case "$ARCH" in - arm64) echo "z3-variant=glibc-2.38" >> $GITHUB_OUTPUT ;; - *) echo "z3-variant=glibc-2.39" >> $GITHUB_OUTPUT ;; - esac - shell: bash run: | wget -q "$RELEASE_URL/$RELEASE_NAME.zip" @@ -33,5 +28,5 @@ runs: echo ~/.setup-z3/bin >> $GITHUB_PATH env: RELEASE_URL: https://github.com/Z3Prover/z3/releases/download/z3-${{ inputs.z3-version }} - RELEASE_NAME: z3-${{ inputs.z3-version }}-${{ steps.arch.outputs.z3-arch }}-${{ steps.arch.outputs.z3-variant }} + RELEASE_NAME: z3-${{ inputs.z3-version }}-${{ inputs.z3-variant }} INPUT_Z3_SHA256SUM: ${{ inputs.z3-sha256sum }} From d5acd65facc32a0394317dd5b4bceb6e1f72206d Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 28 Jun 2026 03:57:49 +0000 Subject: [PATCH 3/4] ci: downgrade Z3 to 4.15.8 to avoid mut_recursive timeout regression z3-4.16.0 introduced a regression where the mut_recursive example times out. Use 4.15.8, the latest release without the regression. Co-Authored-By: Claude Sonnet 4.6 Claude-Session: https://claude.ai/code/session_01TLvxRwp1ZRCVP3X4JDithT --- .github/actions/setup-z3/action.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/actions/setup-z3/action.yml b/.github/actions/setup-z3/action.yml index 696d458c..4cc06f4a 100644 --- a/.github/actions/setup-z3/action.yml +++ b/.github/actions/setup-z3/action.yml @@ -4,7 +4,7 @@ inputs: z3-version: description: The version of Z3 to install. required: false - default: 4.16.0 + default: 4.15.8 z3-variant: description: The variant of Z3 to install (includes arch, e.g. x64-glibc-2.39, arm64-glibc-2.38). required: false @@ -13,8 +13,8 @@ inputs: description: Expected sha256sum of downloaded binary archive. required: false default: | - 7288c49a5bd6dbafd7b0b0d1f65956b91672da24b08f09242919af159be3418e z3-4.16.0-x64-glibc-2.39.zip - 87fcd963d3eecb0f12cf1c3ef0ad74e84a3a7bd3caed5d94445645ef94ae6274 z3-4.16.0-arm64-glibc-2.38.zip + 08a3312ef3a632c6e203c07ebdf19ef42f4975c1bd077e25501d204f674542fd z3-4.15.8-x64-glibc-2.39.zip + 5d2e5e63018827b9611c15e1bfa48ffd9c0eaeeda6bdf184fd0963cbc0471528 z3-4.15.8-arm64-glibc-2.38.zip runs: using: composite steps: From d9f69597a4bd33b57d78550c2c5a04b3acf2cca1 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 28 Jun 2026 04:08:49 +0000 Subject: [PATCH 4/4] ci: pin Z3 to 4.15.4, last version without mut_recursive timeout Bisected: the timeout regression was introduced in 4.15.5. Versions 4.15.5, 4.15.6, 4.15.7, 4.15.8, and 4.16.0 all timeout on the mut_recursive test; 4.15.4 and earlier pass. Co-Authored-By: Claude Sonnet 4.6 Claude-Session: https://claude.ai/code/session_01TLvxRwp1ZRCVP3X4JDithT --- .github/actions/setup-z3/action.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/actions/setup-z3/action.yml b/.github/actions/setup-z3/action.yml index 4cc06f4a..8bd92fd5 100644 --- a/.github/actions/setup-z3/action.yml +++ b/.github/actions/setup-z3/action.yml @@ -4,17 +4,17 @@ inputs: z3-version: description: The version of Z3 to install. required: false - default: 4.15.8 + default: 4.15.4 z3-variant: - description: The variant of Z3 to install (includes arch, e.g. x64-glibc-2.39, arm64-glibc-2.38). + description: The variant of Z3 to install (includes arch, e.g. x64-glibc-2.39, arm64-glibc-2.34). required: false default: x64-glibc-2.39 z3-sha256sum: description: Expected sha256sum of downloaded binary archive. required: false default: | - 08a3312ef3a632c6e203c07ebdf19ef42f4975c1bd077e25501d204f674542fd z3-4.15.8-x64-glibc-2.39.zip - 5d2e5e63018827b9611c15e1bfa48ffd9c0eaeeda6bdf184fd0963cbc0471528 z3-4.15.8-arm64-glibc-2.38.zip + a41b690e89c343931471506cdc6d957b6044a200fd2d240cc017432afdff7d3e z3-4.15.4-x64-glibc-2.39.zip + 9e832578e28d9ed51a79b97948728a874854a3c38ee49e7aae05e7d6e0e93508 z3-4.15.4-arm64-glibc-2.34.zip runs: using: composite steps: