3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-09-06 12:44:24 +00:00
Commit graph

725 commits

Author SHA1 Message Date
Alex Reinking
c2c198d553
[CMake] Rework the CMake component graph (#10741) TY
This PR substantially modernizes Z3's CMake build, replacing a
significant amount of hand-rolled dependency bookkeeping with CMake's
native target-graph features.

The main benefits are:

* **Less custom build logic.** The existing component system in
`cmake/z3_add_component.cmake` manually walks and records the
component-dependency graph. This PR moves that information onto CMake
targets themselves, eliminating much of the `Z3_COMPONENT_*` /
`Z3_DEPENDENT_*` variable machinery.
* **A more accurate target graph.** Component dependencies, generated
registration headers, and static-component linking are now modeled
directly in CMake rather than reconstructed separately.
* **More natural source-tree organization.** `add_subdirectory()` calls
no longer need to be kept in a global topological order or reach deeply
into the source tree. Forward component dependencies are allowed, so
each directory can add its own children in a natural, alphabetical
order.
* **Better dependency propagation.** External dependencies such as GMP,
Threads, and `atomic` are available to the components that actually need
them. In particular, non-system GMP installations now work correctly
because component targets can see GMP's include path.
* **Cleaner package consumption.** Build-only compiler/linker policy is
separated from the dependencies exported to static-package consumers,
and Z3 behaves more cleanly when included via `add_subdirectory()` or
`FetchContent`.
* **Less code with the same observable package behavior.** The PR
changes 34 files with +566/-902 lines, for a net reduction of roughly
336 lines, while preserving the existing targets, public headers,
install layout, and registration behavior.

The main enabler is raising the minimum CMake version from 3.16 to
**3.30**.

CMake 3.30 introduced **custom transitive properties**, which let
targets propagate the registered module headers, tactic headers, and
memory headers needed for generated registration code. This replaces the
custom graph-walking logic previously used to accumulate those headers.

As a result, the three functions `z3_add_install_tactic_rule`,
`z3_add_memory_initializer_rule`, and
`z3_add_gparams_register_modules_rule` are replaced by a single,
substantially simpler function, `z3_generate_registration`, which
generates the required headers from properties propagated through the
target graph.

Newer CMake also lets us model chains of `OBJECT` libraries correctly.
Historically, only `OBJECT` libraries named directly in
`target_link_libraries()` contributed their object files to the final
link, which made transitive static-component dependencies awkward to
represent. Using `INTERFACE_LINK_LIBRARIES_DIRECT`, those chains can now
be expressed directly in the target graph.

Every Z3 component also links to a new `INTERFACE` target, `z3_common`.
This target owns the external library dependencies that consumers of a
component may need, including GMP, Threads, `atomic`, and similar
dependencies. Previously, these dependencies were attached only to the
final `libz3` target; among other things, that meant individual
components could not see the include path for a non-system GMP
installation.

`z3_common` is exported for static-package consumers, but Z3's own build
policy is not. Internal compiler and linker flags now live on a separate
`z3_internal_options` target used throughout the build. A possible
follow-up is to replace `z3_internal_options` with toolchain files
and/or CMake presets, but that would be a more disruptive change and is
intentionally left out of this PR.

Once CMake itself has an accurate model of the component graph, several
pieces of surrounding machinery become unnecessary. We no longer need a
topologically sorted list of `add_subdirectory()` calls or the previous
requirement that child components be declared before their dependents.
Each directory now adds its own subdirectories, in alphabetical order.
Public headers are likewise installed through CMake file sets instead of
hand-written `install(FILES ...)` rules.

The CMake version bump also enables a few smaller cleanups:

* use `GENERATOR_IS_MULTI_CONFIG` instead of inferring that from whether
`CMAKE_CONFIGURATION_TYPES` is defined;
* use `PROJECT_IS_TOP_LEVEL` guards so Z3 behaves correctly when
consumed as a subdirectory or through `FetchContent`;
* use `block()` instead of manually saving and restoring state around
the Python `find_package()` call.

One unrelated fix is included alongside these changes: the .NET example
now stages its `csproj` and `Program.cs` into the build tree with
`add_custom_command()` rather than `configure_file(..., COPYONLY)`, so
the `dotnet` build target correctly notices source changes.

Overall, the PR moves responsibility for dependency propagation and
graph structure out of Z3's custom CMake code and back into CMake
itself. The result is a smaller build system with fewer ordering
constraints and less duplicated state, while keeping the package's
externally visible behavior unchanged.
2026-09-06 02:37:34 -07:00
Alex Reinking
00ebb15ac5
[CMake] Miscellaneous cleanup (#10740)
These are the last of the changes I have that are compatible with 3.16.
There are a few things here:

1. A small correction to the resolution chain from #10717 plus a test.
The package is now more permissive when only `BUILD_SHARED_LIBS` is set.
2. Use the `SHELL:` argument form to `target_link_options` in emscripten
to avoid dropping `-s` flags.
3. Use CMake's native IPO support rather than hand-rolled detection.

After this, I will open a large PR that bumps the minimum version to
3.30 and reworks the `z3_add_component` function. It will remove 300+
lines of CMake code.
2026-09-05 16:36:45 -07:00
Alex Reinking
6b3eb242b8
[CMake] Make pkg-config metadata relocatable (#10734)
The old pkg-config files didn't support relocation, which makes
packaging difficult. They also didn't support static linking. This PR
fixes both issues by referencing by computing a prefix relative to
`${pcfiledir}` and adding `.private` metadata to `z3.pc`.
2026-09-04 16:48:24 -07:00
Alex Reinking
69a4be91b2
[CMake] Use z3::libz3 as the preferred way to consume Z3 (#10733)
In #10717 we enhanced the CMake package to support multiple build
configurations, so that Z3 could be installed and consumed as either a
static or shared package, or both side by side. This PR dog-foods that
work: the Python bindings and the example projects now consume Z3
through the same installed CMake package that external users rely on,
rather than through separate in-tree plumbing.

To make that possible, we introduce a `z3::libz3` ALIAS that mirrors the
installed target in-tree. In-tree consumers (like the examples and the
Python bindings) and out-of-tree consumers of the installed package now
refer to Z3 the same way, so now there's one blessed interface. The
examples and package-consumer test were updated accordingly, both to
exercise this path and to serve as a model for how downstream projects
should consume Z3 going forward.

Finally, we add test coverage for the reworked Python build, including a
CI job that installs a shared build of libz3 and then builds the Python
bindings against that installed package, confirming the Python-only
build path works end to end.
2026-09-04 13:33:23 -07:00
Alex Reinking
820e361963
[CMake] Add CI coverage for co-installed static and shared packages (#10728)
A common pitfall with CMake is that declaring `cmake_minimum_required`
does not guarantee compatibility with the stated version. The reason is
that it's a _backwards-compatibility_ setting, not a
_forwards-compatibility_ one. For instance, you can set
`cmake_minimum_required(VERSION 3.16)` and then use a generator
expression introduced in a newer version, and it will silently break
compatibility with 3.16. Newer versions can run builds authored with
older versions, but not vice versa. Therefore, one must test the build
with the stated version in CI to ensure compatibility.

This PR adds a workflow to test package building at the promised minimum
(currently 3.16) and consuming at the consumer minimum (via
`find_package`, currently 3.5). It also tests the shared and static
package variants to ensure the loading logic is correct.

I had wanted to add this to #10717 but it was merged too quickly 🙂
2026-09-03 22:30:36 -07:00
Nikolaj Bjorner
0d4a2dbb18 recompile
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-09-03 13:33:28 -07:00
Copilot
5dc2433cf7
Fix broken github/gh-aw-actions/setup@v0.83.4 pin breaking the "activation" job (#10729)
The "activation" job (and any other job depending on it) failed across
multiple gh-aw generated workflows with:

```
Unable to resolve action `github/gh-aw-actions@v0.83.4`, unable to find version `v0.83.4`
```

## Root cause
- Compiled `.lock.yml` workflows pin `github/gh-aw-actions/setup` to the
same version as the `gh-aw` CLI that generated them (`v0.83.4`).
- The `gh-aw` CLI release `v0.83.4` exists, but the companion
`github/gh-aw-actions` repo never published a matching `v0.83.4` tag (or
`v0.83.3`) — its `0.83.x` series stops at `v0.83.2`. Confirmed via
GitHub API (404 on the tag ref).
- This release-train mismatch broke action resolution at job start for
every workflow compiled at that CLI version.

## Fix
- Repointed the `github/gh-aw-actions/setup` reference from the
non-existent `v0.83.4` to the latest tag that actually exists,
`v0.83.2`, across all 13 affected generated lock files (manifest
comment, header comment, and every `uses:` step):
- `a3-python.lock.yml`, `academic-citation-tracker.lock.yml`,
`api-coherence-checker.lock.yml`, `code-conventions-analyzer.lock.yml`,
`code-simplifier.lock.yml`, `compare-stats-anomaly-reporter.lock.yml`,
`csa-analysis.lock.yml`, `issue-backlog-processor.lock.yml`,
`memory-safety-report.lock.yml`, `release-notes-updater.lock.yml`,
`smtlib-benchmark-finder.lock.yml`, `tactic-to-simplifier.lock.yml`,
`workflow-suggestion-agent.lock.yml`
- Scoped the change to the broken action reference only, avoiding a full
recompile with a newer `gh-aw` CLI, which would have pulled in unrelated
formatting/schema churn.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-09-03 10:32:01 -07:00
Nikolaj Bjorner
a729c62acd updated workflows
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-09-03 09:15:04 -07:00
Copilot
f4178cd51e
Ensure memory-safety report workflow can read sanitizer artifacts on workflow_run (#10641)
The memory-safety report generator was unable to parse ASan/UBSan
findings in some runs because artifact download via MCP was
policy-filtered in the report environment. This change makes artifact
access deterministic for `workflow_run` by downloading artifacts
directly in the workflow and keeping MCP download only as fallback.

- **Workflow artifact access path (lock workflow)**
- Added a `Download triggering workflow artifacts` step to
`memory-safety-report.lock.yml` in the agent job.
- For `workflow_run`, it pulls artifacts from the triggering run into
`/tmp/reports` using `actions/download-artifact` with explicit token
usage.
- Keeps `continue-on-error: true` so the report flow can still proceed
to fallback paths.

- **Report prompt behavior (authoring workflow)**
  - Updated `memory-safety-report.md` instructions to:
    - Parse `/tmp/reports` first when pre-downloaded artifacts exist.
- Use MCP `download_workflow_run_artifact` only when `/tmp/reports` is
absent (e.g., manual dispatch).

- **Resulting execution model**
  - `workflow_run`: local artifact parse path is primary.
- `workflow_dispatch` / missing local artifacts: MCP URL path remains
available.

```yaml
- name: Download triggering workflow artifacts
  if: github.event_name == 'workflow_run' && github.event.workflow_run.id != ''
  continue-on-error: true
  uses: actions/download-artifact@v8
  with:
    github-token: ${{ github.token }}
    repository: ${{ github.repository }}
    run-id: ${{ github.event.workflow_run.id }}
    path: /tmp/reports
```

<!-- START COPILOT CODING AGENT SUFFIX -->

- Fixes #10640

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-08-23 19:38:28 -07:00
Nikolaj Bjorner
628af1571a update working version, unreleased
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-08-20 11:34:42 -07:00
Nikolaj Bjorner
9d781559ea
Remove obsolete FStar build options (#10574)
## Summary
- remove the deleted F* `--split_queries on_failure` option
- remove the obsolete `higher_order_smt` extension knob
- retain supported `--log_failing_queries` and `--proof_recovery`
diagnostics

## Root cause
F* commit `5a88fc509` removed `--split_queries` because proof goals are
now split unconditionally. Dependency generation rejected the option, so
`.dependfstarc` was never created; the subsequent missing-file Make
errors were cascading symptoms.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-18 13:47:39 -07:00
Nikolaj Bjorner
93c609d675
Install CMake-built OCaml bindings (#10549)
## Summary
- add `install()` rules for the CMake-built OCaml bindings so `cmake
--install` stages the OCaml package instead of only building it in
`build/src/api/ml`
- install the OCaml package metadata/modules into `lib/ocaml/z3`,
install `dllz3ml.so` into `lib/ocaml/stublibs`, and install the native
`z3ml.a` archive alongside `libz3ml.a`
- on macOS, update the installed stub library so it keeps its
`@rpath/libz3.<major>.<minor>.dylib` dependency and gains an
`@loader_path/../../` rpath that resolves the installed `libz3` from the
stublibs directory
- extend `.github/workflows/ocaml.yaml` to run `cmake --install`, verify
the staged artifacts, and compile/run the OCaml example against the
installed tree on Ubuntu and macOS

## Root cause
`src/api/ml/CMakeLists.txt` built the OCaml artifacts (`z3ml.cma`,
`z3ml.cmxa`, `z3ml.cmxs`, `dllz3ml.so`, `META`, module interfaces, etc.)
but never installed them. The file also had an abandoned commented-out
macOS fix for the OCaml stub library, so the install path was never
validated in CI.

## Validation
- `ninja -C build test-z3` on Windows with the existing `C:\z3\build`
configuration (`Z3_BUILD_OCAML_BINDINGS=OFF`)
- GitHub Actions `OCaml Binding CI (Ubuntu + macOS)` run:
https://github.com/Z3Prover/z3/actions/runs/31975209612

Fixes #7684.

Thanks to @arbipher for the earlier investigation captured in the issue
thread, which helped clarify the packaging/runtime expectations.

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-16 20:16:54 -07:00
Nikolaj Bjorner
fd73b388eb
Enable manual triggering for OCaml workflow
Add workflow_dispatch event to OCaml workflow
2026-08-16 19:55:07 -07:00
Nikolaj Bjorner
bc4585e0ba Remove wip.yml and build-warning-fixer agentic workflow; update README
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-16 11:56:35 -07:00
Nikolaj Bjorner
74fb6c4e57 incrementing version to 5.1
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-08-15 19:41:07 -07:00
dependabot[bot]
6c33dfe301
Bump pypa/cibuildwheel from 4.1.1 to 4.2.0 (#10504)
Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from
4.1.1 to 4.2.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/cibuildwheel/releases">pypa/cibuildwheel's
releases</a>.</em></p>
<blockquote>
<h2>v4.2.0</h2>
<ul>
<li>🌟 CPython 3.15 wheels are now built by default - without the
<code>&quot;cpython-prerelease&quot;</code> <a
href="https://cibuildwheel.pypa.io/en/stable/options/#enable"><code>enable</code></a>
set. It's time to build and upload these wheels to PyPI! This release
includes CPython 3.15.0rc1, which is guaranteed to be ABI compatible
with the final release. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2944">#2944</a>)</li>
<li> Adds Pyodide 3.15 support with the
<code>cp315-pyodide_wasm32</code> build identifier, using Pyodide
315.0.0a2. These are also stable wrt. the final release. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2958">#2958</a>)</li>
<li>🐛 Retries a failed download six times with exponential backoff, so
short network outages no longer stop a build. A <code>4xx</code>
response is still reported at once. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2953">#2953</a>)</li>
<li>🐛 Accepts <code>default</code> as a <a
href="https://cibuildwheel.pypa.io/en/stable/options/#build-frontend"><code>build-frontend</code></a>
value on Pyodide, and accepts <code>pyodide-build</code> in the
top-level table and in overrides (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2951">#2951</a>)</li>
<li>🛠 Holds pip back on GraalPy, where newer pip breaks the build (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2955">#2955</a>)</li>
<li>🛠 Updates Pyodide to 314.0.4 (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2949">#2949</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2952">#2952</a>)</li>
<li>🛠 Updates dependencies and container pins (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2952">#2952</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2960">#2960</a>)</li>
<li>💼 Updates CI action pins (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2948">#2948</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2954">#2954</a>)</li>
<li>🧪 Uses pp311 for the abi3 test, and deletes
<code>test_overridden_pip_constraint</code>, which is not necessary
since <a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2583">#2583</a>
(<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2956">#2956</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2957">#2957</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md">pypa/cibuildwheel's
changelog</a>.</em></p>
<blockquote>
<h3>v4.2.0</h3>
<p><em>4 August 2026</em></p>
<ul>
<li>🌟 CPython 3.15 wheels are now built by default - without the
<code>&quot;cpython-prerelease&quot;</code> <a
href="https://cibuildwheel.pypa.io/en/stable/options/#enable"><code>enable</code></a>
set. It's time to build and upload these wheels to PyPI! This release
includes CPython 3.15.0rc1, which is guaranteed to be ABI compatible
with the final release. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2944">#2944</a>)</li>
<li> Adds Pyodide 3.15 support with the
<code>cp315-pyodide_wasm32</code> build identifier, using Pyodide
315.0.0a2. These are also stable wrt. the final release. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2958">#2958</a>)</li>
<li>🐛 Retries a failed download six times with exponential backoff, so
short network outages no longer stop a build. A <code>4xx</code>
response is still reported at once. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2953">#2953</a>)</li>
<li>🐛 Accepts <code>default</code> as a <a
href="https://cibuildwheel.pypa.io/en/stable/options/#build-frontend"><code>build-frontend</code></a>
value on Pyodide, and accepts <code>pyodide-build</code> in the
top-level table and in overrides (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2951">#2951</a>)</li>
<li>🛠 Holds pip back on GraalPy, where newer pip breaks the build (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2955">#2955</a>)</li>
<li>🛠 Updates Pyodide to 314.0.4 (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2949">#2949</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2952">#2952</a>)</li>
<li>🛠 Updates dependencies and container pins (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2952">#2952</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2960">#2960</a>)</li>
<li>💼 Updates CI action pins (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2948">#2948</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2954">#2954</a>)</li>
<li>🧪 Uses pp311 for the abi3 test, and deletes
<code>test_overridden_pip_constraint</code>, which is not necessary
since <a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2583">#2583</a>
(<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2956">#2956</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2957">#2957</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1828c10ab3"><code>1828c10</code></a>
Bump version: v4.2.0</li>
<li><a
href="1ed6c225c9"><code>1ed6c22</code></a>
[Bot] Update dependencies (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2960">#2960</a>)</li>
<li><a
href="92e2145d80"><code>92e2145</code></a>
feat: Python 3.15 build by default (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2944">#2944</a>)</li>
<li><a
href="3568a1cb9e"><code>3568a1c</code></a>
[Bot] Update dependencies (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2952">#2952</a>)</li>
<li><a
href="03cefa35ab"><code>03cefa3</code></a>
feat: add pyodide_315 support (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2958">#2958</a>)</li>
<li><a
href="73417aefe5"><code>73417ae</code></a>
fix(tests): delete test_overridden_pip_constraint (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2957">#2957</a>)</li>
<li><a
href="3c603e4a4a"><code>3c603e4</code></a>
fix: pin pip on GraalPy (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2955">#2955</a>)</li>
<li><a
href="f0b2156470"><code>f0b2156</code></a>
chore: use pp311 for test_abi3 (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2956">#2956</a>)</li>
<li><a
href="ffd2e18240"><code>ffd2e18</code></a>
fix(schema): default is fine for pyodide too (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2951">#2951</a>)</li>
<li><a
href="dca67ee350"><code>dca67ee</code></a>
chore(deps): bump the actions group with 5 updates (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2954">#2954</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/cibuildwheel/compare/v4.1.1...v4.2.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pypa/cibuildwheel&package-manager=github_actions&previous-version=4.1.1&new-version=4.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-13 15:25:01 -07:00
Nikolaj Bjorner
009f3c1ae6 remove stale workflows
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-08-07 21:49:37 -07:00
Clemens Eisenhofer
991d4be5f1
Extend Ostrich benchmark workflow to include cvc5 and Ostrich2 (#10429)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-08-06 19:51:47 -07:00
Copilot
10852ed579
Enable cross-workflow artifact access for Clang-Tidy Warning Fixer (#10414)
The Clang-Tidy Warning Fixer could not retrieve reports from the warning
workflow because MCP secrecy policy blocks cross-run artifacts and logs.

- **Authentication**
  - Configure GitHub tooling with `mode: gh-proxy`.
  - Retain scoped `actions: read` access.

- **Artifact retrieval**
  - Resolve the triggering or latest completed report run.
  - Download its report through the authenticated CLI proxy:

```bash
gh run download "$RUN_ID" \
  --name "clang-tidy-warning-report-$RUN_ID" \
  --dir /tmp/gh-aw/clang-tidy-warning-report
```

- **Generated workflow**
  - Regenerate the lock file with the proxy runtime configuration.

<!-- START COPILOT CODING AGENT SUFFIX -->

- Fixes #10394

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: levnach <5377127+levnach@users.noreply.github.com>
2026-08-05 17:07:46 -07:00
Lev Nachmanson
249778137d
CI: collect F* test suite failure artifacts (#10390)
Fixes #10375.

## Analysis of [run
30786942559](https://github.com/Z3Prover/z3/actions/runs/30786942559)

The job is green, but `make test` exited 2. Every failing test is an
**expected-output mismatch**, and all 70 of them differ only by the
`--proof_recovery` banner:

```
   - The SMT solver could not prove the query.
+  - This query was retried due to the --proof_recovery option, yet it still
+    failed on all attempts.
```

That text comes from `--proof_recovery` in the workflow's own
`fstar_otherflags` default, which F*'s `.expected` files do not carry —
so these are configuration mismatches, not Z3 regressions. There are
also failures that never reach the solver (`hello.__all`, `dune`,
extraction diffs on `RemoveUnusedTypars_B.fs` / `Bug3865.out`).

None of that was reconstructible from the artifact: the run uploaded 526
`.smt2` files, almost all logged failing queries from negative tests
that are *supposed* to fail, and nothing else. No logs, no produced
output, no `.expected` oracle, no diff.

## Changes

* **`Resolve FStar options`** — computes `OTHERFLAGS` once (removing the
duplicated `--z3version` extraction) and enforces
`--log_failing_queries`. Scheduled runs get no `workflow_dispatch`
inputs, so the options that make F* emit `.smt2` files are hard-wired
instead of assumed to come from the inputs. The effective flags are
recorded in the artifact, the job summary and the discussion.
* **`Build FStar`** now tees to a log, as the test step already did.
* **`Collect FStar failure artifacts`** replaces `Collect generated SMT2
files` and produces:
* `logs/` — build log, test log, versions, commit, effective flags, and
a `failing-tests.txt` summary of mismatched outputs plus failed make
targets;
  * `smt2/` — the logged failing queries, as before;
* `test-output/` — for every expected-output test whose result differs
from its oracle: `<name>.actual`, `<name>.expected` and a unified
`<name>.diff`.
* **Upload always runs.** Previously, if no `.smt2` file existed the
collect step short-circuited and the upload was skipped, so the hardest
failures produced no artifact at all.
* The failure summary is surfaced in the **job summary** and in the
**discussion**, so a mismatch is visible without downloading anything.

Applied to the run above, `test-output/` would hold the
actual/expected/diff triple for each of the 70 mismatches and
`failing-tests.txt` would list them alongside `hello.__all` and the
other non-SMT failures.

## Validation

The workflow parses as YAML; every `run:` block passes `bash -n` and the
`github-script` body passes `node --check`. The new steps were executed
locally against a fixture reproducing the run's failure shapes:

* mismatched `.output` / `.json_output` / `.ideout` / `.fs` / `.out`
files are collected with correct diffs; the generated diff for
`Basic.fst.output` reproduces the annotation in the run exactly;
* matching outputs, `_output` files with no `.expected`, and files over
4 MB are correctly skipped;
* failed make targets are parsed from both logs;
* with no F* tree at all (build failed before clone) the collector still
exits 0 and the artifact still contains the logs;
* option resolution was checked with the default flags, with
`--log_failing_queries` absent, with empty flags, and with an
unparseable `z3 --version`;
* the rendered discussion body is 53 040 characters in the worst case,
below GitHub's 65 536 limit.

Behaviour deliberately unchanged: the build and test steps keep
`continue-on-error`, so a broken F* master still does not block the
report.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-05 09:03:37 -07:00
Copilot
b8c098f001
Fix nightly release deployment tag permissions (#10383)
The nightly release failed because the default `GITHUB_TOKEN` is a
GitHub Actions App installation token without permission to create a tag
that includes workflow changes.

- Mint a short-lived installation token for `z3prover-ci-bot`.
- Request only `contents: write` and `workflows: write`.
- Use the App token for checkout credentials, tag deletion/push, and
release deletion/creation.
- Do not use `GH_AW_GITHUB_TOKEN`, a PAT, or another classic token.

Repository setup:
- `Z3_CI_APP_CLIENT_ID` is configured on `Z3Prover/z3`.
- Add `Z3_CI_APP_PRIVATE_KEY` as an Actions repository secret.
- Grant `z3prover-ci-bot` **Workflows: Read and write**, then approve
the updated installation permissions for the Z3Prover organization.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
Co-authored-by: Lev Nachmanson <levnach@hotmail.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-08-04 12:32:12 -07:00
Nikolaj Bjorner
1ba56667b5
Fix cmake build command for parallel execution 2026-08-03 20:36:53 -07:00
Nikolaj Bjorner
a11b4aacff
Increase timeout for clang-tidy workflow to 160 minutes 2026-08-03 18:47:31 -07:00
Copilot
068edf6a46
Switch clang-tidy warning fixer from artifact downloads to job logs (#10354)
The clang-tidy warning fixer depended on
`download_workflow_run_artifact` to fetch the warning report from the
producer workflow. That path is blocked here, so the fixer could
discover the run but not access the warning contents it needs to
analyze.

- **Fixer input path**
- Update
`/home/runner/work/z3/z3/.github/workflows/build-warning-fixer.md` to
consume the triggering run via `list_workflow_jobs` + `get_job_logs`
  - Remove the artifact-download flow from the workflow instructions
- Parse warning and status data from the build job log, with a grep
fallback if the structured summary is missing

- **Producer log contract**
- Update
`/home/runner/work/z3/z3/.github/workflows/clang-tidy-warning-report.yml`
to emit a stable, marker-delimited summary block at the end of the build
job log
- Include both build status and the extracted warning subset in that
block
- Leave artifact upload in place as optional output rather than a
required dependency

- **Workflow behavior**
- Make the fixer operate entirely from Actions logs, avoiding cross-run
artifact retrieval as part of its primary path
- Preserve the existing warning extraction model while shifting the
producer/consumer contract to log output

Example of the emitted log shape:

```text
CLANG_TIDY_WARNING_REPORT_BEGIN
CLANG_TIDY_STATUS_BEGIN
configure_status=0
build_status=0
CLANG_TIDY_STATUS_END
CLANG_TIDY_WARNINGS_BEGIN
123: warning: ...
CLANG_TIDY_WARNINGS_END
CLANG_TIDY_WARNING_REPORT_END
```

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-08-01 14:35:53 -07:00
Copilot
7b0a54c849
clang-tidy-warning-report: parallelize build using all available cores (#10351)
The clang-tidy warning report workflow was building Z3 single-threaded,
making the job unnecessarily slow on multi-core runners.

## Change

- Added `--parallel $(nproc)` to the `cmake --build` invocation,
consistent with how `ci.yml` parallelizes builds (e.g. `make
-j$(nproc)`).

```yaml
cmake --build build --target shell test-z3 --parallel $(nproc) -- -k 0
```

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-08-01 13:09:04 -07:00
Copilot
373dbb2633
Route Clang-Tidy Warning Fixer to report-run artifacts and issue-based diff proposals (#10350)
This updates the Clang-Tidy Warning Fixer to run after
`clang-tidy-warning-report.yml` completes, consume that run’s warning
artifacts, and produce assignment-ready fix proposals as GitHub issues.
It replaces the previous self-build/PR-creation flow with
artifact-driven analysis and diff-first issue output.

- **Trigger + execution model**
- Switched workflow trigger from scheduled standalone runs to
`workflow_run` on **Clang-Tidy Warning Report** completion (with manual
dispatch retained).
- Keeps fixer analysis scoped to diagnostics from the originating report
run.

- **Artifact-driven diagnostics input**
  - Removed in-fixer prebuild/clang-tidy compilation step.
- Updated agent instructions to resolve source run ID, list/download the
warning artifact, extract logs, and analyze
`warnings.txt`/`combined.log` from that artifact.

- **Output contract: PR → Issue**
- Replaced safe output target from `create-pull-request` to
`create-issue`.
  - Issue content now requires:
    - warning summary,
    - skipped-warning rationale,
    - proposed fixes as full unified diffs,
    - assignment-ready checklist entries.

- **Workflow/runtime alignment**
  - Regenerated lockfile to match source workflow changes.
- Added Actions toolset/permissions needed for run/artifact retrieval in
the agent runtime.

```yaml
on:
  workflow_run:
    workflows: ["Clang-Tidy Warning Report"]
    types: [completed]
    branches: [master]
```

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-08-01 13:02:16 -07:00
Copilot
1972f4667b
Fix clang-tidy warning workflow build invocation (#10349)
The `Build Z3 with clang-tidy warnings` job was failing before
compilation due to an invalid `cmake --build` invocation. The workflow
passed a Ninja-only flag directly to CMake, so the job exited with
`Unknown argument -k` instead of producing the intended warning report.

- **Root cause**
  - The workflow invoked:
    ```bash
    cmake --build build --target shell test-z3 -k 0
    ```
- `-k 0` is a native Ninja argument and must be forwarded through CMake
after `--`.

- **Change**
- Update the clang-tidy warning workflow to pass native build-tool
arguments correctly:
    ```bash
    cmake --build build --target shell test-z3 -- -k 0
    ```

- **Effect**
- The job can now reach the actual Ninja build instead of failing in
CMake argument parsing.
- This restores the intended behavior of collecting clang-tidy/build
diagnostics in the workflow artifact.

- **Files**
  - `.github/workflows/clang-tidy-warning-report.yml`

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-08-01 12:03:27 -07:00
Copilot
90c401c5f2
Add daily clang-tidy warning report workflow (#10348)
Adds a scheduled workflow to build Z3 with the clang-tidy warning
configuration being tracked in detlefs' PRs, including the latest
`-Wgnu-anonymous-struct` flag from #10345. The workflow persists all
emitted warnings as an artifact so warning regressions can be reviewed
from each run.

- **Workflow**
  - Adds `.github/workflows/clang-tidy-warning-report.yml`
  - Runs daily and on manual dispatch
  - Uses Ubuntu + CMake/Ninja with `clang` and `clang-tidy`

- **Warning coverage**
  - Reuses the repository's existing Clang warning setup
  - Layers in the current pending detlefs warning flag:
    - `-Wgnu-anonymous-struct`

- **Artifacts**
  - Captures:
    - `configure.log`
    - `build.log`
    - `combined.log`
    - `warnings.txt`
    - `status.txt`
  - Uploads them as a per-run artifact for inspection

- **Failure behavior**
  - Still uploads logs on failure
- Marks the workflow failed if configure or build fails, so broken
clang-tidy runs are visible in Actions

```yaml
CC=clang CXX=clang++ cmake -GNinja -S . -B build \
  -DCMAKE_BUILD_TYPE=Debug \
  -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
  -DCMAKE_CXX_CLANG_TIDY=clang-tidy \
  -DCMAKE_CXX_FLAGS="-Wgnu-anonymous-struct"
```

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-08-01 11:12:44 -07:00
Copilot
d86b591368
Optimize build-warning-fixer prebuild flow and issue-context patch handoff (#10347)
This updates the `build-warning-fixer` agentic workflow to reduce
avoidable setup overhead and improve handoff quality when triggered from
GitHub issues. It also hardens repository targeting so the workflow
operates only against `Z3Prover/z3`, not other repos.

- **Scope and intent**
- Restricts agent behavior to `Z3Prover/z3` via explicit prompt
guardrails.
- Clarifies issue-context output requirements so Copilot gets a complete
patch context for PR generation.

- **Prebuild efficiency**
- Replaces unconditional `apt-get update/install` with tool presence
checks.
- Installs build dependencies only when one or more required tools are
missing (`clang`, `clang-tidy`, `cmake`, `ninja`, `python3`).

- **Issue-context diff payload**
  - Expands required patch reporting for issue-dispatched runs:
    - `git status --short`
    - `git diff --stat`
    - `git diff`
- Requires explicit changed-file summary plus full unified diff block
when edits exist.

- **Lockfile synchronization**
- Regenerates `build-warning-fixer.lock.yml` from the updated workflow
source so runtime behavior matches prompt/step updates.

```bash
missing_tools=0
command -v clang >/dev/null 2>&1 || missing_tools=1
command -v clang-tidy >/dev/null 2>&1 || missing_tools=1
command -v cmake >/dev/null 2>&1 || missing_tools=1
command -v ninja >/dev/null 2>&1 || missing_tools=1
command -v python3 >/dev/null 2>&1 || missing_tools=1
if [ "$missing_tools" -eq 1 ]; then
  sudo apt-get update -y
  sudo apt-get install -y clang clang-tidy cmake ninja-build python3
fi
```

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-08-01 10:56:54 -07:00
Copilot
022a6505ae
Precompute clang-tidy diagnostics in build-warning-fixer and add issue-context diff handoff (#10336)
This updates the `build-warning-fixer` agentic workflow to front-load
compilation/diagnostic collection before agent execution, reducing
repeated setup work in agent mode. It also improves issue-triggered runs
by requiring explicit git diff output so follow-on PR authoring has
directly usable patches.

- **Pre-agent compile + diagnostics collection**
- Added workflow `steps` in `build-warning-fixer.md` to run checkout,
tool install, CMake configure/build, and diagnostic extraction before
the agent prompt executes.
  - Persisted structured artifacts under `/tmp/gh-aw/agent/`:
    - `prebuild-status.txt`
    - `clang-tidy-configure.log`
    - `clang-tidy-build.log`
    - `clang-tidy-diagnostics.txt`

- **Prompt flow changed to consume prebuilt context**
- Reworked task instructions from “build first” to “inspect prebuild
outputs first.”
- Kept rebuild/fix loop for validated, conservative edits after code
changes.

- **Issue-context PR handoff improvement**
- Added explicit instruction for issue-dispatched runs
(`aw_context.item_type == "issue"`) to include:
    - `git diff --stat`
    - full `git diff` in fenced `diff` output
  - This makes proposed changes directly transferable into PR creation.

- **Workflow metadata refresh**
  - Updated checkout action reference to `actions/checkout@v7.0.1`.
- Recompiled `build-warning-fixer.lock.yml` to reflect source workflow
updates.

```yaml
- name: Prebuild and collect clang diagnostics
  run: |
    CC=clang CXX=clang++ cmake -GNinja -S . -B build \
      -DCMAKE_BUILD_TYPE=Debug \
      -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
      -DCMAKE_CXX_CLANG_TIDY=clang-tidy \
      2>&1 | tee /tmp/gh-aw/agent/clang-tidy-configure.log
    cmake --build build --target shell test-z3 -k 0 \
      2>&1 | tee /tmp/gh-aw/agent/clang-tidy-build.log
    grep -nE 'warning:|error:|clang-tidy' /tmp/gh-aw/agent/clang-tidy-build.log \
      > /tmp/gh-aw/agent/clang-tidy-diagnostics.txt || true
```

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-07-31 20:25:24 -07:00
Copilot
80a7504686
Cap clang-tidy agent runtime in build-warning-fixer workflow (#10327)
The `agent` job in the Clang-Tidy Warning Fixer workflow was spending
most of its runtime waiting on a full clang-tidy build, then failing
before it could complete its safe-output path. This change narrows the
prompt so the agent can make a bounded decision from early diagnostics
instead of treating the full build as a prerequisite.

- **Prompt guardrail**
- Add a runtime-budget section to the compiled workflow prompt in
`build-warning-fixer.lock.yml`.
- Instruct the agent to stop after it has enough diagnostics for one
safe fix, or after 15 minutes.

- **Build scope reduction**
  - Switch initial diagnostic collection to a `shell`-only build.
- Explicitly avoid waiting for a full `shell + test-z3` clang-tidy build
before deciding whether to act.

- **Fallback behavior**
- Direct the agent to emit `noop` when it cannot reach a safe, validated
fix within the time budget.
- Keep `test-z3` optional unless it is already available or cheap to
build within the remaining budget.

Example of the new prompt guidance:

```yaml
- Use `cmake --build build --target shell -- -k 0 2>&1 | tee /tmp/gh-aw/agent/clang-tidy-build.log` for initial diagnostic collection.
- Do not wait for the full `shell` build to finish before deciding what to do.
- Stop once you have enough diagnostics for one small, high-confidence fix, or after 15 minutes.
- If no safe fix is ready in that budget, call `noop`.
```

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-07-31 13:32:47 -07:00
Copilot
1a73005048
Convert build-warning-fixer into a clang-tidy-driven PR workflow (#10326)
This updates the existing agentic workflow from generic build-warning
cleanup to a clang-tidy-based loop: compile Z3 with Clang, inspect
clang-tidy/compiler diagnostics, and open a PR only for small,
semantics-preserving fixes.

- **Workflow scope**
- Renames and repurposes `build-warning-fixer` as a clang-tidy warning
fixer.
- Keeps the existing agentic PR flow, but narrows it to clang/clang-tidy
findings from the current run.

- **Build/analyze path**
- Switches the authored workflow prompt to use the repo’s CMake + Ninja
build with `clang`/`clang++`.
- Enables `CMAKE_CXX_CLANG_TIDY=clang-tidy` and exports compile commands
for tool-driven analysis.
- Captures configure/build logs in the agent artifact directory for
post-run diagnosis.

- **Agent behavior**
- Instructs the agent to classify clang-tidy warnings, compiler
warnings, and build errors from the build log.
- Biases toward localized fixes only: e.g. `override`,
`[[maybe_unused]]`, `nullptr`, dead locals.
- Explicitly prefers `noop` over speculative edits when diagnostics are
broad, risky, or design-affecting.

- **Generated workflow**
- Regenerates the compiled lockfile to reflect the new prompt and
current auth/permission model used by other agentic workflows in this
repo.

```yaml
CC=clang CXX=clang++ cmake -GNinja -S . -B build \
  -DCMAKE_BUILD_TYPE=Debug \
  -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
  -DCMAKE_CXX_CLANG_TIDY=clang-tidy \
  2>&1 | tee /tmp/gh-aw/agent/clang-tidy-configure.log
```

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-07-31 10:15:18 -07:00
Copilot
141e99ffe7
Recompile agentic workflow lockfiles and refresh pinned AW metadata (#10315)
This addresses stale generated Agentic Workflow artifacts by recompiling
the workflow sources and updating the checked-in lock outputs. The
update brings lockfiles and shared action pin metadata back in sync with
the current compiler/runtime generation.

- **Scope of regeneration**
- Recompiled all Agentic Workflow markdown definitions in
`.github/workflows/*.md` into their corresponding `.lock.yml` outputs.
- Updated generated maintenance workflow output in
`.github/workflows/agentics-maintenance.yml`.

- **Pinned dependency/metadata refresh**
- Refreshed `.github/aw/actions-lock.json` and lockfile manifests
(actions, container digests, compiler metadata) to the latest generated
state.
- Resulting lock headers now reflect the current compiler/toolchain
metadata used for generation.

- **Auth/runtime shape in generated lockfiles**
- Regenerated lock outputs include current AW-generated runtime/env
wiring for Copilot execution paths and token handling where applicable.

```yaml
# Example (lockfile header after regeneration)
# gh-aw-metadata:
#   compiler_version: "v0.83.4"
```

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-07-30 16:43:39 -07:00
dependabot[bot]
a9133ee475
Bump actions/setup-node from 6.4.0 to 7.0.0 (#10313)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from
6.4.0 to 7.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-node/releases">actions/setup-node's
releases</a>.</em></p>
<blockquote>
<h2>v7.0.0</h2>
<h2>What's Changed</h2>
<h3>Enhancements:</h3>
<ul>
<li>Add cache-primary-key and cache-matched-key as outputs by <a
href="https://github.com/gowridurgad"><code>@​gowridurgad</code></a> in
<a
href="https://redirect.github.com/actions/setup-node/pull/1577">actions/setup-node#1577</a></li>
<li>Migrate to ESM and upgrade dependencies by <a
href="https://github.com/gowridurgad"><code>@​gowridurgad</code></a> in
<a
href="https://redirect.github.com/actions/setup-node/pull/1574">actions/setup-node#1574</a></li>
</ul>
<h3>Bug fixes:</h3>
<ul>
<li>Remove dummy NODE_AUTH_TOKEN export by <a
href="https://github.com/gowridurgad"><code>@​gowridurgad</code></a> in
<a
href="https://redirect.github.com/actions/setup-node/pull/1558">actions/setup-node#1558</a></li>
<li>Only use <code>mirrorToken</code> in <code>getManifest</code> if
it's provided by <a
href="https://github.com/deiga"><code>@​deiga</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/1548">actions/setup-node#1548</a></li>
</ul>
<h3>Documentation updates:</h3>
<ul>
<li>Add documentation for publishing to npm with Trusted Publisher
(OIDC) by <a
href="https://github.com/chiranjib-swain"><code>@​chiranjib-swain</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/1536">actions/setup-node#1536</a></li>
<li>docs: Update restore-only cache documentation by <a
href="https://github.com/priya-kinthali"><code>@​priya-kinthali</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/1550">actions/setup-node#1550</a></li>
<li>docs: Update caching recommendations to mitigate cache poisoning
risks by <a
href="https://github.com/chiranjib-swain"><code>@​chiranjib-swain</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/1567">actions/setup-node#1567</a></li>
</ul>
<h3>Dependency update:</h3>
<ul>
<li>Upgrade <code>@​actions/cache</code> to 5.1.0, log cache write
denied by <a
href="https://github.com/jasongin"><code>@​jasongin</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/1569">actions/setup-node#1569</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/chiranjib-swain"><code>@​chiranjib-swain</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/1536">actions/setup-node#1536</a></li>
<li><a href="https://github.com/deiga"><code>@​deiga</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/1548">actions/setup-node#1548</a></li>
<li><a href="https://github.com/jasongin"><code>@​jasongin</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/1569">actions/setup-node#1569</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v6...v7.0.0">https://github.com/actions/setup-node/compare/v6...v7.0.0</a></p>
<h2>v6.5.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update <code>@​actions/cache</code> to 5.1.0 and add security
overrides for undici and fast-xml-parser by <a
href="https://github.com/HarithaVattikuti"><code>@​HarithaVattikuti</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/1579">actions/setup-node#1579</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v6.4.0...v6.5.0">https://github.com/actions/setup-node/compare/v6.4.0...v6.5.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="8207627860"><code>8207627</code></a>
Migrate to ESM and upgrade dependencies (<a
href="https://redirect.github.com/actions/setup-node/issues/1574">#1574</a>)</li>
<li><a
href="04be95cf35"><code>04be95c</code></a>
Add cache-primary-key and cache-matched-key as outputs (<a
href="https://redirect.github.com/actions/setup-node/issues/1577">#1577</a>)</li>
<li><a
href="7c2c68d20d"><code>7c2c68d</code></a>
docs: Update caching recommendations to mitigate cache poisoning risks
(<a
href="https://redirect.github.com/actions/setup-node/issues/1567">#1567</a>)</li>
<li><a
href="6a61c0375d"><code>6a61c03</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/setup-node/issues/1569">#1569</a>
from jasongin/update-actions-cache-5.1.0</li>
<li><a
href="30eb73b41d"><code>30eb73b</code></a>
Resolve high-severity audit issues</li>
<li><a
href="4e1a87a501"><code>4e1a87a</code></a>
Update dist</li>
<li><a
href="360237f0c0"><code>360237f</code></a>
Strict equality</li>
<li><a
href="4f8aac5beb"><code>4f8aac5</code></a>
Bump <code>@​actions/cache</code> to 5.1.0, log cache write denied</li>
<li><a
href="f4a67bbeca"><code>f4a67bb</code></a>
Only use <code>mirrorToken</code> in <code>getManifest</code> if it's
provided (<a
href="https://redirect.github.com/actions/setup-node/issues/1548">#1548</a>)</li>
<li><a
href="0355742c94"><code>0355742</code></a>
Remove dummy NODE_AUTH_TOKEN export (<a
href="https://redirect.github.com/actions/setup-node/issues/1558">#1558</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/actions/setup-node/compare/v6.4.0...v7">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-node&package-manager=github_actions&previous-version=6.4.0&new-version=7.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-30 15:18:42 -07:00
dependabot[bot]
7cb225ee9a
Bump actions/cache/save from 5.0.5 to 6.1.0 (#10311)
Bumps [actions/cache/save](https://github.com/actions/cache) from 5.0.5
to 6.1.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/cache/releases">actions/cache/save's
releases</a>.</em></p>
<blockquote>
<h2>v6.1.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Bump <code>@​actions/cache</code> to v6.1.0 - handle read-only cache
access by <a
href="https://github.com/jasongin"><code>@​jasongin</code></a> in <a
href="https://redirect.github.com/actions/cache/pull/1768">actions/cache#1768</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/cache/compare/v6...v6.1.0">https://github.com/actions/cache/compare/v6...v6.1.0</a></p>
<h2>v6.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Update packages, migrate to ESM by <a
href="https://github.com/Samirat"><code>@​Samirat</code></a> in <a
href="https://redirect.github.com/actions/cache/pull/1760">actions/cache#1760</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/cache/compare/v5...v6.0.0">https://github.com/actions/cache/compare/v5...v6.0.0</a></p>
<h2>v5.1.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Bump <code>@​actions/cache</code> to v5.1.0 - handle read-only cache
access by <a
href="https://github.com/jasongin"><code>@​jasongin</code></a> in <a
href="https://redirect.github.com/actions/cache/pull/1775">actions/cache#1775</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/cache/compare/v5...v5.1.0">https://github.com/actions/cache/compare/v5...v5.1.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/actions/cache/blob/main/RELEASES.md">actions/cache/save's
changelog</a>.</em></p>
<blockquote>
<h1>Releases</h1>
<h2>How to prepare a release</h2>
<blockquote>
<p>[!NOTE]
Relevant for maintainers with write access only.</p>
</blockquote>
<ol>
<li>Switch to a new branch from <code>main</code>.</li>
<li>Run <code>npm test</code> to ensure all tests are passing.</li>
<li>Update the version in <a
href="https://github.com/actions/cache/blob/main/package.json"><code>https://github.com/actions/cache/blob/main/package.json</code></a>.</li>
<li>Run <code>npm run build</code> to update the compiled files.</li>
<li>Update this <a
href="https://github.com/actions/cache/blob/main/RELEASES.md"><code>https://github.com/actions/cache/blob/main/RELEASES.md</code></a>
with the new version and changes in the <code>## Changelog</code>
section.</li>
<li>Run <code>licensed cache</code> to update the license report.</li>
<li>Run <code>licensed status</code> and resolve any warnings by
updating the <a
href="https://github.com/actions/cache/blob/main/.licensed.yml"><code>https://github.com/actions/cache/blob/main/.licensed.yml</code></a>
file with the exceptions.</li>
<li>Commit your changes and push your branch upstream.</li>
<li>Open a pull request against <code>main</code> and get it reviewed
and merged.</li>
<li>Draft a new release <a
href="https://github.com/actions/cache/releases">https://github.com/actions/cache/releases</a>
use the same version number used in <code>package.json</code>
<ol>
<li>Create a new tag with the version number.</li>
<li>Auto generate release notes and update them to match the changes you
made in <code>RELEASES.md</code>.</li>
<li>Toggle the set as the latest release option.</li>
<li>Publish the release.</li>
</ol>
</li>
<li>Navigate to <a
href="https://github.com/actions/cache/actions/workflows/release-new-action-version.yml">https://github.com/actions/cache/actions/workflows/release-new-action-version.yml</a>
<ol>
<li>There should be a workflow run queued with the same version
number.</li>
<li>Approve the run to publish the new version and update the major tags
for this action.</li>
</ol>
</li>
</ol>
<h2>Changelog</h2>
<h3>6.1.0</h3>
<ul>
<li>Bump <code>@actions/cache</code> to v6.1.0 to pick up <a
href="https://redirect.github.com/actions/toolkit/pull/2435">actions/toolkit#2435
Handle cache write error due to read-only token</a></li>
<li>Switch redundant &quot;Cache save failed&quot; warning to debug log
in save-only</li>
</ul>
<h3>6.0.0</h3>
<ul>
<li>Updated <code>@actions/cache</code> to ^6.0.1,
<code>@actions/core</code> to ^3.0.1, <code>@actions/exec</code> to
^3.0.0, <code>@actions/io</code> to ^3.0.2</li>
<li>Migrated to ESM module system</li>
<li>Upgraded Jest to v30 and test infrastructure to be ESM
compatible</li>
</ul>
<h3>5.0.4</h3>
<ul>
<li>Bump <code>minimatch</code> to v3.1.5 (fixes ReDoS via globstar
patterns)</li>
<li>Bump <code>undici</code> to v6.24.1 (WebSocket decompression bomb
protection, header validation fixes)</li>
<li>Bump <code>fast-xml-parser</code> to v5.5.6</li>
</ul>
<h3>5.0.3</h3>
<ul>
<li>Bump <code>@actions/cache</code> to v5.0.5 (Resolves: <a
href="https://github.com/actions/cache/security/dependabot/33">https://github.com/actions/cache/security/dependabot/33</a>)</li>
<li>Bump <code>@actions/core</code> to v2.0.3</li>
</ul>
<h3>5.0.2</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="55cc834586"><code>55cc834</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/cache/issues/1768">#1768</a>
from jasongin/readonly-cache</li>
<li><a
href="d8cd72f230"><code>d8cd72f</code></a>
Bump <code>@​actions/cache</code> to v6.1.0 - handle cache write error
due to RO token</li>
<li><a
href="2c8a9bd745"><code>2c8a9bd</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/cache/issues/1760">#1760</a>
from actions/samirat/esm_migration_and_package_update</li>
<li><a
href="e9b91fdc3f"><code>e9b91fd</code></a>
Prettier fixes</li>
<li><a
href="e4884b8ff7"><code>e4884b8</code></a>
Rebuild dist</li>
<li><a
href="10baf0191a"><code>10baf01</code></a>
Fixed licenses</li>
<li><a
href="e39b386c90"><code>e39b386</code></a>
Fix test mock return order</li>
<li><a
href="b692820337"><code>b692820</code></a>
PR feedback</li>
<li><a
href="60749128a4"><code>6074912</code></a>
Rebuild dist bundles as ESM to match type:module</li>
<li><a
href="5a912e8b4a"><code>5a912e8</code></a>
Fix lint and jest issues</li>
<li>Additional commits viewable in <a
href="27d5ce7f10...55cc834586">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/cache/save&package-manager=github_actions&previous-version=5.0.5&new-version=6.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-30 15:14:19 -07:00
dependabot[bot]
99a2be2a77
Bump pypa/cibuildwheel from 4.1.0 to 4.1.1 (#10312)
Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from
4.1.0 to 4.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/cibuildwheel/releases">pypa/cibuildwheel's
releases</a>.</em></p>
<blockquote>
<h2>v4.1.1</h2>
<ul>
<li> Adds <code>pyodide-build</code> as a separate <a
href="https://cibuildwheel.pypa.io/en/stable/options/#build-frontend"><code>build-frontend</code></a>,
now the default frontend for Pyodide, with verbosity flags handling. Any
other frontend is ignored with a warning on Pyodide. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2609">#2609</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2945">#2945</a>)</li>
<li>🔐 Uses digests instead of tags for pinned container images,
strengthening supply-chain security. The human-readable tags remain as
comments in <code>pinned_docker_images.cfg</code>. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2915">#2915</a>)</li>
<li>🐛 Fixes platform-specific <a
href="https://cibuildwheel.pypa.io/en/stable/options/#test-runtime"><code>test-runtime</code></a>
environment variables (e.g. <code>CIBW_TEST_RUNTIME_ANDROID</code>) not
being honored (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2941">#2941</a>)</li>
<li>🐛 Fixes quoting of <a
href="https://cibuildwheel.pypa.io/en/stable/options/#test-requires"><code>test-requires</code></a>
and <a
href="https://cibuildwheel.pypa.io/en/stable/options/#audit-requires"><code>audit-requires</code></a>
so PEP 508 specifiers containing spaces work (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2913">#2913</a>)</li>
<li>🐛 Makes <a
href="https://cibuildwheel.pypa.io/en/stable/options/#archs"><code>archs</code></a>
parsing case-insensitive and platform-aware, so e.g. <code>arm64</code>
works on Windows (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2920">#2920</a>)</li>
<li>🐛 Uses an absolute path for the <code>{project}</code> placeholder
in <a
href="https://cibuildwheel.pypa.io/en/stable/options/#config-settings"><code>config-settings</code></a>
(<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2934">#2934</a>)</li>
<li>🐛 Validates the <a
href="https://cibuildwheel.pypa.io/en/stable/options/#pyodide-version"><code>pyodide-version</code></a>
option against the build identifier with a clear error (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2925">#2925</a>)</li>
<li>🐛 Fixes PyPy installs on macOS after PyPy switched its downloads
from <code>.tar.bz2</code> to <code>.tar.gz</code> (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2939">#2939</a>)</li>
<li>🐛 Makes a matching <code>python3-config</code> available in the
build and test venvs on macOS (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2922">#2922</a>)</li>
<li>🛠 Updates dependencies and container pins (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2917">#2917</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2935">#2935</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2939">#2939</a>)</li>
<li>🛠 Updates Android tests to current Python versions and the new test
repository URL (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2933">#2933</a>)</li>
<li>🛠 Drops the <code>orjson</code> dependency, no longer used by mypy
2+ (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2923">#2923</a>)</li>
<li>📚 Builds the docs with properdocs, a MkDocs fork (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2946">#2946</a>)</li>
<li>📚 Adds the missing <code>cp314-pyodide_wasm32</code> entry to the
build identifier table (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2947">#2947</a>)</li>
<li>📚 Removes outdated notes about the <code>pip wheel</code> build
frontend and ClearLinux (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2926">#2926</a>)</li>
<li>💼 Adds a &quot;CI: PyPy EoL&quot; PR label to run PyPy EoL tests on
PRs (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2930">#2930</a>)</li>
<li>💼 Updates CI action pins and pre-commit hooks (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2914">#2914</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2932">#2932</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2938">#2938</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2940">#2940</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2942">#2942</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2943">#2943</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md">pypa/cibuildwheel's
changelog</a>.</em></p>
<blockquote>
<h3>v4.1.1</h3>
<p><em>24 July 2026</em></p>
<ul>
<li> Adds <code>pyodide-build</code> as a separate <a
href="https://cibuildwheel.pypa.io/en/stable/options/#build-frontend"><code>build-frontend</code></a>,
now the default frontend for Pyodide, with verbosity flags handling. Any
other frontend is ignored with a warning on Pyodide. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2609">#2609</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2945">#2945</a>)</li>
<li>🔐 Uses digests instead of tags for pinned container images,
strengthening supply-chain security. The human-readable tags remain as
comments in <code>pinned_docker_images.cfg</code>. (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2915">#2915</a>)</li>
<li>🐛 Fixes platform-specific <a
href="https://cibuildwheel.pypa.io/en/stable/options/#test-runtime"><code>test-runtime</code></a>
environment variables (e.g. <code>CIBW_TEST_RUNTIME_ANDROID</code>) not
being honored (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2941">#2941</a>)</li>
<li>🐛 Fixes quoting of <a
href="https://cibuildwheel.pypa.io/en/stable/options/#test-requires"><code>test-requires</code></a>
and <a
href="https://cibuildwheel.pypa.io/en/stable/options/#audit-requires"><code>audit-requires</code></a>
so PEP 508 specifiers containing spaces work (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2913">#2913</a>)</li>
<li>🐛 Makes <a
href="https://cibuildwheel.pypa.io/en/stable/options/#archs"><code>archs</code></a>
parsing case-insensitive and platform-aware, so e.g. <code>arm64</code>
works on Windows (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2920">#2920</a>)</li>
<li>🐛 Uses an absolute path for the <code>{project}</code> placeholder
in <a
href="https://cibuildwheel.pypa.io/en/stable/options/#config-settings"><code>config-settings</code></a>
(<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2934">#2934</a>)</li>
<li>🐛 Validates the <a
href="https://cibuildwheel.pypa.io/en/stable/options/#pyodide-version"><code>pyodide-version</code></a>
option against the build identifier with a clear error (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2925">#2925</a>)</li>
<li>🐛 Fixes PyPy installs on macOS after PyPy switched its downloads
from <code>.tar.bz2</code> to <code>.tar.gz</code> (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2939">#2939</a>)</li>
<li>🐛 Makes a matching <code>python3-config</code> available in the
build and test venvs on macOS (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2922">#2922</a>)</li>
<li>🛠 Updates dependencies and container pins (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2917">#2917</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2935">#2935</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2939">#2939</a>)</li>
<li>🛠 Updates Android tests to current Python versions and the new test
repository URL (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2933">#2933</a>)</li>
<li>🛠 Drops the <code>orjson</code> dependency, no longer used by mypy
2+ (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2923">#2923</a>)</li>
<li>📚 Builds the docs with properdocs, a MkDocs fork (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2946">#2946</a>)</li>
<li>📚 Adds the missing <code>cp314-pyodide_wasm32</code> entry to the
build identifier table (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2947">#2947</a>)</li>
<li>📚 Removes outdated notes about the <code>pip wheel</code> build
frontend and ClearLinux (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2926">#2926</a>)</li>
<li>💼 Adds a &quot;CI: PyPy EoL&quot; PR label to run PyPy EoL tests on
PRs (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2930">#2930</a>)</li>
<li>💼 Updates CI action pins and pre-commit hooks (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2914">#2914</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2932">#2932</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2938">#2938</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2940">#2940</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2942">#2942</a>,
<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2943">#2943</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4726cd35bb"><code>4726cd3</code></a>
Bump version: v4.1.1</li>
<li><a
href="1af5cd76db"><code>1af5cd7</code></a>
docs: switch from mkdocs to properdocs (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2946">#2946</a>)</li>
<li><a
href="b21d76ae03"><code>b21d76a</code></a>
docs: add missing cp314-pyodide_wasm32 to build-id table (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2947">#2947</a>)</li>
<li><a
href="03cbe932e6"><code>03cbe93</code></a>
fix(macos): make matching python3-config available in build/test venvs
(<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2922">#2922</a>)</li>
<li><a
href="b7cac6dfef"><code>b7cac6d</code></a>
fix: don't error when a global build-frontend is set on pyodide (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2945">#2945</a>)</li>
<li><a
href="1520daf8ae"><code>1520daf</code></a>
fix: support platform-specific test runtime environment variables (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2941">#2941</a>)</li>
<li><a
href="17b74206ab"><code>17b7420</code></a>
[Bot] Update dependencies (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2939">#2939</a>)</li>
<li><a
href="f8d8cca5bb"><code>f8d8cca</code></a>
chore(deps): bump astral-sh/setup-uv from 8.2.0 to 8.3.2 in the actions
group...</li>
<li><a
href="265b435c86"><code>265b435</code></a>
chore(deps): bump the actions group with 2 updates (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2942">#2942</a>)</li>
<li><a
href="3f8bd1c9ba"><code>3f8bd1c</code></a>
chore(deps): bump the actions group with 3 updates (<a
href="https://redirect.github.com/pypa/cibuildwheel/issues/2938">#2938</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/cibuildwheel/compare/v4.1.0...v4.1.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pypa/cibuildwheel&package-manager=github_actions&previous-version=4.1.0&new-version=4.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-30 15:14:08 -07:00
Nikolaj Bjorner
808a35b5e3 Remove z3_tptp5 example build steps from GitHub Actions
The tptp5 example was removed, so drop its build/run steps from ci.yml,
coverage.yml, and the daily-test-improver coverage action. The z3 -tptp
front-end and the tptp-benchmark workflow are unaffected.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 57b9b87e-950a-49ea-bbb3-ed585646a5a9
2026-07-29 15:53:08 -07:00
Lev Nachmanson
d49c389a69 CI: run FStar test suite in fstar-master-build workflow
Build FStar only type-checks the compiler and ulib. Running `make test`
afterwards exercises the tests/examples suite, which sends many more SMT
queries to the freshly built Z3 and produces more logged failing queries
for the existing .smt2 collection step.

The new step runs in the FStar clone with the same opam env, PATH to the
Z3 aliases and OTHERFLAGS as the build. It is gated on a new
fstar_run_tests input (default true) and on the build succeeding, and is
continue-on-error so a test failure does not hide the build result or
skip reporting. The discussion summary reports the test outcome and the
tail of the test log; the SMT2 preview budget is reduced accordingly to
stay below the discussion body size limit.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-28 13:47:13 -07:00
Nikolaj Bjorner
b1168b4868 Fix agentic workflow auth by using Actions token-based Copilot inference
The COPILOT_GITHUB_TOKEN PAT secret expired, causing HTTP 401 auth
failures in all agentic workflows that referenced it. Switch these
workflows to GitHub Actions token-based Copilot inference by adding
'copilot-requests: write' to their permissions (matching the already-
working code-simplifier and release-notes-updater workflows), so the
engine uses the ephemeral github.token instead of the expired PAT.

Recompiled with gh-aw v0.81.6 (repo's pinned version) to keep the diff
minimal. Affected: api-coherence-checker, issue-backlog-processor,
memory-safety-report, academic-citation-tracker, smtlib-benchmark-finder,
workflow-suggestion-agent, specbot-crash-analyzer, tptp-benchmark.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 57b9b87e-950a-49ea-bbb3-ed585646a5a9
2026-07-28 02:22:11 -07:00
Nikolaj Bjorner
18d8d7a7bd Remove qf-s-benchmark workflow and its README reference
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 57b9b87e-950a-49ea-bbb3-ed585646a5a9
2026-07-28 01:30:58 -07:00
Nikolaj Bjorner
8210bbb9ea Fix nightly-validation macOS wheel install by rewriting 13_3 platform tag to 13_0
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 57b9b87e-950a-49ea-bbb3-ed585646a5a9
2026-07-28 01:25:42 -07:00
Nikolaj Bjorner
1a63ac9042 recompile workflows
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-07-28 01:05:54 -07:00
Nikolaj Bjorner
d51d164d21 Fix failing agentic workflows: switch agent/detection jobs to S2STOKENS auth
The eight remaining README-listed agentic workflows (tptp-benchmark, qf-s-benchmark, smtlib-benchmark-finder, memory-safety-report, issue-backlog-processor, workflow-suggestion-agent, academic-citation-tracker, specbot-crash-analyzer) were failing with HTTP 401 because their agent/detection jobs depended on the missing/expired COPILOT_GITHUB_TOKEN repository secret.

Switch the agent and detection 'Execute Copilot CLI' steps from secrets.COPILOT_GITHUB_TOKEN to the S2STOKENS mechanism (github.token) and grant the required copilot-requests: write permission, matching the fix already applied to api-coherence-checker (#10223), code-simplifier (#10222), and release-notes-updater.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 8abbf1d4-fc99-4c10-ac89-3f0276ec8751
2026-07-28 00:56:29 -07:00
Copilot
ad4896c3e0
Fix fstar-master-build.yml: use input defaults for scheduled runs (#10253)
On scheduled runs, `github.event.inputs.*` is empty, so the `||
fallback` values in the `env` block are what actually get used — but two
of them diverged from the declared `workflow_dispatch` input defaults.

## Changes

- `Z3_RUNTIME_ARGS`: scheduled fallback was `smt.ho_matching=true`;
corrected to `smt.ho_matching=false` to match the input default
- `FSTAR_OTHERFLAGS`: scheduled fallback was `''`; corrected to
`--split_queries on_failure --log_failing_queries --ext higher_order_smt
--proof_recovery` to match the input default

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-07-27 12:14:58 -07:00
Copilot
d26b5245df
Fix api-coherence-checker agent job: switch to S2STOKENS authentication (#10223)
The `agent` job in the API Coherence Checker workflow was failing every
run with HTTP 401 because it depended on a `COPILOT_GITHUB_TOKEN`
repository secret that was missing/expired.

## Changes

- **`api-coherence-checker.lock.yml`**: Switch `agent` and `detection`
jobs from legacy `secrets.COPILOT_GITHUB_TOKEN` to the S2STOKENS
mechanism (service-to-service token exchange via the standard
`github.token`):

```yaml
# Before (agent and detection Execute Copilot CLI steps)
COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }}
# no S2STOKENS

# After
COPILOT_GITHUB_TOKEN: ${{ github.token }}
S2STOKENS: true
```

- **Permissions**: Replace broad `permissions: read-all` on the `agent`
job (and add to `detection`) with minimal explicit scopes required for
S2STOKENS:
```yaml
permissions:
  contents: read
  copilot-requests: write  # required for S2STOKENS token exchange
```

This brings `api-coherence-checker` in line with the pattern already
used by `code-simplifier` and `release-notes-updater`.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-07-24 20:02:23 -07:00
Copilot
19cac831b4
Fix Code Simplifier agent authentication in GitHub Actions (#10222)
The `Code Simplifier` workflow’s `agent` job was failing before any
analysis ran because Copilot requests were not authorized in the
workflow context. The generated lock workflow therefore executed against
a stale auth model and consistently hit `HTTP 401` during agent startup.

- **Root cause**
- The workflow frontmatter did not grant `copilot-requests: write`,
which is required for Copilot-backed agent execution in Actions.

- **Workflow change**
- Added `copilot-requests: write` to
`.github/workflows/code-simplifier.md`.

- **Generated workflow update**
- Recompiled `code-simplifier.lock.yml` so the executable workflow
matches the new permission model.
- This updates the Copilot invocation path from the old secret-based
flow to the GitHub Actions token-based flow used by current gh-aw
compilation.

- **Effective delta**
  ```yaml
  permissions:
    contents: read
    issues: read
    pull-requests: read
    copilot-requests: write
  ```

- **Lockfile effect**
  ```yaml
  # before
  COPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }}

  # after
  COPILOT_GITHUB_TOKEN: ${{ github.token }}
  S2STOKENS: true
  ```

This keeps the change scoped to the failing workflow while aligning the
checked-in lock file with the auth mechanism expected by the current
Agentic Workflows toolchain.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-07-24 19:29:54 -07:00
Copilot
18b4a86740
ci: add MinGW build/test job to Windows.yml (#10211)
MinGW silently ignores `#pragma comment(lib, ...)` (MSVC-only), so
linker errors like missing `dbghelp` symbols go undetected until a
downstream user hits them. No CI coverage existed for MinGW on Windows.

## Changes

- **`.github/workflows/Windows.yml`**: New `mingw-build` job using MSYS2
UCRT64 (`mingw-w64-ucrt-x86_64-gcc`) that builds Z3 via `cmake -G Ninja`
and runs `test-z3 /a`, exercising the full link step under MinGW on
every push/PR to master.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-07-24 13:11:08 -07:00
dependabot[bot]
7055366050
Bump actions/checkout from 7.0.0 to 7.0.1 (#10208)
Bumps [actions/checkout](https://github.com/actions/checkout) from 7.0.0
to 7.0.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/checkout/releases">actions/checkout's
releases</a>.</em></p>
<blockquote>
<h2>v7.0.1</h2>
<h2>What's Changed</h2>
<ul>
<li>skip running unsafe pr check if input is default by <a
href="https://github.com/aiqiaoy"><code>@​aiqiaoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2518">actions/checkout#2518</a></li>
<li>trim only ascii whitespace for branch by <a
href="https://github.com/aiqiaoy"><code>@​aiqiaoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2521">actions/checkout#2521</a></li>
<li>escape values passed to --unset by <a
href="https://github.com/aiqiaoy"><code>@​aiqiaoy</code></a> in <a
href="https://redirect.github.com/actions/checkout/pull/2530">actions/checkout#2530</a></li>
<li>Various dependency updates</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/checkout/compare/v7...v7.0.1">https://github.com/actions/checkout/compare/v7...v7.0.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/actions/checkout/compare/v7...v7.0.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/checkout&package-manager=github_actions&previous-version=7.0.0&new-version=7.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-23 19:17:49 -07:00
dependabot[bot]
4611ea3f19
Bump actions/setup-python from 6 to 7 (#10209)
Bumps [actions/setup-python](https://github.com/actions/setup-python)
from 6 to 7.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-python/releases">actions/setup-python's
releases</a>.</em></p>
<blockquote>
<h2>v7.0.0</h2>
<h2>What's Changed</h2>
<h3>Enhancements</h3>
<ul>
<li>Migrate to ESM and upgrade dependencies by <a
href="https://github.com/priyagupta108"><code>@​priyagupta108</code></a>
in <a
href="https://redirect.github.com/actions/setup-python/pull/1330">actions/setup-python#1330</a></li>
<li>Pin SHA commits and update docs with latest versions by <a
href="https://github.com/HarithaVattikuti"><code>@​HarithaVattikuti</code></a>
in <a
href="https://redirect.github.com/actions/setup-python/pull/1338">actions/setup-python#1338</a></li>
<li>Remove the pip-install input by <a
href="https://github.com/gowridurgad"><code>@​gowridurgad</code></a> in
<a
href="https://redirect.github.com/actions/setup-python/pull/1336">actions/setup-python#1336</a></li>
</ul>
<h3>Bug Fix</h3>
<ul>
<li>Fix to Classify stderr warning messages as warnings instead of
errors in annotations by <a
href="https://github.com/lmvysakh"><code>@​lmvysakh</code></a> in <a
href="https://redirect.github.com/actions/setup-python/pull/1335">actions/setup-python#1335</a></li>
<li>Validate and retry manifest fetch to prevent silent failures by <a
href="https://github.com/priyagupta108"><code>@​priyagupta108</code></a>
in <a
href="https://redirect.github.com/actions/setup-python/pull/1332">actions/setup-python#1332</a></li>
</ul>
<h3>Dependency Upgrade</h3>
<ul>
<li>Bump certifi from 2020.6.20 to 2024.7.4 in
/<strong>tests</strong>/data by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-python/pull/1328">actions/setup-python#1328</a></li>
<li>Remove EOL Python versions and Bumps numpy text fixture by <a
href="https://github.com/priya-kinthali"><code>@​priya-kinthali</code></a>
in <a
href="https://redirect.github.com/actions/setup-python/pull/1333">actions/setup-python#1333</a></li>
<li>Upgrade <code>@​actions/cache</code> to 6.2.0 by <a
href="https://github.com/philip-gai"><code>@​philip-gai</code></a> in <a
href="https://redirect.github.com/actions/setup-python/pull/1337">actions/setup-python#1337</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/lmvysakh"><code>@​lmvysakh</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-python/pull/1335">actions/setup-python#1335</a></li>
<li><a
href="https://github.com/philip-gai"><code>@​philip-gai</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/setup-python/pull/1337">actions/setup-python#1337</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-python/compare/v6...v7.0.0">https://github.com/actions/setup-python/compare/v6...v7.0.0</a></p>
<h2>v6.3.0</h2>
<h2>What's Changed</h2>
<h3>Enhancement</h3>
<ul>
<li>Add RHEL support and include Linux distro in cache keys by <a
href="https://github.com/priyagupta108"><code>@​priyagupta108</code></a>
in <a
href="https://redirect.github.com/actions/setup-python/pull/1323">actions/setup-python#1323</a></li>
<li>Fix pip cache error handling on Windows by <a
href="https://github.com/priyagupta108"><code>@​priyagupta108</code></a>
in <a
href="https://redirect.github.com/actions/setup-python/pull/1040">actions/setup-python#1040</a></li>
</ul>
<h3>Dependency update</h3>
<ul>
<li>Upgrade minimatch from 3.1.2 to 3.1.5 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/actions/setup-python/pull/1281">actions/setup-python#1281</a></li>
<li>Upgrade actions dependencies by <a
href="https://github.com/gowridurgad"><code>@​gowridurgad</code></a>
with <a href="https://github.com/Copilot"><code>@​Copilot</code></a> in
<a
href="https://redirect.github.com/actions/setup-python/pull/1303">actions/setup-python#1303</a></li>
<li>Upgrade <code>@​actions/cache</code> to 5.1.0, log cache write
denied by <a
href="https://github.com/jasongin"><code>@​jasongin</code></a> in <a
href="https://redirect.github.com/actions/setup-python/pull/1324">actions/setup-python#1324</a></li>
<li>Upgrade dependency versions and test workflow configuration by <a
href="https://github.com/HarithaVattikuti"><code>@​HarithaVattikuti</code></a>
in <a
href="https://redirect.github.com/actions/setup-python/pull/1322">actions/setup-python#1322</a></li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Update advanced-usage.md by <a
href="https://github.com/Dunky-Z"><code>@​Dunky-Z</code></a> in <a
href="https://redirect.github.com/actions/setup-python/pull/811">actions/setup-python#811</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/gowridurgad"><code>@​gowridurgad</code></a>
with <a href="https://github.com/Copilot"><code>@​Copilot</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-python/pull/1303">actions/setup-python#1303</a></li>
<li><a href="https://github.com/jasongin"><code>@​jasongin</code></a>
made their first contribution in <a
href="https://redirect.github.com/actions/setup-python/pull/1324">actions/setup-python#1324</a></li>
<li><a href="https://github.com/Dunky-Z"><code>@​Dunky-Z</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/setup-python/pull/811">actions/setup-python#811</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-python/compare/v6.2.0...v6.3.0">https://github.com/actions/setup-python/compare/v6.2.0...v6.3.0</a></p>
<h2>v6.2.0</h2>
<h2>What's Changed</h2>
<h3>Dependency Upgrades</h3>
<ul>
<li>Upgrade dependencies to Node 24 compatible versions by <a
href="https://github.com/salmanmkc"><code>@​salmanmkc</code></a> in <a
href="https://redirect.github.com/actions/setup-python/pull/1259">actions/setup-python#1259</a></li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="5fda3b95a4"><code>5fda3b9</code></a>
Pin SHA commits and update docs with latest versions (<a
href="https://redirect.github.com/actions/setup-python/issues/1338">#1338</a>)</li>
<li><a
href="4ab7e95f05"><code>4ab7e95</code></a>
Merge pull request <a
href="https://redirect.github.com/actions/setup-python/issues/1337">#1337</a>
from actions/philip-gai/bump-actions-cache-6-2-0</li>
<li><a
href="0f3a009f47"><code>0f3a009</code></a>
Remove the pip-install input (<a
href="https://redirect.github.com/actions/setup-python/issues/1336">#1336</a>)</li>
<li><a
href="f8cf4291c8"><code>f8cf429</code></a>
Migrate to ESM and upgrade dependencies (<a
href="https://redirect.github.com/actions/setup-python/issues/1330">#1330</a>)</li>
<li><a
href="54baeea5b3"><code>54baeea</code></a>
Validate and retry manifest fetch to prevent silent failures (<a
href="https://redirect.github.com/actions/setup-python/issues/1332">#1332</a>)</li>
<li><a
href="c7092773a3"><code>c709277</code></a>
Annotation code fix (<a
href="https://redirect.github.com/actions/setup-python/issues/1335">#1335</a>)</li>
<li><a
href="6849080452"><code>6849080</code></a>
remove EOL Python versions and Bumps numpy text fixture (<a
href="https://redirect.github.com/actions/setup-python/issues/1333">#1333</a>)</li>
<li><a
href="0903b469fb"><code>0903b46</code></a>
Bump certifi from 2020.6.20 to 2024.7.4 in /<strong>tests</strong>/data
(<a
href="https://redirect.github.com/actions/setup-python/issues/1328">#1328</a>)</li>
<li>See full diff in <a
href="https://github.com/actions/setup-python/compare/v6...v7">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-python&package-manager=github_actions&previous-version=6&new-version=7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-23 19:17:36 -07:00
Nikolaj Bjorner
e268a72eb9
Update fstar-master-build.yml 2026-07-23 14:00:09 -07:00