Skip to content

P4: Replace the broken publish pipeline (git-committed files + tiny pointer dispatch) #165

Description

@FumingPower3925

Part of #151.

Problems.

  1. 4 mismatched event typesPublish() sends celeris-bench, PublishValidate() sends celeris-validate, publish-results.yml sends results-updated, docs listener sync-benchmarks.yml fires only on benchmark-updated. Nothing lines up → listener never triggers.
  2. Payload too bigPublish() inlines ~650 KB results.json into a repository_dispatch client_payload capped at ~64 KB (10× over). With time-series it's multi-MB.
  3. The docs listener does nothing useful even when fired (logs + ls).
  4. Existing results/ data was committed by an orphaned github-actions[bot] path no current workflow reproduces.

Goal. Working, scalable publish: probatorium writes the result tree (#165 layout) and git pushes it to goceleris/docs, then sends a tiny pointer dispatch ({version, arch, date, run_id, path}) the docs side uses to update index.json + latest/ and (later) trigger the website rebuild.

Scope.

  • Rewrite mage Publish to commit files (contents API or push) instead of inlining JSON.
  • Single canonical event type; both repos agree.
  • docs-side workflow: update index.json, refresh latest/, validate schema, (optionally) dispatch to the website.
  • gzip + downsampled series in-tree; document the R2/S3-with-manifests escape hatch if git history bloats.

Acceptance. A bench run end-to-end lands committed files in goceleris/docs under #165 layout, updates index.json, refreshes latest/.

Refs: probatorium mage_publish.go, .github/workflows/publish-results.yml; docs .github/workflows/sync-benchmarks.yml.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions