Skip to content

ci: link the dependency refresh from an issue instead of opening its PR - #102

Merged
yonghakim merged 1 commit into
mainfrom
claude/intelligent-pascal-1l76by
Oct 27, 2026
Merged

yonghakim merged 1 commit into
mainfrom
claude/intelligent-pascal-1l76by

Conversation

@yonghakim

Copy link
Copy Markdown
Contributor

Why

The Monday refresh job in latest-deps.yml (from #101) opens its pull request with the workflow token. That needs "Allow GitHub Actions to create and approve pull requests", and the setting cannot be enabled for this repository, so the job would fail at that step.

What changes

  • The refresh job pushes the branch from main (deps/ci-constraints-<date>-<run>) and deletes older refresh branches.
  • It opens or updates one issue, "Newer dependency versions are ready to record". The issue lists the changed versions and links to a pull request from that branch, with the title pre-filled.
  • A person opens the pull request from that link. Because a person opens it, its required CI runs on its own; a pull request the workflow token opened would not run CI.
  • Merge the pull request when it is green. If it is red, close it: the recorded versions stay, and the next refresh offers newer ones.
  • A pull request opened from an older refresh branch is closed as superseded. One that records exactly the new versions is left alone.
  • The issue closes itself once main records the newest versions.
  • docs/development/verification.md is updated in English and Korean.

The daily canary and its failure issue are unchanged.

Checks (Linux, Python 3.12.3)

  • The refresh script was dry-run against a scratch repository with a bare remote and gh stubbed, in four cases:
    1. Nothing new: the issue closes and the old branch is deleted.
    2. Newer versions, no PR: a branch is pushed, the issue is opened with the link, and the old branch is deleted.
    3. An open PR with the same versions: nothing happens.
    4. An open PR with older versions: it is closed, a new branch is pushed, the issue is commented, and the old branch is deleted.
  • actionlint plus shellcheck: one informational note (backticks in a single-quoted printf format, intended).
  • test_ci_constraints.py + test_docs_contract.py: 176 passed, 1 skipped. ruff check . is clean.
  • The English and Korean Sphinx builds succeed with no warnings other than the sandbox's unreachable intersphinx inventories.

Generated by Claude Code

The refresh job opened its pull request with the workflow token, which
needs "Allow GitHub Actions to create and approve pull requests". That
setting cannot be enabled for this repository, so the Monday refresh would
fail at that step.

The job now pushes the branch from main, deletes older refresh branches,
and opens or updates one issue ("Newer dependency versions are ready to
record") that lists the changes and links to the pull request from that
branch. A person opens the pull request, which also means its required CI
runs on its own; one the workflow token opened would not. A pull request
opened from an older refresh branch is closed as superseded, one that
records exactly the new versions is left alone, and the issue closes once
main records the newest versions.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EsCWziLSzoAVuBy4pCV7J6
@yonghakim
yonghakim marked this pull request as ready for review October 27, 2026 05:47
@yonghakim
yonghakim enabled auto-merge (rebase) October 27, 2026 05:47
@yonghakim
yonghakim merged commit 1f27cce into main Oct 27, 2026
77 checks passed
@yonghakim
yonghakim deleted the claude/intelligent-pascal-1l76by branch October 27, 2026 06:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants