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

github actions 自动发布新版本。 #233

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

rebecca554owen
Copy link

@rebecca554owen rebecca554owen commented Feb 12, 2025

Summary by Sourcery

Enable manual triggering of releases and automatically generate release notes.

New Features:

  • Add workflow_dispatch trigger to release workflow.

Enhancements:

  • Standardize release process across Android, Linux, and Windows platforms.
  • Update Android NDK version to 27.0.12077973.

CI:

  • Allow for manually triggered releases with a custom tag input.
  • Generate release notes automatically when a release is created.

Copy link

sourcery-ai bot commented Feb 12, 2025

Reviewer's Guide by Sourcery

The pull request enhances the GitHub Actions workflows by adding a manual trigger for releases and dynamic tag retrieval, updates artifact handling in release jobs, adjusts the trigger for flutter analysis, and standardizes the NDK version in the Android build configuration.

Sequence diagram for dynamic release tag retrieval

sequenceDiagram
    participant U as Actor (Trigger)
    participant GH as GitHub Actions
    participant GT as "Get Tag Step"
    participant CR as "Create Release Step"
    participant API as "GitHub Release API"

    U->>GH: Trigger release (workflow_dispatch or tag push)
    GH->>GT: Execute 'Get release tag' step
    alt Workflow Dispatch Trigger
      GT-->>GH: Return input tag (from workflow_dispatch)
    else Tag Push Trigger
      GT-->>GH: Return tag derived from GITHUB_REF
    end
    GH->>CR: Pass tag to create release
    CR->>API: Create release with tag & release notes
    API-->>CR: Confirm release created
Loading

File-Level Changes

Change Details Files
Enhanced the GitHub Actions release workflows for multiple platforms.
  • Added a manual workflow_dispatch trigger with input for the release tag.
  • Inserted a 'Get release tag' step to dynamically determine the release tag from either workflow_dispatch input or git tag reference.
  • Modified the Create Release steps to utilize the dynamic tag and generate release notes automatically.
  • Refactored artifact file handling by using wildcard patterns for APK files.
.github/workflows/release.yaml
Updated the flutter analysis workflow trigger.
  • Changed the trigger from push on main to pull_request on main to better align with code review practices.
.github/workflows/fl-analysis.yaml
Standardized the NDK version in the Android build configuration.
  • Updated the ndkVersion assignment in build.gradle to use a static version '27.0.12077973'.
android/app/build.gradle

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. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the 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 exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!
  • Generate a plan of action for an issue: Comment @sourcery-ai plan on
    an issue to generate a plan of action for it.

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

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 @rebecca554owen - I've reviewed your changes - here's some feedback:

Overall Comments:

  • Consider using a matrix build strategy to avoid repeating the release logic for each platform.
  • The fl-analysis.yaml workflow is missing a trigger for push events on the main branch.
Here's what I looked at during the review
  • 🟡 General issues: 1 issue found
  • 🟢 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.

Comment on lines +42 to +50
- name: Get release tag
id: get-tag
shell: bash
run: |
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
echo "tag=${{ github.event.inputs.tag }}" >> $GITHUB_OUTPUT
else
echo "tag=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
fi
Copy link

Choose a reason for hiding this comment

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

suggestion: Consider reducing duplication in the 'Get release tag' step.

The same bash snippet is repeated across multiple jobs. It might be beneficial to extract this logic into a reusable composite action or reference a common script to ease maintenance.

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