2ndkauboy/Antispam Bee detection comparison
Replay a comment corpus through the current version-preparation branch and a resolved baseline release of Antispam Bee, and diff the spam/ham verdicts.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Aug 26, 2026
- License
- None
Pinned Snippet
uses: 2ndkauboy/asb-detection-compare@fae80ff70deaff7c82a94734e4459402d97c951e # v1.9.0tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| php-version | PHP version to run the comparison on. | — | 8.2 |
| baseline-ref | Explicit baseline tag/ref. When empty, it is resolved from the branch name. | — | "" |
| branch | Branch name used to resolve the baseline (defaults to the triggering ref). | — | "" |
| plugin-dir | Path to the Antispam Bee checkout / HEAD (defaults to the workspace). | — | "" |
| fail-on-flips | Fail the job when there is at least one spam/ham flip. | — | true |
| workers | Parallel classifier processes. | — | 2 |
| corpus-file | Path to a corpus .sql dump (defaults to the bundled fixture). | — | "" |
| corpus-url | URL to download the corpus from (.sql or .sql.gz). Overrides the bundled fixture. Use a secret for release runs. | — | "" |
| corpus-auth | Optional Authorization header value used when downloading corpus-url (e.g. "Bearer <token>"). | — | "" |
| db-host | MySQL host. Use 127.0.0.1 for a service on the runner, or the service name for a container job. | — | 127.0.0.1 |
| db-port | MySQL port. | — | 3306 |
| db-user | MySQL root user. | — | root |
| db-pass | MySQL root password. | — | root |
| wp-version | WordPress core version to install. Pin it to keep published baseline snapshots valid across WordPress releases; "latest" tracks the newest. | — | latest |
| use-baseline-snapshot | Reuse the verdict snapshot published on the baseline release instead of classifying the baseline again. Falls back to classifying when there is no usable snapshot. | — | true |
| snapshot-repo | Repository whose releases carry the snapshots (default: this repository). | — | "" |
| snapshot-salt | Optional extra secret mixed into the snapshot pseudonyms. Must be identical for the run that publishes a snapshot and the runs that consume it. | — | "" |
| corpus-id | Override the computed corpus fingerprint (pins snapshot identity by hand). | — | "" |
| corpus-label | Cosmetic segment in the snapshot asset name (auto: "fixture" or "private"). | — | "" |
| max-flips-listed | Cap on how many individual flips are listed in the report. | — | 50 |
| lang-api | Run a local franc-based language service and compare the LangSpam rule against it. Without this the rule stays off, because it would otherwise call a public API once per eligible comment. | — | false |
| lang-api-workers | Processes for that service. The classifier calls it synchronously, so this should match `workers`; defaults to it. | — | "" |
| options-file | Option fixture to apply to both builds. Defaults to the bundled 3.x set, or its LangSpam variant when `lang-api` is on. | — | "" |
| buffer-pool | InnoDB buffer pool to request from the database before classifying. The container default of 128 MB is far smaller than the working set and causes a severe slowdown part-way through a full-corpus run. Empty to leave the server untouched. | — | 1G |
| github-token | Token used to look up the baseline snapshot on the release. | — | ${{ github.token }} |
Outputs
| name | description |
|---|---|
| baseline | The baseline tag the branch was compared against. |
| baseline-sha | The commit the baseline resolved to. |
| baseline-source | "release-asset" when a published snapshot was reused, "classified" otherwise. |
| flips | Number of spam/ham decision flips between baseline and HEAD. |
| compared | Number of comments present on both sides. |
| only-in-baseline | Comments classified by the baseline but not by HEAD. |
| only-in-head | Comments classified by HEAD but not by the baseline. |
| reason-diffs | Same decision, different rule — informational. |
| snapshot-file | Path to this run's own verdict snapshot, ready to be uploaded as an artifact and later attached to the release. Empty when the snapshot may not be published. |
| report-markdown | Path to the comparison report rendered as Markdown, ready to post as a pull-request comment. Carries an `asb-detection-compare` HTML marker so a comment can be updated in place rather than posted again per run. |
| baseline-snapshot-file | Path to the baseline's verdict snapshot, when the baseline was a tag and had to be classified in this run. Attach it to that tag's release so later runs can reuse it. Empty when the baseline was already published or is a branch. |