Conversation
Only 16 benchmarks across 3 packages (dateparse, names, output), but the collect step iterated all 30+ packages at 3s each — 5+ minutes of CI time for a profile of code that isn't on any hot path. A CLI that spends its time waiting on HTTP gets no measurable benefit from PGO. Removes: release workflow step, GoReleaser -pgo=auto flag, Makefile targets (build-pgo, collect-profile, clean-pgo), collect-profile.sh script, and .gitignore entry.
Sensitive Change Detection (shadow mode)This PR modifies control-plane files:
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e4f072cdcd
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
1 issue found across 5 files
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name="Makefile">
<violation number="1" location="Makefile:255">
P2: The `bench-cpu` and `bench-mem` targets still print `"Note: For full multi-package profiling, use 'make collect-profile'"` (Makefile lines 114 and 125), but the `collect-profile` target was removed in this PR. These echo lines should be deleted or reworded so they don't reference a non-existent target.</violation>
</file>
Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.
v0.3.0 removals acknowledged; reset for next release cycle.
There was a problem hiding this comment.
Pull request overview
Removes Profile-Guided Optimization (PGO) generation/usage from the release pipeline and local tooling to speed up releases and simplify builds.
Changes:
- Drops the “Collect PGO profile” step from the GitHub release workflow.
- Removes
-pgo=autoand related PGO hooks from GoReleaser. - Deletes PGO-related Makefile targets/flags and removes the profile collection script and
.gitignoreentry.
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
scripts/collect-profile.sh |
Deletes the benchmark-based profile collection script. |
Makefile |
Removes PGO flags/targets and updates clean-all/help output accordingly. |
.goreleaser.yaml |
Removes PGO detection hook and -pgo=auto build flag. |
.gitignore |
Removes ignore rule for default.pgo. |
.github/workflows/release.yml |
Removes the PGO profiling/merge step from the release workflow. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary
-pgo=autofrom GoReleaser build flagsbuild-pgo,collect-profile,clean-pgoscripts/collect-profile.sh.gitignoreentry fordefault.pgoTest plan
make checkpasses (fmt, vet, lint, unit tests, e2e tests, surface check)make buildproduces binary without PGO flagsSummary by cubic
Remove PGO from the release pipeline and build tooling to cut ~5 minutes from each release. Binaries are now built without PGO.
.github/workflows/release.yml-pgo=autofrom.goreleaser.yamlbuild-pgo,collect-profile,clean-pgo) andscripts/collect-profile.sh; remove stalecollect-profilenotes/help and updateclean-allto remove profiling/benchmark artifacts.gitignoreentry fordefault.pgo.surface-breakingfor v0.3.1Written for commit d0e65b3. Summary will update on new commits.