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

MySQL 9.0 is released #1085

Merged
merged 14 commits into from
Jul 6, 2024
Merged

MySQL 9.0 is released #1085

merged 14 commits into from
Jul 6, 2024

Conversation

shogo82148
Copy link
Owner

@shogo82148 shogo82148 commented Jul 2, 2024

Summary by CodeRabbit

  • New Features

    • Added support for MySQL version 9.0.0 in testing workflows and version lists.
    • Updated build scripts to support the latest version of clang and MySQL 9.x versions.
  • Bug Fixes

    • Fixed regular expression patterns in scripts to properly handle MySQL version 9.x.
  • Chores

    • Skipped installing .pdb files for Windows targets to reduce installation size.

Copy link

coderabbitai bot commented Jul 2, 2024

Walkthrough

This update introduces MySQL version 9.0.0 support throughout several build and testing scripts. It refines regex patterns to include 9.x versions, skips unnecessary .pdb files installation for Windows targets, and ensures scripts use the latest clang versions for MacOS. These changes improve the build process, streamline dependencies management, and expand version compatibility.

Changes

File Change Summary
patches/mysql/9.0.0/skip-install-pdb.patch Skips installing .pdb files for Windows targets by modifying macros and installation functions.
versions/mysql.json Adds MySQL version 9.0.0 to the list of supported versions.
.github/workflows/test.yml Adds MySQL 9.0 to the testing matrix alongside existing versions.
t/ssl.t Updates regex pattern to recognize a broader range of MySQL versions.
.github/build-mysql-...-macos14.sh Updates clang version usage and modifies OpenSSL version condition to include MySQL 9.x versions.
.github/build-mysql-...darwin.sh Modifies regex to match MySQL versions 8.0 and later.
.github/build-mysql-...linux.sh Updates regex to include MySQL 9.x in build process condition.

Poem

> MySQL grows, nine’s in the mix,
> Patches removed, a cleaner fix.
> Clang stands sharp, in Darwin’s den,
> No pdb’s for Windows men.
> Testing stages take new heights,
> Version checks in broader sights. 🌟

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>.
    • 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 generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @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 as 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.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration 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

@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

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between cb96c08 and bff86a6.

Files selected for processing (2)
  • patches/mysql/9.0.0/skip-install-pdb.patch (1 hunks)
  • versions/mysql.json (1 hunks)
Files skipped from review due to trivial changes (1)
  • versions/mysql.json
Additional comments not posted (2)
patches/mysql/9.0.0/skip-install-pdb.patch (2)

70-79: Removal of .pdb file installation logic in add_harness_plugin function.

The changes to the add_harness_plugin function to exclude .pdb file installation are clear and align with the intention to reduce artifact sizes. Ensure this change does not disrupt the router plugin functionalities or any dependent features.

Verification successful

No additional logic dependent on old installation behavior found.

The search results indicate that the add_harness_plugin function's usage is only modified within the patch files themselves. There are no other dependencies or logic in the repository that rely on the old installation behavior of .pdb files.

  • patches/mysql/9.0.0/skip-install-pdb.patch
  • patches/mysql/8.4.0/skip-install-pdb.patch
  • patches/mysql/8.3.0/skip-install-pdb.patch
  • patches/mysql/8.2.0/skip-install-pdb.patch
  • patches/mysql/8.1.0/skip-install-pdb.patch
  • patches/mysql/8.0.34/skip-install-pdb.patch
  • patches/mysql/8.0.36/skip-install-pdb.patch
  • patches/mysql/8.0.37/skip-install-pdb.patch
  • patches/mysql/8.0.35/skip-install-pdb.patch
  • patches/mysql/8.0.28/skip-install-pdb.patch
  • patches/mysql/8.0.32/skip-install-pdb.patch
  • patches/mysql/8.0.31/skip-install-pdb.patch
  • patches/mysql/8.0.29/skip-install-pdb.patch
  • patches/mysql/8.0.33/skip-install-pdb.patch
  • patches/mysql/8.0.30/skip-install-pdb.patch
  • patches/mysql/8.0.27/skip-install-pdb.patch
  • patches/mysql/8.0.26/skip-install-pdb.patch

This confirms that the removal of .pdb file installation does not disrupt the router functionalities.

Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify that the removal of .pdb file installation in `add_harness_plugin` does not disrupt router functionalities.

# Test: Search for usages of `add_harness_plugin` in the repository. Expect: No additional logic dependent on old installation behavior.
rg --type cmake 'add_harness_plugin'

