🌀 [just] gh-process v4.1 adds release_age, latest_claude, and again recipes#52
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the gh-process justfile recipes from v4.0 to v4.1, introducing three new utility recipes for enhanced PR and release management workflows.
Key Changes:
- Added automated Claude code review integration to the PR checks workflow
- Introduced a release age monitoring recipe to track time since last release
- Created a convenience recipe to streamline the push-update-check cycle
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| # watch GHAs then check for Copilot suggestions | ||
| [group('Process')] | ||
| pr_checks: _on_a_pull_request | ||
| pr_checks: _on_a_pull_request && claude_review |
There was a problem hiding this comment.
The recipe chain pr_checks → claude_review creates a dependency where pr_checks always runs claude_review, but the comment at line 188 says 'chains to claude_review' suggesting optional behavior. Consider whether this should be optional or if the comment should clarify this is a required dependency.
| again: | ||
| git push | ||
| just pr_update | ||
| sleep 2 |
There was a problem hiding this comment.
The hardcoded 2-second sleep may be insufficient for GitHub's API to process the push before running checks. Consider increasing this to 5 seconds or using a more robust wait mechanism that polls for the push completion.
| sleep 2 | |
| # Wait for GitHub to register the pushed commit before running checks | |
| # Poll for up to 60 seconds, checking every 2 seconds | |
| branch=$(git rev-parse --abbrev-ref HEAD) | |
| local_sha=$(git rev-parse HEAD) | |
| timeout=60 | |
| interval=2 | |
| elapsed=0 | |
| while true; do | |
| remote_sha=$(gh api repos/:owner/:repo/commits/$branch --jq .sha 2>/dev/null || echo "") | |
| if [[ "$remote_sha" == "$local_sha" ]]; then | |
| break | |
| fi | |
| if [[ $elapsed -ge $timeout ]]; then | |
| echo "Timed out waiting for GitHub to register the pushed commit." | |
| exit 1 | |
| fi | |
| sleep $interval | |
| elapsed=$((elapsed + interval)) | |
| done |
| echo "Latest release: {{CYAN}}$release_tag{{NORMAL}}" | ||
| echo "Published: {{CYAN}}$release_date{{NORMAL}}" | ||
|
|
||
| if [[ $days_old -gt 60 ]]; then |
There was a problem hiding this comment.
The 60-day threshold for release age warnings is a magic number. Consider extracting this to a variable (e.g., warning_threshold_days=60) at the top of the recipe to make it more maintainable and self-documenting.
Code Review: gh-process v4.1I've reviewed PR #52 and overall the changes look good! This update adds three useful recipes and improves the workflow automation. Here's my detailed feedback: ✅ Strengths
🔍 Code Quality Observationsrelease_age recipe (.just/gh-process.just:328-392):
again recipe (.just/gh-process.just:394-400):
claude_review recipe (.just/gh-process.just:190-197):
🐛 Potential Issues
🔒 Security Considerations
⚡ Performance Considerations
🧪 Test CoverageObservation: There are no automated tests for these justfile recipes. Consider:
📝 DocumentationMinor suggestion: The version bump comment at line 16 (
🎯 Best Practices✅ Following established patterns:
✅ Version semantics:
SummaryThis is a solid contribution that enhances the workflow automation. The code is well-written, cross-platform compatible, and follows the repository's established patterns. My suggestions are minor improvements rather than blockers. Recommendation: ✅ Approve with minor suggestions The changes are production-ready. The suggestions above are optional enhancements that could be addressed in a future PR if desired. |
Done
Meta
(Automated in
.just/gh-process.just.)