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

ci: update publish workflows, removing old workflow, tweaking main workflow for usability, and updating release docs #151

Merged
merged 4 commits into from
Dec 6, 2024

Conversation

aaronsteers
Copy link
Contributor

@aaronsteers aaronsteers commented Dec 6, 2024

Summary by CodeRabbit

  • Bug Fixes

    • Removed outdated workflow for publishing the SDM connector to DockerHub.
  • New Features

    • Updated version input handling and descriptions in the PyPI publish workflow for better clarity.
    • Changed default setting for update_connector_builder input to false in the PyPI publish workflow.
  • Documentation

    • Enhanced clarity and scope of the RELEASES.md document, including updates to section titles and simplified instructions for publishing stable and pre-release versions.

These changes improve the clarity and functionality of the publishing workflows, ensuring a smoother experience for users managing package releases.

@aaronsteers aaronsteers changed the title Aj/ci/update-publish-workflows c: update publish workflows: remove old workflow, tweak main workflow for usability Dec 6, 2024
Copy link
Contributor

coderabbitai bot commented Dec 6, 2024

Warning

Rate limit exceeded

@aaronsteers has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 19 minutes and 40 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between adc62fa and 36e06a1.

📝 Walkthrough
📝 Walkthrough
📝 Walkthrough

Walkthrough

The changes in this pull request involve the removal of the .github/workflows/publish_sdm_connector.yml file, which defined a GitHub Actions workflow for publishing the Source-Declarative-Manifest (SDM) connector to DockerHub. Additionally, modifications were made to the .github/workflows/pypi_publish.yml file, updating the version input handling and default settings for the workflow dispatch, while retaining the existing functionality and structure of the workflow.

Changes

File Path Change Summary
.github/workflows/publish_sdm_connector.yml Removed the workflow for publishing the SDM connector to DockerHub.
.github/workflows/pypi_publish.yml Updated the version input description and changed the default value of update_connector_builder from true to false.

Possibly related issues

Possibly related PRs

Suggested labels

ci, docs

Suggested reviewers

  • ChristoGrab

What do you think about the suggested reviewers? Do they seem like a good fit for this PR?


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:

‼️ IMPORTANT
Auto-reply has been disabled for this repository in the CodeRabbit settings. The CodeRabbit bot will not respond to your replies unless it is explicitly tagged.

  • 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 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 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

🧹 Outside diff range and nitpick comments (1)
.github/workflows/pypi_publish.yml (1)

17-17: Consider formatting the version description for better readability?

The description is quite informative but a bit dense. What do you think about breaking it into bullet points for better scanning? Something like:

-        description: "Version. For public-facing stable releases, please use the GitHub Releases workflow instead: https://github.com/airbytehq/airbyte-python-cdk/blob/main/docs/RELEASES.md. If running this workflow again main or from a dev branch, the desired version number is required to be entered here, e.g. `v1.2.3dev0` or `v1.2.3rc1`."
+        description: |
+          Version number for the release. Notes:
+          • For public-facing stable releases: Use GitHub Releases workflow instead (see docs/RELEASES.md)
+          • For main/dev branch releases: Version number required (e.g. `v1.2.3dev0` or `v1.2.3rc1`)

wdyt? 🤔

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 59505ff and 7186f4a.

📒 Files selected for processing (2)
  • .github/workflows/publish_sdm_connector.yml (0 hunks)
  • .github/workflows/pypi_publish.yml (2 hunks)
💤 Files with no reviewable changes (1)
  • .github/workflows/publish_sdm_connector.yml
🔇 Additional comments (4)
.github/workflows/pypi_publish.yml (4)

33-33: LGTM on the default value change!

Changing update_connector_builder default to false makes sense as it's a less frequent operation that should be explicitly opted into. This helps prevent accidental updates.


Line range hint 185-191: Multi-platform build configuration looks good!

The Docker build configuration properly handles both amd64 and arm64 architectures. Nice touch on using QEMU for multi-platform builds! 👍


Line range hint 41-91: Version handling logic looks robust!

The version validation and detection logic handles all edge cases well:

  • Git tag detection
  • Input validation
  • Version format checking
  • Prerelease detection

Let's verify the version validation behavior:

✅ Verification successful

The previous search only found a dependency version constraint. Let's look specifically at workflow files and version-related functions to ensure our version handling is consistent across the codebase.


Version handling logic is solid and consistent! 🎯

The version validation in the workflow handles all scenarios perfectly:

  • Correctly strips 'v' prefix from both git tags and manual inputs
  • Validates version format matches X.Y.Z
  • Properly handles prerelease versions
  • Maintains consistency across PyPI and Docker publishing
  • Includes safeguards against version conflicts

No conflicting version patterns or inconsistent handling was found in the codebase. The implementation aligns well with the project's release workflow.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Test version validation logic with different formats
# Looking for any hardcoded version patterns that might conflict

rg -g '!*.md' -g '!*.txt' 'v\d+\.\d+\.\d+' .

Length of output: 202


Script:

#!/bin/bash
# Let's check for any version-related patterns in GitHub workflow files
rg -g '*.yml' -g '*.yaml' 'version|tag|ref' .github/workflows/

# Also check for any version validation or handling in Python files
ast-grep --pattern 'def $_(version$_)'

Length of output: 9620


Line range hint 251-261: Shall we verify the file paths in the Connector Builder update?

The update logic looks solid with proper retries, but let's verify the file paths are correct:

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

🧹 Outside diff range and nitpick comments (3)
docs/RELEASES.md (3)

Line range hint 3-15: LGTM! Nice clarity improvement with the SDM inclusion! 🎉

The steps are well-structured and clear. Would you consider adding a brief note about what SDM stands for (Source-Declarative-Manifest) for newcomers to the project? wdyt?

🧰 Tools
🪛 Markdownlint (0.35.0)

5-5: null
Bare URL used

(MD034, no-bare-urls)


16-16: How about formatting this as a proper markdown link? 🔗

For better readability and maintainability, would you consider reformatting the bare URL as a markdown link? Something like:

-You can monitor the PyPI release process here in the GitHub Actions view: https://github.com/airbytehq/airbyte-python-cdk/actions/workflows/pypi_publish.yml
+You can monitor the PyPI release process in the [GitHub Actions view](https://github.com/airbytehq/airbyte-python-cdk/actions/workflows/pypi_publish.yml)
🧰 Tools
🪛 Markdownlint (0.35.0)

16-16: null
Bare URL used

(MD034, no-bare-urls)


20-28: Love the simplified process! ✨

The steps are much clearer now. Would it be helpful to add a note about version number format requirements (e.g., PEP 440 compliance) before the examples? This could help prevent version formatting issues. wdyt?

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between 7186f4a and adc62fa.

📒 Files selected for processing (1)
  • docs/RELEASES.md (2 hunks)
🧰 Additional context used
🪛 Markdownlint (0.35.0)
docs/RELEASES.md

16-16: null
Bare URL used

(MD034, no-bare-urls)


18-18: Expected: asterisk; Actual: underscore
Emphasis style

(MD049, emphasis-style)


18-18: Expected: asterisk; Actual: underscore
Emphasis style

(MD049, emphasis-style)

🔇 Additional comments (1)
docs/RELEASES.md (1)

18-18: LGTM! Great addition of the video walkthrough! 📹

🧰 Tools
🪛 Markdownlint (0.35.0)

18-18: Expected: asterisk; Actual: underscore
Emphasis style

(MD049, emphasis-style)


18-18: Expected: asterisk; Actual: underscore
Emphasis style

(MD049, emphasis-style)

Copy link
Collaborator

@ChristoGrab ChristoGrab left a comment

Choose a reason for hiding this comment

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

LGTM, thanks for the keeping the docs so up-to-date!

.github/workflows/pypi_publish.yml Show resolved Hide resolved
.github/workflows/pypi_publish.yml Show resolved Hide resolved
.github/workflows/publish_sdm_connector.yml Show resolved Hide resolved
@aaronsteers aaronsteers changed the title c: update publish workflows: remove old workflow, tweak main workflow for usability ci: update publish workflows: remove old workflow, tweak main workflow for usability Dec 6, 2024
@aaronsteers aaronsteers changed the title ci: update publish workflows: remove old workflow, tweak main workflow for usability ci: update publish workflows, removing old workflow, tweaking main workflow for usability, and updating release docs Dec 6, 2024
@aaronsteers aaronsteers merged commit 0f40e22 into main Dec 6, 2024
21 checks passed
@aaronsteers aaronsteers deleted the aj/ci/update-publish-workflows branch December 6, 2024 20:02
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.

2 participants