Skip to content

Conversation

JnyJny
Copy link
Owner

@JnyJny JnyJny commented Jul 26, 2025

Summary

Add a comprehensive GitHub Actions workflow for the cookiecutter template repository that provides automated testing and GitHub releases with changelog generation, without PyPI publishing.

Changes

Added GitHub Actions Workflow (release.yaml)

  • Testing: Validates template across Python 3.11, 3.12, 3.13
  • Auto-changelog: Uses BobAnkh/auto-generate-changelog for structured CHANGELOG.md updates
  • GitHub Releases: Creates releases for semantic version tags with auto-generated release notes
  • No PyPI Publishing: Template is not a package, so no PyPI deployment

Workflow Triggers

  • Pull Requests to main (tests only)
  • Push to main (tests only)
  • Semantic Version Tags (v1.0.0, v1.2.3, etc.) - tests + release
  • Manual Dispatch for on-demand runs

Integration with Existing Tools

  • Uses existing poe test_fast for efficient testing (26 tests, ~25 seconds)
  • Aligns with existing poe release tasks (release_patch, release_minor, release_major)
  • Leverages the same patterns used in generated project workflows

Usage

To create a new release:

# Use existing poe tasks to bump version and create tag
poe release_patch   # or release_minor, release_major

# Or manually create and push a tag
git tag v1.0.0
git push origin v1.0.0

The workflow will automatically:

  1. Run template tests to ensure quality
  2. Update CHANGELOG.md with structured changelog
  3. Create GitHub release with release notes
  4. Commit changelog updates back to repository

Benefits

  • Quality Assurance: All releases are tested across multiple Python versions
  • Automation: Eliminates manual release note creation and changelog maintenance
  • Consistency: Uses the same modern CI/CD patterns we provide in generated projects
  • Documentation: Comprehensive README.md explains workflow usage and triggers

🤖 Generated with Claude Code

JnyJny and others added 3 commits July 26, 2025 14:43
Add comprehensive CI/CD workflow for the cookiecutter template repository:

- Test template across Python 3.11, 3.12, 3.13 on PRs and main pushes
- Auto-generate changelogs using BobAnkh/auto-generate-changelog
- Create GitHub releases for semantic version tags (v1.0.0, etc.)
- Generate release notes from git commits since last tag
- No PyPI publishing (template is not a package)

Workflow triggers:
- Pull requests to main (tests only)
- Push to main (tests only)
- Semantic version tags (tests + release)
- Manual workflow dispatch

Aligns with existing poe release tasks (release_patch, release_minor, etc.)
for version management while automating GitHub release creation.

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

Co-Authored-By: Claude <[email protected]>
Update template repository CLAUDE.md to document:

- New template repository workflow for testing and releases
- Enhanced generated project workflows with dynamic Python version detection
- Detailed release process for both template and generated projects
- Clear distinction between template repo (no PyPI) and generated projects (PyPI publishing)

Provides comprehensive guidance for working with both the cookiecutter
template repository and the projects it generates.

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

Co-Authored-By: Claude <[email protected]>
Condense CLAUDE.md from ~180 lines to ~39 lines while retaining all
essential information:

- Use concise bullet points and pipe separators
- Group related commands and concepts
- Eliminate redundant explanations
- Keep all critical workflow and testing information
- Maintain technical accuracy and completeness

Reduces documentation overhead while preserving functionality guidance.

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

Co-Authored-By: Claude <[email protected]>
@JnyJny
Copy link
Owner Author

JnyJny commented Jul 27, 2025

LGTM.

@JnyJny JnyJny merged commit d5e1a3f into main Jul 27, 2025
1 of 4 checks passed
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.

1 participant