Length of output: 185



Script:

#!/bin/bash
# Description: Verify that the removal of .pdb file installation in `add_harness_plugin` does not disrupt router functionalities.

# Test: Search for usages of `add_harness_plugin` in the repository with debug information to understand why files might be skipped.
rg --type cmake 'add_harness_plugin' --debug

Length of output: 30471



Script:

#!/bin/bash
# Description: Verify that the removal of .pdb file installation in `add_harness_plugin` does not disrupt router functionalities.

# Test: Search for usages of `add_harness_plugin` in the repository without ignoring any files.
rg --type cmake 'add_harness_plugin' --no-ignore

Length of output: 197



Script:

#!/bin/bash
# Description: Verify that the removal of .pdb file installation in `add_harness_plugin` does not disrupt router functionalities.

# Test: Use `fd` to find all CMake files and then `rg` to search within those files for `add_harness_plugin`.
fd -e cmake | xargs rg 'add_harness_plugin'

Length of output: 1704


8-38: Changes to INSTALL_DEBUG_SYMBOLS macro are appropriate given the PR objectives.

The simplification of the INSTALL_DEBUG_SYMBOLS macro to prevent the installation of .pdb files aligns with the PR's goal of reducing artifact size for GitHub Actions. However, it's crucial to ensure this doesn't affect other parts of the MySQL build system unexpectedly.

Verification successful

No impact on the build system from changes to INSTALL_DEBUG_SYMBOLS macro.

The INSTALL_DEBUG_SYMBOLS macro is only referenced within patch files, indicating that the changes to this macro are isolated and do not affect other parts of the build system.

  • patches/mysql/9.0.0/skip-install-pdb.patch
  • patches/mysql/8.4.0/skip-install-pdb.patch
  • patches/mysql/8.3.0/skip-install-pdb.patch
  • patches/mysql/8.2.0/skip-install-pdb.patch
  • patches/mysql/8.1.0/skip-install-pdb.patch
  • patches/mysql/8.0.37/skip-install-pdb.patch
  • patches/mysql/8.0.36/skip-install-pdb.patch
  • patches/mysql/8.0.35/skip-install-pdb.patch
  • patches/mysql/8.0.34/skip-install-pdb.patch
  • patches/mysql/8.0.33/skip-install-pdb.patch
  • patches/mysql/8.0.32/skip-install-pdb.patch
  • patches/mysql/8.0.31/skip-install-pdb.patch
  • patches/mysql/8.0.30/skip-install-pdb.patch
  • patches/mysql/8.0.29/skip-install-pdb.patch
  • patches/mysql/8.0.28/skip-install-pdb.patch
  • patches/mysql/8.0.27/skip-install-pdb.patch
  • patches/mysql/8.0.26/skip-install-pdb.patch
  • patches/mysql/5.7.44/skip-install-pdb.patch
  • patches/mysql/5.7.43/skip-install-pdb.patch
  • patches/mysql/5.7.42/skip-install-pdb.patch
  • patches/mysql/5.7.41/skip-install-pdb.patch
  • patches/mysql/5.7.40/skip-install-pdb.patch
  • patches/mysql/5.7.39/skip-install-pdb.patch
  • patches/mysql/5.7.38/skip-install-pdb.patch
  • patches/mysql/5.7.37/skip-install-pdb.patch
  • patches/mysql/5.7.36/skip-install-pdb.patch
  • patches/mysql/5.7.35/skip-install-pdb.patch
  • patches/mysql/5.6.51/skip-install-pdb.patch
Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify that no other part of the build system is adversely affected by the changes to INSTALL_DEBUG_SYMBOLS.

# Test: Search for usages of `INSTALL_DEBUG_SYMBOLS` in the repository. Expect: No additional logic dependent on old macro behavior.
rg --type cmake 'INSTALL_DEBUG_SYMBOLS'

Length of output: 188



Script:

#!/bin/bash
# Description: Debug why rg is not finding any files to search.

# Test: Run rg with --debug to understand why files are being skipped.
rg --debug --type cmake 'INSTALL_DEBUG_SYMBOLS'

Length of output: 30477



Script:

#!/bin/bash
# Description: Search for usages of `INSTALL_DEBUG_SYMBOLS` in the repository without ignoring any files.

# Test: Run rg with the `--no-ignore` flag to ensure all files are searched.
rg --no-ignore --type cmake 'INSTALL_DEBUG_SYMBOLS'

Length of output: 200



Script:

#!/bin/bash
# Description: Search for usages of `INSTALL_DEBUG_SYMBOLS` in the repository without any type filter.

# Test: Run rg without the `--type cmake` filter to ensure all files are searched.
rg --no-ignore 'INSTALL_DEBUG_SYMBOLS'

Length of output: 2323

Copy link

@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

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between bff86a6 and 6628b0c.

Files selected for processing (1)
  • .github/workflows/test.yml (1 hunks)
Files skipped from review due to trivial changes (1)
  • .github/workflows/test.yml

Copy link

@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

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 6628b0c and 8a739a9.

Files selected for processing (1)
  • .github/build-mysql-windows.ps1 (1 hunks)
Files skipped from review due to trivial changes (1)
  • .github/build-mysql-windows.ps1

Copy link

@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

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 8a739a9 and 87bfe40.

Files selected for processing (1)
  • .github/build-mysql-windows.ps1 (1 hunks)
Files skipped from review as they are similar to previous changes (1)
  • .github/build-mysql-windows.ps1

Copy link

@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

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 87bfe40 and 8362287.

Files selected for processing (2)
  • .github/build-mysql-windows.ps1 (1 hunks)
  • versions/mysql.json (1 hunks)
Files skipped from review as they are similar to previous changes (2)
  • .github/build-mysql-windows.ps1
  • versions/mysql.json

Copy link

@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

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 8362287 and 5abc2c5.

Files selected for processing (1)
  • t/ssl.t (1 hunks)
Additional comments not posted (1)
t/ssl.t (1)

13-13: LGTM! Ensure the regex pattern covers all intended versions.

The regex pattern update correctly includes MySQL version 9.0 and higher. This ensures that the --ssl-mode=REQUIRED option is used for these versions.

Copy link

@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

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 5abc2c5 and 70e5158.

Files selected for processing (3)
  • .github/build-mysql-darwin-macos14.sh (2 hunks)
  • .github/build-mysql-darwin.sh (1 hunks)
  • .github/build-mysql-linux.sh (1 hunks)
Files skipped from review due to trivial changes (1)
  • .github/build-mysql-darwin.sh
Additional comments not posted (4)
.github/build-mysql-darwin-macos14.sh (3)

27-27: LGTM!

The comment about using the latest version of clang is clear and aligns with the following lines.


28-28: LGTM!

The command to install llvm@17 using brew is correct and necessary for the following clang and clang++ commands.


44-44: LGTM!

The condition update to include MySQL 9.x versions ensures that the appropriate OpenSSL version is used.

.github/build-mysql-linux.sh (1)

92-92: LGTM!

The condition update to include MySQL 9.x versions ensures that the appropriate OpenSSL version is used.

Copy link

@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

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 70e5158 and 056f6a1.

Files selected for processing (1)
  • .github/build-mysql-darwin.sh (2 hunks)
Files skipped from review as they are similar to previous changes (1)
  • .github/build-mysql-darwin.sh

Copy link

@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

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 056f6a1 and e70ccd7.

Files selected for processing (2)
  • .github/build-mysql-darwin-macos14.sh (1 hunks)
  • .github/build-mysql-darwin.sh (2 hunks)
Files skipped from review as they are similar to previous changes (2)
  • .github/build-mysql-darwin-macos14.sh
  • .github/build-mysql-darwin.sh

Copy link

@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

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between e70ccd7 and 2847397.

Files selected for processing (1)
  • .github/build-mysql-darwin.sh (2 hunks)
Additional comments not posted (1)
.github/build-mysql-darwin.sh (1)

44-44: LGTM! The condition for selecting OpenSSL version is correctly updated.

The regex pattern now correctly matches both MySQL 8.x and 9.x versions.

Copy link

@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

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 2847397 and 2a63bf3.

Files selected for processing (1)
  • .github/build-mysql-darwin.sh (2 hunks)
Additional comments not posted (2)
.github/build-mysql-darwin.sh (2)

27-34: LGTM!

The changes ensure that the latest version of LLVM (version 17) is used for the build.


46-46: LGTM!

The regex pattern in the conditional statement is updated to include MySQL version 9 in addition to 8, ensuring compatibility with the new version.

@shogo82148 shogo82148 merged commit 7153d7c into main Jul 6, 2024
206 checks passed
@shogo82148 shogo82148 deleted the mysql-9.0-is-released branch July 6, 2024 09:38
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