Skip to content

[Feature]: Create official Github Action workflow #64

Description

@KaykCaputo

Summary

Create an official GitHub Action for OracleTrace to simplify integration with GitHub Actions workflows and make performance regression checks easier to adopt in CI/CD pipelines.

Problem

Although OracleTrace already supports CI-oriented features such as --compare, --threshold, and --fail-on-regression, users currently need to install and invoke the CLI manually within workflow files.

This creates additional setup complexity and increases the barrier to adoption for teams that want automated performance regression detection during pull requests and releases.

Proposed Solution

Create an official GitHub Action that wraps the OracleTrace CLI and exposes the most common options as Action inputs.

Example inputs:

  • target
  • baseline
  • threshold
  • fail-on-regression
  • report-format
  • output-path

The Action should:

  • Install OracleTrace automatically.
  • Execute the requested trace and comparison workflow.
  • Fail the workflow when regressions exceed the configured threshold.
  • Upload generated reports as workflow artifacts.
  • Provide a concise summary in the GitHub Actions job output.

Use Case

A team wants to prevent performance regressions from being merged into the main branch.

When a pull request is opened, GitHub Actions automatically runs OracleTrace against a benchmark suite, compares results against a baseline trace, and fails the workflow if execution time exceeds an allowed threshold.

This allows performance budgets to be enforced in the same way as unit tests and linting checks.

Example (optional)

name: Performance Check

on:
  pull_request:

jobs:
  oracletrace:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4

      - uses: kaykcaputo/oracletrace-action@v1
        with:
          target: benchmark.py
          baseline: baseline.json
          threshold: 10
          fail-on-regression: true

Expected behavior:

OracleTrace Performance Report

Functions analyzed: 42
Regressions detected: 2

⚠ process_data      +18.3%
⚠ calculate_stats  +12.1%

Threshold: 10%

Workflow failed due to performance regression.

Alternatives Considered

  • Continue using manual CLI installation within GitHub Actions workflows.
  • Provide workflow snippets in documentation without maintaining an official Action.
  • Create reusable workflow templates instead of a dedicated Action.

These approaches reduce maintenance effort but do not provide the streamlined user experience of an official Action.

Additional Context

This feature would strengthen OracleTrace's positioning as a performance regression testing tool for CI/CD environments.

Potential future enhancements:

  • Pull request comments with regression summaries.
  • GitHub Step Summary integration.
  • Artifact uploads for HTML reports.
  • Performance trend reporting across workflow runs.

Checklist

  • I searched existing issues before opening this request
  • I described the problem and why this feature is useful
  • I provided enough detail for implementation discussion

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions