{"id":27735023,"url":"https://github.com/liamg/go-benchmark-pr-action","last_synced_at":"2025-04-28T13:47:44.482Z","repository":{"id":272612133,"uuid":"917171046","full_name":"liamg/go-benchmark-pr-action","owner":"liamg","description":"Go benchmark PR action","archived":false,"fork":false,"pushed_at":"2025-03-25T12:57:51.000Z","size":215,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-23T22:47:48.067Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/liamg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["liamg"]}},"created_at":"2025-01-15T13:46:30.000Z","updated_at":"2025-03-25T12:57:20.000Z","dependencies_parsed_at":"2025-01-15T16:29:01.424Z","dependency_job_id":null,"html_url":"https://github.com/liamg/go-benchmark-pr-action","commit_stats":null,"previous_names":["liamg/go-benchmark-pr-action"],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liamg%2Fgo-benchmark-pr-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liamg%2Fgo-benchmark-pr-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liamg%2Fgo-benchmark-pr-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/liamg%2Fgo-benchmark-pr-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/liamg","download_url":"https://codeload.github.com/liamg/go-benchmark-pr-action/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251321950,"owners_count":21570825,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-28T13:47:43.824Z","updated_at":"2025-04-28T13:47:44.473Z","avatar_url":"https://github.com/liamg.png","language":"Go","funding_links":["https://github.com/sponsors/liamg"],"categories":[],"sub_categories":[],"readme":"# go-benchmark-pr-action\n\n\u003e [!WARNING]  \n\u003e This was hacked together on my lunch break. You probably don't want to use it yet.\n\nThis is a simple GitHub action that runs benchmarks on both the head and base branch when a PR is submitted/updated.\n\nIt will post a comment showing the before/after changes, and can be configured to fail the PR check if certain regression thresholds are breached.\n\n![screenshot](screenshot.png)\n\n## Example Usage\n\n```yml\nname: Benchmarks\non:\n  pull_request:\n\njobs:\n  benchmark:\n    name: Performance regression check\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - uses: actions/setup-go@v4\n        with:\n          go-version: \"stable\"\n      - uses: liamg/go-benchmark-pr-action@v1\n        with:\n          token: ${{ secrets.GITHUB_TOKEN }}\n          duration_threshold: 10 # +10% regression\n```\n\n## Configuration\n\n| Name | Description | Default | Required |\n| ---- | ----------- | :-----: | :------: |\n| token | Github token with permission to write PR comments | | Yes | \n| duration_threshold | Threshold for duration regression in % (use 0 for no threshold check) | `0` | No |\n| memory_threshold | Threshold for memory-usage  regression in % (use 0 for no threshold check) | `0` | No |\n| allocs_threshold | Threshold for allocation count  regression in % (use 0 for no threshold check) | `0` | No |\n| benchmark_pattern | Pattern passed to the `-bench` option of `go test` | `.` | No |\n| benchmark_package | Package to run benchmarks for e.g. `internal` | `./...` | No | \n| benchmark_seconds | Duration to run each benchmark for | 1 | No |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliamg%2Fgo-benchmark-pr-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fliamg%2Fgo-benchmark-pr-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fliamg%2Fgo-benchmark-pr-action/lists"}