Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Main #253

Merged
merged 6 commits into from
Oct 28, 2024
Merged

Main #253

merged 6 commits into from
Oct 28, 2024

Conversation

entelecheia
Copy link
Owner

@entelecheia entelecheia commented Oct 28, 2024

Summary by Sourcery

Update the python-semantic-release version to 9.12.0 and enhance the semantic release configuration. Simplify the CI release workflow by removing unnecessary steps and permissions, and eliminate unused workflow files.

New Features:

  • Update python-semantic-release version to 9.12.0.

Enhancements:

  • Revise semantic release configuration with updated settings for versioning, changelog, and commit parsing.

CI:

  • Simplify the release workflow by removing unnecessary steps and permissions, and updating the semantic release action.

Chores:

  • Remove unused .github/workflows/release.yaml and .github/workflows/prerelease.yaml files.

Copy link

sourcery-ai bot commented Oct 28, 2024

Reviewer's Guide by Sourcery

This PR updates the semantic-release configuration and workflow to use python-semantic-release v9.12.0. The changes include a complete overhaul of the semantic-release configuration structure in pyproject.toml and a simplified GitHub Actions workflow implementation. The PR also removes an unused prerelease workflow file.

Architecture diagram for updated GitHub Actions workflow

graph TD;
    A[GitHub Actions Workflow] -->|Checkout Repository| B[actions/checkout@v4];
    B -->|Setup Release Branch| C[git checkout];
    C -->|Semantic Version Release| D[python-semantic-release@v9.12.0];
    D -->|Build and Tag| E[Build Artifacts];
    D -->|Push to GitHub| F[Push Changes];
Loading

Updated class diagram for semantic-release configuration

classDiagram
    class SemanticReleaseConfig {
        +String tag_format
        +String commit_parser
        +Boolean major_on_zero
        +Boolean allow_zero_version
        +Boolean tag_commit
        +Boolean no_git_verify
        +String version_source
        +Boolean commit_version_number
        +String commit_message
        +String[] version_toml
        +String[] version_variables
    }
    class RemoteSettings {
        +String name
        +String type
        +Boolean ignore_token_for_push
        +Boolean insecure
    }
    class ChangelogSettings {
        +String insertion_flag
        +String mode
    }
    class CommitParserOptions {
        +String[] allowed_tags
        +String[] minor_tags
        +String[] patch_tags
        +Integer default_bump_level
    }
    class BranchSettings {
        +String match
        +String prerelease_token
        +Boolean prerelease
    }
    class CommitAuthorSettings {
        +String env
        +String default
    }
    class PublishSettings {
        +String[] dist_glob_patterns
        +Boolean upload_to_vcs_release
    }
    SemanticReleaseConfig --> RemoteSettings
    SemanticReleaseConfig --> ChangelogSettings
    SemanticReleaseConfig --> CommitParserOptions
    SemanticReleaseConfig --> BranchSettings
    SemanticReleaseConfig --> CommitAuthorSettings
    SemanticReleaseConfig --> PublishSettings
Loading

File-Level Changes

Change Details Files
Updated semantic-release configuration with new v9 format
  • Updated python-semantic-release dependency from v7.33.1 to v9.12.0
  • Restructured semantic-release config with new sections (remote, changelog, commit parser, branches, etc.)
  • Added detailed commit parser options with allowed tags and bump level configurations
  • Updated version variable handling for both poetry and docker versions
.copier-template/pyproject.toml.jinja
Simplified and modernized the release workflow
  • Replaced manual poetry installation and dependency management with direct action usage
  • Added workflow concurrency and environment controls
  • Updated permissions to be more specific and secure
  • Implemented proper branch checkout handling for release process
  • Switched to using python-semantic-release GitHub action instead of CLI command
.copier-template/.github/workflows/release.yaml
.github/workflows/release.yaml
Removed unused workflow file
  • Deleted prerelease workflow file as it's no longer needed
.github/workflows/prerelease.yaml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time. You can also use
    this command to specify where the summary should be inserted.

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@zube zube bot added the [zube]: Inbox label Oct 28, 2024
@entelecheia entelecheia merged commit e7c6901 into docker Oct 28, 2024
@zube zube bot added [zube]: Done and removed [zube]: Inbox labels Oct 28, 2024
Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @entelecheia - I've reviewed your changes and they look great!

Here's what I looked at during the review
  • 🟢 General issues: all looks good
  • 🟢 Security: all looks good
  • 🟢 Testing: all looks good
  • 🟢 Complexity: all looks good
  • 🟢 Documentation: all looks good

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant