Skip to content

[performance] Daily CLI Performance workflow missing Go toolchain setup #11389

@github-actions

Description

@github-actions

Summary

The Daily CLI Performance workflow (.github/workflows/daily-cli-performance.md) cannot run benchmarks because it lacks the necessary Go toolchain setup. The workflow attempts to execute make bench but Go is not available in the execution environment.

Root Cause

The workflow configuration is missing a setup-go action before attempting to run benchmarks. The agent job runs on ubuntu-latest but doesn't include steps to:

  1. Install Go compiler
  2. Build the gh-aw binary
  3. Install development dependencies

Current Behavior

$ which go
bash: type: go: not found

$ make bench
Permission denied and could not request permission from user

Expected Behavior

The workflow should:

  1. Set up Go 1.21+ using actions/setup-go@v5
  2. Install dependencies with make deps
  3. Build the binary with make build
  4. Run benchmarks with make bench
  5. Store results in repo-memory

Proposed Solution

Add the following steps before the Copilot agent execution in .github/workflows/daily-cli-performance.md:

---
description: Daily CLI Performance - Runs benchmarks, tracks performance trends, and reports regressions
on:
  schedule: daily
  workflow_dispatch:
permissions:
  contents: read
  issues: read
  pull-requests: read
tracker-id: daily-cli-performance
engine: copilot
jobs:
  setup:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
      - uses: actions/setup-go@v5
        with:
          go-version: '1.21'
      - name: Install dependencies
        run: make deps
      - name: Build binary
        run: make build
      - name: Upload binary
        uses: actions/upload-artifact@v4
        with:
          name: gh-aw-binary
          path: gh-aw
tools:
  repo-memory:
    branch-name: memory/cli-performance
    description: "Historical CLI compilation performance benchmark results"
    file-glob: ["memory/cli-performance/*.json", "memory/cli-performance/*.jsonl", "memory/cli-performance/*.txt"]
    max-file-size: 512000
  bash:
  edit:
  github:
    toolsets: [default, issues]
safe-outputs:
  create-issue:
    title-prefix: "[performance] "
    labels: [performance, automation, cookie]
    max: 3
    group: true
  add-comment:
    max: 5
timeout-minutes: 20
strict: true
imports:
  - shared/reporting.md
---

Alternative approach: Modify the agent instructions to download and use pre-built binaries from the latest release, or use a self-hosted runner with Go pre-installed.

Impact

  • Current: Daily performance benchmarks cannot run, no trend analysis, no regression detection
  • After fix: Automated daily benchmarks will track performance over time and alert on regressions

Additional Context

  • Run ID: §21266633406
  • Workflow: .github/workflows/daily-cli-performance.md
  • Error: Go compiler not found in PATH, make commands fail with permission denied

Recommendation

This is a workflow configuration issue, not a code bug. The fix requires updating the workflow frontmatter to include proper build tooling setup before attempting to run benchmarks.

AI generated by Daily CLI Performance Agent

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions