Skip to content

chore: python cron fix [DO NOT MERGE YET] - #2990

Closed
caroger wants to merge 22 commits into
mainfrom
test-python-cron-slack
Closed

chore: python cron fix [DO NOT MERGE YET]#2990
caroger wants to merge 22 commits into
mainfrom
test-python-cron-slack

Conversation

@caroger

@caroger caroger commented Apr 13, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • harden Python canary auto-fix Slack notifications by moving PR notification into a separate downstream job
  • resolve PRs by branch, run ID, or the most recently updated Claude canary PR, including closed or reused PRs
  • normalize timeout messaging when Claude reports success before GitHub marks the job cancelled
  • require local pinned and -latest tox verification before auto-fix opens or updates a PR
  • upgrade GitHub Action pins used here to Node 24-safe versions

Validation

  • exercised the timeout/notifier path with runs 24369944541 and 24371429007
  • latest run confirmed the downstream notifier still executes after auto-fix times out
  • underlying Claude auto-fix hang is still unresolved

Manual test

gh workflow run python-cron.yaml --ref test-python-cron-slack
RUN_ID=$(gh run list --workflow "Python Canary Cron" --branch test-python-cron-slack --event workflow_dispatch --limit 1 --json databaseId --jq '.[0].databaseId')
gh run watch "$RUN_ID"

Check the jobs we care about:

gh run view "$RUN_ID" --json jobs \
  --jq '.jobs[] | select(.name=="Propose fix for failures" or .name=="Slack auto-fix PR notification" or .name=="Slack notification") | {name,status,conclusion,url}'

If auto-fix times out, inspect the logs:

AUTO_FIX_JOB=$(gh run view "$RUN_ID" --json jobs --jq '.jobs[] | select(.name=="Propose fix for failures") | .databaseId')
PR_NOTIFY_JOB=$(gh run view "$RUN_ID" --json jobs --jq '.jobs[] | select(.name=="Slack auto-fix PR notification") | .databaseId')

gh run view "$RUN_ID" --job "$AUTO_FIX_JOB" --log | rg '"type": "result"|"subtype": "success"|The operation was canceled'
gh run view "$RUN_ID" --job "$PR_NOTIFY_JOB" --log | rg 'Auto-fix|Claude reported|no PR was found|Send message to Slack'

@caroger
caroger requested a review from a team as a code owner April 13, 2026 23:16
@dosubot dosubot Bot added the size:S This PR changes 10-29 lines, ignoring generated files. label Apr 13, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

@caroger
caroger requested a review from nate-mar April 13, 2026 23:43
@dosubot dosubot Bot added size:M This PR changes 30-99 lines, ignoring generated files. and removed size:S This PR changes 10-29 lines, ignoring generated files. labels Apr 14, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

@caroger caroger closed this Apr 14, 2026
@caroger caroger reopened this Apr 14, 2026
@caroger caroger changed the title chore: python cron fix chore: python cron fix [DO NOT MERGE YET] Apr 14, 2026
@caroger caroger closed this Jun 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M This PR changes 30-99 lines, ignoring generated files.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant