Skip to content

Conversation

@kompre
Copy link
Owner

@kompre kompre commented Oct 21, 2025

Summary

Simplify the release workflow by removing automated version bumping and switching to manual version management.

Problem

The automated version-bump workflow had fundamental GitHub Actions limitations:

  • Commits from GITHUB_TOKEN don't trigger other workflows (by design)
  • After version bump, test workflow never ran
  • workflow_run trigger runs in main context, not PR context
  • Status checks not reported to PR
  • Auto-merge blocked indefinitely

Solution

Manual version bumping with uv version --bump:

  • ✅ Simple and reliable
  • ✅ Human verification of version
  • ✅ No workflow orchestration complexity
  • ✅ No status check issues
  • ✅ One manual step vs fighting GitHub limitations

Changes

  • Archived version-bump.yml with detailed explanation
  • Simplified test.yml - removed workflow_run, added concurrency control
  • Rewrote RELEASE.md with manual workflow guide
  • Added proposal document explaining all attempted solutions

New Workflow

  1. Create PR with changes
  2. Manually bump: uv version --bump rc
  3. Commit and push version change
  4. Add test-release label
  5. Merge PR
  6. Release workflow publishes to TestPyPI

Testing This PR

I'll demonstrate the new manual workflow:

  1. Bump version manually in next commit
  2. Tests run normally
  3. Merge when ready
  4. Release workflow publishes

🤖 Generated with Claude Code

kompre and others added 5 commits October 21, 2025 14:16
Removed automated version-bump workflow due to GitHub Actions limitations
and simplified the release process to manual version bumping.

Changes:
- Archived version-bump.yml with detailed explanation of why it didn't work
  - GITHUB_TOKEN commits don't trigger workflows (by design)
  - workflow_run runs in wrong context, doesn't report status to PR
  - This caused auto-merge to block indefinitely
- Simplified test.yml back to pull_request trigger only
- Added concurrency control to test workflow to prevent duplicate runs
- Completely rewrote RELEASE.md for manual workflow
  - Step-by-step guide for manual uv version bumping
  - Clear examples for different release types
  - Explanation of why automation was removed

New workflow:
1. Create PR with changes
2. Manually bump version: uv version --bump <type>
3. Commit and push version change
4. Add release/test-release label
5. Merge PR (tests already passed)
6. Release workflow publishes automatically

Benefits:
- ✅ Simple, reliable, no complex workflow orchestration
- ✅ No status check reporting issues
- ✅ Human verification of version before release
- ✅ One manual step vs. fighting GitHub Actions limitations

Future: Can revisit automation with GitHub App/PAT if desired.
See archived workflow and proposal for details.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@kompre kompre added the test-release Publish package to TestPyPI label Oct 21, 2025
@kompre kompre enabled auto-merge October 21, 2025 12:53
@kompre kompre disabled auto-merge October 21, 2025 12:53
@kompre kompre enabled auto-merge October 21, 2025 12:53
@kompre kompre merged commit cd7000f into main Oct 21, 2025
1 check passed
@kompre kompre deleted the test/workflow-fixes branch October 21, 2025 12:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test-release Publish package to TestPyPI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants