3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-06-10 19:07:18 +00:00
Commit graph

9 commits

Author SHA1 Message Date
Nikolaj Bjorner
32e50e014e
Update default fstar_otherflags for build workflow 2026-06-09 06:58:11 -07:00
Copilot
353131c7f0
Publish generated SMT2 outputs in FStar master build discussions (#9790)
This updates `fstar-master-build.yml` so generated `.smt2` files are
preserved and discoverable from the build discussion. The discussion now
links the artifact and includes an inline preview of each generated SMT2
file (first 1000 lines).

- **SMT2 collection and packaging**
- Added an always-run step to recursively find generated `*.smt2` files
under the FStar checkout.
- Copies discovered files into a dedicated artifact staging directory
while preserving relative paths.

- **Artifact publication**
- Added artifact upload for collected SMT2 files
(`fstar-generated-smt2-${{ github.run_id }}`).
  - Exposes uploaded artifact metadata to downstream steps for linking.

- **Discussion enrichment**
  - Extended discussion body generation to include:
    - direct artifact link (when SMT2 files exist),
    - inline preview blocks with the first 1000 lines per file,
    - fallback messaging when no SMT2 files are produced.
- Added size-aware truncation to keep discussion content within GitHub
body limits.

```yaml
- name: Upload generated SMT2 artifact
  id: upload_smt2
  if: always() && steps.collect_smt2.outputs.has_files == 'true'
  uses: actions/upload-artifact@v4
  with:
    name: fstar-generated-smt2-${{ github.run_id }}
    path: /tmp/gh-aw/agent/smt2-artifact
```

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-08 23:24:02 -07:00
Copilot
c174df4071
Allow FStar build failures without blocking build-and-report workflow progression (#9769)
`build-and-report` was failing hard when the `Build FStar` step hit
prover regressions, preventing downstream reporting from running. This
change makes FStar failures non-blocking and ensures the reporting path
still executes with an explicit FStar outcome.

- **Workflow failure propagation**
  - Marked `Build FStar` as non-blocking:
    - added `id: build_fstar`
    - added `continue-on-error: true`

- **Guaranteed reporting execution**
- Made the summary step unconditional with `if: always()` so it runs
even when FStar fails.

- **Robust summary generation**
  - Passed step outcome into the script (`FSTAR_BUILD_OUTCOME`).
  - Hardened file reads for missing FStar artifacts/version files.
- Report body now reflects actual FStar outcome (`success` vs
non-success) while preserving pipeline continuity.

```yaml
- name: Build FStar
  id: build_fstar
  continue-on-error: true
  run: |
    # existing FStar build commands

- name: Create discussion summary
  if: always()
  env:
    FSTAR_BUILD_OUTCOME: ${{ steps.build_fstar.outcome }}
  uses: actions/github-script@v9
```

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-08 11:21:54 -07:00
Nikolaj Bjorner
42e6ec5644
Update fstar-master-build.yml 2026-06-08 10:30:37 -07:00
Nikolaj Bjorner
3bba379ddf
Update fstar-master-build.yml 2026-06-08 10:04:34 -07:00
Nikolaj Bjorner
bbadf919e7
Update fstar-master-build.yml 2026-06-08 09:51:46 -07:00
Copilot
241c6211d6
Fix build-and-report failure by removing unsupported default FStar HO-matching flag (#9748)
The `build-and-report` workflow failed in `build-and-report` because
FStar was invoked with a default `OTHERFLAGS` value containing
`--smt.ho_matching true`, which current FStar no longer recognizes. This
change removes that default while keeping the input configurable for
manual runs.

- **Root cause**
- Workflow default `fstar_otherflags` was set to `--smt.ho_matching
true`.
- During `make`, FStar exited with `error: unrecognized option
'--smt.ho_matching'` (job `79905082893`).

- **Workflow changes**
  - Updated `.github/workflows/fstar-master-build.yml`:
- `workflow_dispatch.inputs.fstar_otherflags.default` changed from
`--smt.ho_matching true` to `""`.
- Job env fallback `FSTAR_OTHERFLAGS` changed from `--smt.ho_matching
true` to `""`.
- Removed the outdated option example from the `fstar_otherflags` input
description.

- **Resulting behavior**
- Default scheduled/manual workflow runs no longer pass unsupported
FStar flags.
- Custom flags can still be provided via `fstar_otherflags` when needed.

```yaml
fstar_otherflags:
  description: "Extra FStar OTHERFLAGS"
  required: false
  default: ""

# ...
FSTAR_OTHERFLAGS: ${{ github.event.inputs.fstar_otherflags || '' }}
```

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-06 15:26:49 -07:00
Copilot
69c3b2e5a4
fix(ci): initialize FStar submodules in fstar-master-build workflow (#9746)
The `Build FStar master with Z3 master` workflow was failing because
FStar's `karamel` submodule was not present after a shallow clone,
causing `make` to abort immediately.

## Change

- Added `--recurse-submodules` to the `git clone` call for FStar in
`.github/workflows/fstar-master-build.yml`

```diff
-git clone --depth=1 --branch "$FSTAR_REF" https://github.com/FStarLang/FStar.git /tmp/gh-aw/agent/FStar
+git clone --depth=1 --recurse-submodules --branch "$FSTAR_REF" https://github.com/FStarLang/FStar.git /tmp/gh-aw/agent/FStar
```

Failing run:
https://github.com/Z3Prover/z3/actions/runs/27072072789/job/79903014692

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-06 13:20:12 -07:00
Copilot
60ae0a81b7
Replace agentic F* build pipeline with standard GitHub Actions workflow (#9745)
This change replaces the existing agentic workflow with a standard
GitHub Actions workflow that builds Z3 and then builds FStar against
that Z3. The workflow remains parameterized for both toolchains and
supports exercising `smt.ho_matching` via configurable Z3 runtime args
and FStar `OTHERFLAGS`.

- **Workflow migration (agentic → standard)**
- Replaced `.github/workflows/fstar-master-build.md` + `.lock.yml` with
a single native workflow: `.github/workflows/fstar-master-build.yml`.
- Removed dependency on agentic frontmatter, safe-outputs, and
runtime-import flow.

- **Configurable build inputs**
  - Added `workflow_dispatch` inputs for:
    - `z3_ref`, `z3_cmake_args`, `z3_runtime_args`
    - `fstar_ref`, `fstar_opam_switch`, `fstar_otherflags`
    - `discussion_category`
  - Defaults preserve the requested ho-matching exercise path:
    - `z3_runtime_args: smt.ho_matching=true`
    - `fstar_otherflags: --smt.ho_matching true`

- **Build and integration flow**
  - Builds Z3 from configured ref in `build/release` with CMake+Ninja.
- Clones/builds FStar from configured ref, wiring it to the just-built
Z3 (including version override and PATH aliases expected by FStar).

- **Discussion reporting without agents**
  - Adds an `actions/github-script` step that:
    - resolves discussion category ID by name,
- posts a summary discussion with inputs, produced versions, commit, and
workflow run URL.

- **Failure diagnostics hardening**
- Added explicit failure messages for missing parsed Z3 version and
missing FStar executable.
  - Added defensive handling when parsing generated version text.

```yaml
on:
  workflow_dispatch:
    inputs:
      z3_runtime_args:
        default: "smt.ho_matching=true"
      fstar_otherflags:
        default: "--smt.ho_matching true"
```

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-06 12:44:11 -07:00