Skip to main content

forgesight-github

The GitHub Actions integration for ForgeSight. One line in your CI entry script correlates every agent run with the commit / PR / job / workflow that triggered it, and writes a cost+duration+status summary to the job page.

pip install forgesight-github
from forgesight_github import bootstrap
bootstrap()   # configure() + attach GITHUB_* metadata + job summary on exit

# Unchanged agent code — every run in this job is now correlated and flushed cleanly.
result = await pr_reviewer.run(task)
# .github/workflows/review.yml
jobs:
  review:
    runs-on: ubuntu-latest
    permissions:
      id-token: write          # only if using OIDC exporter auth
    steps:
      - uses: actions/checkout@v4
      - run: pip install forgesight-github
      - run: python review_agent.py
        env:
          FORGESIGHT_EXPORTERS: otlp
          FORGESIGHT_OTLP_ENDPOINT: ${{ vars.OTEL_COLLECTOR }}

What you get

  • Run↔commit/PR/job link for free. Every run carries vcs.repository.name, vcs.ref.head.revision (sha), vcs.ref.head.name (ref), vcs.change.id (PR number), cicd.pipeline.run.id / .attempt, cicd.pipeline.name (workflow), and cicd.pipeline.task.name (job) as run-scoped metadata (FR-5), so "agent spend on PR #1234" or "spend by workflow" is a one-line backend query.
  • PR number resolved correctly. Parsed from the event payload JSON ($GITHUB_EVENT_PATH) for pull_request* events — absent (not fabricated) otherwise.
  • A useful job summary, automatically. A markdown block — status · cost_usd · duration_ms · n_tool_calls — is appended to $GITHUB_STEP_SUMMARY on exit. Best-effort; never fails the job.
  • Zero lost CI telemetry. An atexit hook calls force_flush() + shutdown() so the ephemeral runner never drops the buffered batch.
  • Safe exporter auth (opt-in). bootstrap(oidc=True) fetches the runner's short-lived OIDC id-token (requires id-token: write) instead of a static secret; falls back to configured auth if unavailable.
  • Runs locally too. Outside CI (GITHUB_ACTIONS unset) it falls back to a plain configure() and warns once.

Configuration

Key Env Default
write_summary FORGESIGHT_GITHUB_SUMMARY true
oidc — (kwarg) false
capture_env — (kwarg) the documented GITHUB_* set

License

Apache-2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

forgesight_github-0.1.1.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

forgesight_github-0.1.1-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file forgesight_github-0.1.1.tar.gz.

File metadata

  • Download URL: forgesight_github-0.1.1.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for forgesight_github-0.1.1.tar.gz
Algorithm Hash digest
SHA256 20c3246cf34857a02fef80f0fdba2a04da25d7fd4b420315dccd6b074eb85d6c
MD5 4c1cfe49b320f91573cc1822f0bf794e
BLAKE2b-256 d474c83357fed4a5986cde6b22ae0c6f8f67781bded9c1a9b7c7ccdcc404540d

See more details on using hashes here.

File details

Details for the file forgesight_github-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for forgesight_github-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 33fb994f80dabb18fb7e34a896139645201095eaa3cfae64b24198f72f5fc501
MD5 bad2659b1a7675df82d1386e25899afd
BLAKE2b-256 70a6c7b9e5ad5b7f9989414f2d21e17fae6d186c2a79404be5d97f92d9acbd34

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page