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

Add body with update information to frontend update PRs #5691

Merged
merged 1 commit into from
Feb 28, 2025

Conversation

agners
Copy link
Member

@agners agners commented Feb 28, 2025

Proposed change

Overwrite the default body with useful version update information and a link to the new release.

Also rename the title and use lower caps for local shell variables.

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New feature (which adds functionality to the supervisor)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Additional information

  • This PR fixes or closes issue: fixes #
  • This PR is related to issue:
  • Link to documentation pull request:
  • Link to cli pull request:
  • Link to client library pull request:

Checklist

  • The code change is tested and works locally.
  • Local tests pass. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist
  • The code has been formatted using Ruff (ruff format supervisor tests)
  • Tests have been added to verify that the new code works.

If API endpoints or add-on configuration are added/changed:

Summary by CodeRabbit

  • Chores
    • Streamlined the automated version update process to improve consistency and clarity.
    • Updated version checking and messaging for more transparent update communications.
    • Refined the pull request details to clearly reflect version updates for smoother operations.

Overwrite the default body with useful version update information and
a link to the new release.

Also rename the title and use lower caps for local shell variables.
@agners agners added the ci Changes to our CI configuration files and scripts label Feb 28, 2025
@agners agners changed the title Add body with update information to frontend update prs Add body with update information to frontend update PRs Feb 28, 2025
Copy link
Contributor

coderabbitai bot commented Feb 28, 2025

📝 Walkthrough

Walkthrough

The workflow file .github/workflows/update_frontend.yml has been updated to streamline the version update process. The changes replace the previous latest_tag variable with two new variables, current_version and latest_version. The renaming of SUPERVISOR_VERSION to current_version aligns variable names across steps. Additionally, logic adjustments have been made in the version check, condition validation, PR search string, and pull request creation steps, ensuring consistency and clarity in handling version updates.

Changes

File Change Summary
.github/workflows/update_frontend.yml - Renamed latest_tag to current_version and introduced latest_version to manage version values.
- Changed SUPERVISOR_VERSION to current_version, with logic updates to echo and compare this value.
- Modified PR search string and updated parameters in the PR creation steps (tag, commit message, title, and body).

Sequence Diagram(s)

sequenceDiagram
    participant WF as Workflow
    participant FS as File System
    participant GH as GitHub PR Process

    WF->>FS: Read .ha-frontend-version file to set current_version
    FS-->>WF: Return current_version
    WF->>WF: Retrieve latest_version from external step
    WF->>WF: Compare current_version with latest_version
    alt Version matches
        WF-->>GH: No PR creation triggered
    else Version mismatched
        WF->>GH: Download release assets using latest_version
        WF->>GH: Create pull request with updated version (commit, title, body)
    end
Loading

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai or @coderabbitai title anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (2)
.github/workflows/update_frontend.yml (2)

13-14: Standardize Workflow Output Variable Names
The new outputs for current_version and latest_version improve clarity and consistency. However, note that latest_version is still derived from an output named latest_tag in the latest_frontend_version step. Please verify that this is intentional and that the naming aligns with your cross-step variable usage.


27-31: Verify Version Comparison Logic
In the "Check if version is up to date" step, the script reads the current version and then uses the condition:

if [[ ! "$current_version" < "$latest_version" ]]; then

This relies on lexicographical string comparison. Be sure that your version format (for example, semantic versions) works correctly with this operator. If not, consider adopting a more robust version comparison strategy (e.g., using sorting tools or dedicated semantic version comparison utilities).

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 362bd8f and 7caad7d.

📒 Files selected for processing (1)
  • .github/workflows/update_frontend.yml (4 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (4)
  • GitHub Check: Build armv7 supervisor
  • GitHub Check: Build armhf supervisor
  • GitHub Check: Build aarch64 supervisor
  • GitHub Check: Run tests Python 3.13.2
🔇 Additional comments (6)
.github/workflows/update_frontend.yml (6)

41-41: Align PR Search String with New Naming Standard
The search string has been updated to "Update frontend to version $LATEST_VERSION", which aligns with the new naming convention in the commit message and PR title. This should help avoid duplicates and ensure consistency in PR detection.


58-58: Consistent Version File Update
Updating .ha-frontend-version with latest_version ensures that the local version file reflects the expected value. This change is clear and maintains consistency across the workflow.


63-64: Update Release Asset Download Configuration
The modifications in the "Download release assets" step—updating both the tag and fileName to reference latest_version—ensure that the correct release asset is downloaded. This change is consistent with the new naming strategy.


70-70: Dynamic Commit Message Update
The commit message now dynamically reflects the latest version with:

commit-message: "Update frontend to version ${{ needs.check-version.outputs.latest_version }}"

This improvement aids in traceability and aligns with the version-based update process.


75-75: Consistent PR Title
Changing the PR title to use latest_version enhances consistency across the workflow configuration and makes it clear which version is being updated.


76-80: Enhanced PR Body Description
The new PR body clearly documents the version change by detailing the update—from the current version to the new version and including a link to the release. This helps reviewers and stakeholders understand the changes at a glance.

Copy link
Contributor

@wendevlin wendevlin left a comment

Choose a reason for hiding this comment

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

👍

@agners agners merged commit cf5a0dc into main Feb 28, 2025
21 checks passed
@agners agners deleted the add-body-to-frontend-update-prs branch February 28, 2025 10:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci Changes to our CI configuration files and scripts cla-signed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants