Repository navigation
Release binaries for 68000, 68020 and 68040, geomean, command-line order - #2
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 88cb948037
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
| TAG: ${{ github.ref_name }} | ||
| run: | | ||
| git tag -l --format='%(contents:body)' "$TAG" > notes.md |
There was a problem hiding this comment.
Preserve annotated tag subjects in release notes
Under the usual git tag -a v1.0 -m "summary" usage that this workflow asks for, the annotation has no body beyond its subject, so %(contents:body) writes an empty notes.md. gh release create --notes-file then reads that empty file and publishes a release without the tag message; use %(contents) or --notes-from-tag instead.
Useful? React with 👍 / 👎.
| if (nselected < NBENCHES) | ||
| selected[nselected++] = BENCHES[j]; |
There was a problem hiding this comment.
Reject benchmark lists that exceed the fixed buffer
When a user supplies more than 15 valid name arguments—for example, by repeating a benchmark to make a sequence—the guard drops every name after the 15th but returns success. The output and geomean then omit requested runs, silently reporting the wrong workload set; report an error or retain all requested names instead.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Benchmark arguments can be silently dropped, and one-line tag messages produce empty release notes.
Review effort: Balanced
Findings: 2
Open (2)
What changed in this PR
Adds ordered benchmark execution, geometric-mean reporting, version banners, and automated multi-CPU releases.
Changes:
- Preserves command-line benchmark order and reports geomean timing.
- Builds 68000, 68020, and 68040 release binaries.
- Adds build and tagged-release workflows.
| File | Description |
|---|---|
src/main.c |
Adds ordering, geomean, and version output. |
README.md |
Documents output and release binaries. |
Makefile |
Adds version metadata and release targets. |
.github/workflows/build.yml |
Builds binaries on branches and PRs. |
.github/workflows/binaries.yml |
Builds and uploads CPU-specific binaries. |
.github/workflows/release.yml |
Publishes binaries for version tags. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
| TAG: ${{ github.ref_name }} | ||
| run: | | ||
| git tag -l --format='%(contents:body)' "$TAG" > notes.md |
| if (nselected < NBENCHES) | ||
| selected[nselected++] = BENCHES[j]; |
42591db to
a59fa4b
Compare
Named benchmarks now run in the order given rather than in table order, and a run of more than one ends with the geometric mean of the fastest iterations. The banner names the BenchWork version next to the compiler. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
"make release" builds benchwork-000, -020 and -040; the Build workflow builds them on every push with a pinned m68k-amigaos-gcc release, and the Release workflow attaches the bare executables to a tag's release. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
"CC ?=" never applied because make predefines CC; only a CC passed explicitly worked, which the README did not say. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

Two commits:
git describe) next to the compiler.make releasebuildsbenchwork-000,benchwork-020andbenchwork-040(-m68040 -mhard-float). The Build workflow builds them on every push with m68k-amigaos-gcc 16.2-rc13, pinned inbinaries.yml; the Release workflow attaches the bare executables to av*tag's release, with the tag message as the notes.Checked under volamos: the three binaries run, order and geomean come out as expected, checksums unchanged.