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 versions #70

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
Open

Add versions #70

wants to merge 10 commits into from

Conversation

yuki777
Copy link
Collaborator

@yuki777 yuki777 commented Feb 16, 2025

Supported MySQL Versions

  • 8.0.41
  • 8.4.4
  • 9.2.0

Supported MongoDB Versions

  • 6.0.20
  • 7.0.16
  • 8.0.4

Summary by CodeRabbit

  • 新機能

    • MySQL の新バージョン(8.0.41、8.4.4、9.2.0)をサポートに追加し、より幅広い環境での利用が可能になりました。
    • MongoDB の新バージョン(6.0.20、7.0.16、8.0.4)をサポートに追加しました。
    • MySQL および MongoDB のテスト用スクリプトを新たに追加しました。
  • バグ修正

    • テストスクリプトのエラーハンドリングを強化しました。
  • ドキュメント

    • README に新しいサポートバージョン情報を反映しました。
    • macOS ARM および Linux ARM 64 用の詳細なダウンロード手順を記載しました。

Copy link

coderabbitai bot commented Feb 16, 2025

Warning

Rate limit exceeded

@yuki777 has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 9 minutes and 22 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 b543c2a and d1a737b.

📒 Files selected for processing (2)
  • .github/workflows/test.yml (1 hunks)
  • download-readme.md (1 hunks)

"""

Walkthrough

このプルリクエストでは、GitHub Actions のワークフロー、ドキュメント、およびテストスクリプトに対し、MySQL と MongoDB のバージョン更新および新規スクリプト追加が行われました。ワークフローの test_script マトリックスで旧バージョンが削除され、新バージョンが追加され、README ではサポートする MySQL と MongoDB のバージョンが拡張されています。また、ダウンロード用 README に各 OS ごとの手順が追加され、関数ライブラリ内のエラーハンドリングが改善されています。さらに、複数の新しい MySQL および MongoDB テストスクリプトが導入され、各操作(作成、起動、停止等)の実行が自動化されています。

Changes

ファイルパス 変更内容
.github/workflows/test.yml
README.md
download-readme.md
- ワークフロー設定: test_script マトリックスで旧 MongoDB および MySQL スクリプトを新バージョンに更新
- ドキュメント: README に新バージョン記載、ダウンロード手順を追加
lib/functions.sh getRandomPort 関数で shuf コマンドのエラー出力を /dev/null にリダイレクトし、エラー抑制を実装
tests/mysql-8.0.41.sh
tests/mysql-8.4.4.sh
tests/mysql-9.2.0.sh
tests/mongodb-5.0.31.sh
tests/mongodb-6.0.20.sh
tests/mongodb-7.0.16.sh
tests/mongodb-8.0.4.sh
新規 MySQL および MongoDB テストスクリプトの追加。各スクリプトは、テスト用データベースの作成、ポート設定、起動、状態確認、再起動、停止、削除など一連の操作を自動実行

Sequence Diagram(s)

sequenceDiagram
    participant Script as テストスクリプト
    participant Func as functions.sh
    participant DB as MySQLサーバー
    participant DBDB as dbdb.sh

    Script->>Func: ランダムポート生成要求
    Script->>DB: テスト用データベースの作成
    DB-->>Script: 作成結果返却
    Script->>DB: ポート設定 → 起動 → 状態確認 → 再起動 → 停止 → 削除
    Script->>DBDB: dbdb.sh を呼び出し (JSON出力含む)
Loading

Poem

ぴょんぴょん コードの森
新しいバージョンで 心躍る
うさぎが飛び出し テストを駆け抜ける
エラーも消えて 静かな夜
未来へ進む 小さな足音
🐇✨ 変更の風に 笑顔咲く
"""


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. (Beta)
  • @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

@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)
download-readme.md (2)

1-35: macOS ARM用ダウンロード手順の文書検証
macOS ARMに関するダウンロード手順が明確に記載され、バージョンごとの変数設定とURL組み立ても正しく実装されています。
なお、LanguageToolから指摘された箇所(例:「- Select macOS 15 (ARM, 64-bit)」の後の箇所)のコンマ不足の指摘は、Markdownリスト形式として問題なく、誤検知の可能性が高いと判断されます。

🧰 Tools
🪛 LanguageTool

[uncategorized] ~7-~7: Possible missing comma found.
Context: ... - Select macOS 15 (ARM, 64-bit) - Select Compressed TAR Archive - e.g. ```b...

(AI_HYDRA_LEO_MISSING_COMMA)


36-67: Linux x86_64用ダウンロード手順の文書検証
Linux用の手順も同様に、変数設定、URL組み立て、wgetによるダウンロードコマンドなどが正しく記述されています。
こちらもLanguageToolによるコンマ不足の警告はMarkdownの文脈上、不要な指摘と考えられます。

🧰 Tools
🪛 LanguageTool

[uncategorized] ~40-~40: Possible missing comma found.
Context: ... Generic (glibc 2.28)(x86, 64-bit) - SelectCompressed TAR Archive` - e.g. ```b...

(AI_HYDRA_LEO_MISSING_COMMA)

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between e5aad3b and 1086e74.

📒 Files selected for processing (7)
  • .github/workflows/test.yml (1 hunks)
  • README.md (1 hunks)
  • download-readme.md (1 hunks)
  • lib/functions.sh (1 hunks)
  • tests/mysql-8.0.41.sh (1 hunks)
  • tests/mysql-8.4.4.sh (1 hunks)
  • tests/mysql-9.2.0.sh (1 hunks)
🧰 Additional context used
🪛 LanguageTool
download-readme.md

[uncategorized] ~7-~7: Possible missing comma found.
Context: ... - Select macOS 15 (ARM, 64-bit) - Select Compressed TAR Archive - e.g. ```b...

(AI_HYDRA_LEO_MISSING_COMMA)


[uncategorized] ~40-~40: Possible missing comma found.
Context: ... Generic (glibc 2.28)(x86, 64-bit) - SelectCompressed TAR Archive` - e.g. ```b...

(AI_HYDRA_LEO_MISSING_COMMA)

🪛 GitHub Actions: Test
tests/mysql-8.0.41.sh

[error] 1-1: The operation was canceled.

tests/mysql-8.4.4.sh

[error] 1-1: The operation was canceled.

🔇 Additional comments (20)
.github/workflows/test.yml (1)

12-15: 新しいMySQLテストスクリプトの追加について
行 14 と 15 で mysql-8.0.41.shmysql-8.4.4.sh が追加されています。古いバージョンのスクリプトが置き換えられており、全体のマトリックスに一貫性があります。

tests/mysql-9.2.0.sh (5)

1-5: シェバングと初期化部の確認
スクリプト冒頭での #!/usr/bin/env bashset -eu の設定、さらに関数ライブラリの読み込み(. ../lib/functions.sh)は標準的で問題ありません。


6-15: 変数設定とハッシュ生成の実装確認
MySQLのタイプやバージョンの設定、OSに応じたmd5コマンドの選択およびハッシュの生成処理は適切です。相対パスでのディレクトリ移動(cd ../$type/..)も意図通りとみなせます。


16-29: 非JSON形式によるテストの実行チェック
各操作(create、port、start、status、restart、stop、delete)が順次実行されることで、テスト順序として問題なく、エラー発生時はset -euにより即時停止する構成となっています。


31-44: JSON形式のテスト実行部分の確認
-f jsonオプションを付与し、出力をjqでパイプ処理している点は、JSON出力の検証として適切です。


46-50: 追加テストと後処理の実行について
最後に./dbdb.shおよびcreate-start.shの実行、そして再度delete.shdbdb.shの呼び出しを行っている処理は、テストフローの完結を意図していると考えられ、問題ありません。

tests/mysql-8.4.4.sh (6)

1-5: 初期化部の確認(mysql-8.4.4.sh)
シェバング、エラー設定、およびライブラリの読み込みがしっかりと設定されており、実行環境への影響も最小限と判断できます。

🧰 Tools
🪛 GitHub Actions: Test

[error] 1-1: The operation was canceled.


6-15: バージョンとディレクトリ移動の確認
typemysqlversion8.4.4と明示され、ハッシュの生成で日付を利用しているのも適切です。相対パスでのディレクトリ移動も一貫しています。


16-29: 標準出力形式でのテスト実行の確認
各MySQL操作(create、port、start、status、restart、stop、delete)の実行処理は連続しており、順序的にも問題ありません。


31-44: JSON形式でのテスト実行の確認
JSON形式での出力確認のために各コマンド実行後、jqでパースしている点は、出力内容の検証に有用です。


46-50: 追加処理実行の確認
./dbdb.sh./$type/create-start.sh -f jsonなどの追加呼び出しが含まれ、削除処理後の最終チェックも実施されています。


51-51: GitHub Actionsパイプラインのキャンセルエラーについて
パイプライン失敗セクションに「[error] 1-1: The operation was canceled.」とあります。ワークフロー全体の見直しや、該当するジョブのタイムアウト・リソース設定の再確認を推奨します。

tests/mysql-8.0.41.sh (6)

1-5: 初期化部の確認(mysql-8.0.41.sh)
シェバング、エラーハンドリング、関数ライブラリの読み込みは標準の実装がなされており、問題ありません。

🧰 Tools
🪛 GitHub Actions: Test

[error] 1-1: The operation was canceled.


6-15: バージョン設定とハッシュ生成の実装確認
MySQLのバージョンが8.0.41に設定され、日付ベースのハッシュ生成も正しく実装されています。相対パスのディレクトリ移動は統一されています。


16-29: 標準出力形式でのテスト実行の確認
通常のテスト実行部分では、各操作が順次実行されており、エラー発生時のスクリプト停止もset -euにより期待通りです。


31-44: JSON出力処理の確認
各コマンドに-f jsonオプションを付与し、jqでのJSONパース処理が適切に実装されています。


46-50: 追加処理と最終チェックの実施について
./dbdb.shおよびcreate-start.sh -f jsonの実行、後続の削除処理が正常に行われるよう構成されています。


51-51: GitHub Actionsパイプラインのキャンセルエラーについて
パイプライン失敗の記録に「[error] 1-1: The operation was canceled.」とあります。再実行時にタイムアウトやリソース設定の見直しを検討してください。

README.md (1)

57-59: 新規MySQLバージョンの追加が正しく反映されています

追加された MySQL バージョン (8.0.41, 8.4.4, 9.2.0) がサポートバージョンリストに正しく記載されています。ドキュメント内の例やテストスクリプトとの整合性も改めて確認してください。

lib/functions.sh (1)

131-133: getRandomPort 関数のエラーハンドリング改善について

shuf コマンド実行時のエラー出力を /dev/null にリダイレクトすることで、予期せぬエラーメッセージの出力を防止し、堅牢性が向上しています。フォールバックとして jot コマンドを使用する点も適切です。

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: 1

🧹 Nitpick comments (14)
tests/mongodb-7.0.16.sh (4)

4-4: 外部関数ファイルのインポートについて
../lib/functions.sh をソースしています。依存先のファイルが確実に存在することを確認してください。将来的にエラーチェックを追加することで、ファイルが存在しない場合により明確なエラーメッセージを出すとさらに良くなるでしょう。


16-30: 各テストコマンドの実行フローについて
echo でテスト開始を表示した後、各シェルスクリプト(create.sh, port.sh, start.sh, restart.sh, stop.sh, delete.sh)を順次実行しています。set -eu によりエラー時に即座に終了するので安全ですが、各コマンドの結果やエラーログを記録する仕組みがあれば、後からのトラブルシューティングに役立ちます。


22-24: mongosh 対応の TODO コメントについて
mongosh によるステータス取得のテストがコメントアウトされています。TODO として残しているのは良いですが、具体的な対応方法や期限があれば、ドキュメントやタスク管理にも反映するとより明確になります。


48-53: 追加テストコマンドとクリーンアップ処理について確認
./dbdb.sh./$type/create-start.sh、その後の削除処理が実行されています。最終的にテストインスタンスが正しく削除され、環境がクリーンな状態に戻るか確認してください。また、失敗時のロギングやエラーチェックを強化することで、問題発生時のデバッグが容易になる可能性があります。

tests/mongodb-8.0.4.sh (5)

4-4: ライブラリのインクルード

../lib/functions.sh をソースすることで共通関数が利用可能になっています。相対パスでの指定はディレクトリ構造の変更に伴う影響があるため、必要に応じてパスの存在確認や絶対パスへの変更も検討してください。


9-9: 作業ディレクトリの変更

cd ../$type/.. により、相対パスで作業ディレクトリを変更しています。ディレクトリ構造に依存しているため、パスが正しく解決されることを確認し、失敗時のエラーハンドリングも考慮してください。


16-24: 基本テスト操作の実行

create.shport.shstart.sh の各スクリプトを順次実行し、各ステップでエコーメッセージを出力しているため、テスト進捗が把握しやすくなっています。なお、mongosh サポートに関する TODO コメントが残っているため、今後の対応が必要です。


32-46: JSON形式でのテスト出力

各テストコマンドに -f json オプションを付与し、jq で整形することで、出力内容の検証が容易になっています。繰り返しになりますが、mongosh に関する TODO コメントは今後の実装での対応をお願いいたします。


48-52: 統合テストと後処理の実行

dbdb.shcreate-start.sh などの統合的なテストスクリプト呼び出しにより、一連のデータベース操作が検証されています。連続実行に伴う副作用や、エラー発生時のログ取得・エラーチェックを追加することで、さらに信頼性を向上させることが可能です。

tests/mongodb-6.0.20.sh (1)

22-24: mongoshサポートのTODOについて
現状、status コマンドの実行がコメントアウトされ「# TODO: Support mongosh」と記されています。将来的にmongosh対応が必要になることを示唆しており、TODOに基づいて対応を検討する必要があります。

download-readme.md (4)

1-9: MySQL (macOS ARM) セクションの見直し
MySQLのダウンロード手順が明確に記述されています。
ただし、行4のようにベアURLが記載されている箇所は、Markdownのガイドライン(MD034)に抵触する可能性があるため、リンク記法(例: [MySQL Downloads](https://dev.mysql.com/downloads/mysql/))への変更を検討してください。

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

4-4: Bare URL used
null

(MD034, no-bare-urls)


35-40: Linux ARM 64 セクションの概要確認
Linux向けのダウンロード手順概要が記されています。
ただし、行37に記載されているベアURLも同様にMarkdownリンク記法への改善が望まれます。

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

37-37: Bare URL used
null

(MD034, no-bare-urls)


4-4: Markdown Link記法の改善提案 (MySQL macOS ARM)
行4でのベアURL "https://dev.mysql.com/downloads/mysql/" はMarkdownリンク記法を用いることで、読みやすくかつガイドラインに準拠できます。

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

4-4: Bare URL used
null

(MD034, no-bare-urls)


37-37: Markdown Link記法の改善提案 (Linux ARM 64)
行37のベアURLについても、リンク形式(例: [MySQL Downloads](https://dev.mysql.com/downloads/mysql/))に変更することを検討してください。

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

37-37: Bare URL used
null

(MD034, no-bare-urls)

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 1086e74 and 36ba0a3.

📒 Files selected for processing (7)
  • .github/workflows/test.yml (1 hunks)
  • README.md (2 hunks)
  • download-readme.md (1 hunks)
  • tests/mongodb-5.0.31.sh (1 hunks)
  • tests/mongodb-6.0.20.sh (1 hunks)
  • tests/mongodb-7.0.16.sh (1 hunks)
  • tests/mongodb-8.0.4.sh (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (2)
  • README.md
  • .github/workflows/test.yml
🧰 Additional context used
🪛 GitHub Actions: Test
tests/mongodb-7.0.16.sh

[error] 1-1: The operation was canceled.

🪛 markdownlint-cli2 (0.17.2)
download-readme.md

4-4: Bare URL used
null

(MD034, no-bare-urls)


37-37: Bare URL used
null

(MD034, no-bare-urls)

🔇 Additional comments (23)
tests/mongodb-7.0.16.sh (4)

1-2: シェバンとエラーチェックオプションの設定について確認
スクリプト先頭にある #!/usr/bin/env bashset -eu は、シェルスクリプトの実行環境を整え、エラーや未定義の変数で即時終了させるために適切な設定です。

🧰 Tools
🪛 GitHub Actions: Test

[error] 1-1: The operation was canceled.


6-7: データベース種別とバージョンの設定
typemongodbversion7.0.16 にセットされている点は問題ありません。もし将来的に他のデータベースのテストを追加する場合は、この部分を変数や設定ファイルに切り出すことを検討してください。


11-14: タイムスタンプとハッシュ生成ロジックの確認
date コマンドで時刻を取得し、OSに応じて md5 コマンドを切り替え、ハッシュを作成しています。ここで使用している getOS 関数の出力が期待どおりであるか、また生成されるハッシュ形式が常に安定しているかを確認してください。


32-47: JSON出力を利用したテストについて
-f json オプション付きで各コマンドを実行し、出力を jq で整形している点は、テスト結果を可視化するために有用です。JSON出力の仕様が変更されないか、出力例を確認することをお勧めします。

tests/mongodb-8.0.4.sh (4)

1-2: シェバンと環境設定の確認

スクリプト冒頭の #!/usr/bin/env bashset -eu は、実行環境の指定とエラー時の即時終了を保証しており、信頼性向上に寄与しています。


6-7: 環境変数の設定

typeversion の変数設定はシンプルで明確です。将来的に他のバージョンや種別を扱う場合、設定ファイル等での管理を検討すると拡張性が向上します。


11-14: タイムスタンプとハッシュの生成

タイムスタンプを用いてユニークなハッシュを生成するロジックは有用です。OS に応じた md5 コマンドの切り替えも適切ですが、md5 コマンドの出力形式が環境依存で変化する可能性がある点に留意してください。


25-30: テスト再実行(restart/stop/delete)の実施

再起動、停止、削除の各テスト操作が明確に実行され、エコーメッセージで進捗が示されています。この部分はシンプルで理解しやすい実装になっています。

tests/mongodb-5.0.31.sh (5)

1-5: シェバンと基本設定の確認
スクリプト冒頭で #!/usr/bin/env bash を用い、set -eu によりエラーや未定義変数の扱いを厳格にしている点は、堅牢な実装として評価できます。また、ライブラリの読み込みも問題なく行われています。


6-14: 変数定義とハッシュ生成の実装確認
typeversion の変数設定、MD5(もしくはLinuxでは md5sum)を使用したハッシュ生成の実装は概ね正しく、意図通り動作すると思われます。ただし、環境依存の部分(特に md5 コマンドの差異)については、十分な検証をお願いします。


16-29: 基本テストコマンドの実行確認
create, port, start, status, restart, stop, delete の各テストコマンドが直感的な順序で実行されており、テストシーケンスとして問題なく設計されています。


31-44: JSON出力テストの実行確認
JSON形式の出力を確認するために -f json オプションおよび jq を活用している点は、ログ解析や自動検証の面で非常に有用です。


46-50: 追加テストコマンドと後処理の確認
最後に ./dbdb.sh./$type/create-start.sh などを呼び出すことで、全体の統合テストの流れが確実に実施されています。全体として、テストシーケンスは一貫しており理解しやすいです。

tests/mongodb-6.0.20.sh (7)

1-5: シェバンと初期設定の確認
こちらのスクリプトも冒頭でシェバンと set -eu を使用し、エラー時の即時終了など基本の安全対策が取られています。ライブラリの読み込みも問題ありません。


6-14: 変数定義とハッシュ生成の確認
version=6.0.20 の設定や、タイムスタンプに基づくハッシュ生成のロジックは、mongodb-5.0.31.sh とほぼ同様で、適切に実装されています。


16-21: 基本テスト実行の確認
テストの最初の部分では、create, port, start の各コマンドが順次実行され、テストの流れが明確に示されています。


25-30: 再起動・停止・削除テストの確認
restart, stop, delete の各コマンドが、シーケンスとして一貫して実行され、意図通りの操作が行われる設計です。


32-40: JSON出力テストの確認
-f json オプションを付与したテストコマンド群も、前述の基本テストと同様に正しく実装されており、結果も jq によって整形されています。mongosh対応の部分もTODOとして明記されているため、今後の対応に期待できます。


41-44: JSON版再起動・停止テストの確認
restartstop のJSON対応テストが、全体のテストシーケンスの一環として実施されており、特に問題は見受けられません。


48-52: 追加テストコマンドの統合確認
最後に dbdb.sh および create-start.sh を用いたコマンド群が実行され、全体のテストフローが一貫していることを確認できます。

download-readme.md (3)

10-34: MySQL (macOS ARM) ダウンロードスクリプトの実装確認
コードブロック内では、各バージョン(8.0.41、8.4.4、9.2.0)のバージョン情報が変数で一貫して扱われ、URL生成および wget コマンドでのダウンロード処理が正しく記述されています。


42-66: Linux (ARM 64) ダウンロードスクリプトの実装確認
各MySQLバージョンごとに正確なURLが生成され、wget によりダウンロードされるプロセスは理にかなっており、利用者にとっても分かりやすい実装となっています。


67-94: MongoDB ダウンロード手順の確認
macOSおよびLinux(Ubuntu 22.04 ARM 64)向けのMongoDBダウンロード手順が記載され、各バージョンのURLやダウンロードコマンドが明示されています。
また、mongoshに関するコメントアウト部分もあり、今後の対応を検討する余地が明示されています。

type=mongodb
version=7.0.16

cd ../$type/..
Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

相対パスでのディレクトリ移動について
cd ../$type/.. により相対パスでディレクトリ移動を行っていますが、実行時のカレントディレクトリに依存するため、予期せぬ動作を避けるためにスクリプトのあるディレクトリを基準にした絶対パスまたはスクリプトディレクトリからの相対パスにするとより堅牢になります。

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

🧹 Nitpick comments (4)
.github/workflows/test.yml (4)

10-10: OSラベルの検証が必要です
ubuntu-24.04-arm は使用されていますが、actionlint がサポートするラベルリストには存在しない可能性があります。カスタムラベルの場合は、必要な設定ファイルにこのラベルを追加するか、正しいラベルに修正してください。

🧰 Tools
🪛 actionlint (1.7.4)

10-10: label "ubuntu-24.04-arm" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)


16-20: コメントアウトされたテストスクリプトの管理について
PostgreSQL、Redis、Memcached のテストスクリプトがコメントアウトされています。今後これらが不要なら削除するか、必要な場合はコメントアウトした理由を明記しておくと良いでしょう。


35-35: パッケージ名の確認のお願い
コマンド内の libaio1t64 のパッケージ名が正しいか確認してください。誤字もしくは不要なパッケージの可能性があるため、必要なら正しい名称に修正してください。


37-40: 重複テストステップの整理検討
「Run test」ステップが 2 つ存在しています。最初のステップは単に cd tests を実行するのみで、実際のテスト実行は 2 番目のステップで行われています。どちらか不要な場合は削除し、明確なステップ構成にすることを検討してください。

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 36ba0a3 and c70759b.

📒 Files selected for processing (2)
  • .github/workflows/test.yml (2 hunks)
  • lib/functions.sh (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • lib/functions.sh
🧰 Additional context used
🪛 actionlint (1.7.4)
.github/workflows/test.yml

10-10: label "ubuntu-24.04-arm" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2022", "windows-2019", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-22.04", "ubuntu-20.04", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "macos-12-xl", "macos-12-xlarge", "macos-12-large", "macos-12", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file

(runner-label)

🔇 Additional comments (3)
.github/workflows/test.yml (3)

12-15: 新しいバージョンのテストスクリプトの追加確認
MongoDB および MySQL の最新バージョンに対応するシェルスクリプトが追加されています。CI パイプラインで各スクリプトが意図した通りに動作するか、ログ等で確認してください。


32-32: "if" 条件チェックの確認
条件式 if: matrix.os == 'ubuntu-24.04-arm' が使用されています。上記の OS ラベルが正しいことを再確認の上、必要に応じて条件を調整してください。


41-45: テストスクリプト実行ステップの確認
matrix で指定されたテストスクリプトを実行するステップは正しく実装されています。各新しいスクリプトが CI 内で期待通りに動作することをログで確認してください。

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

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

12-15: テストスクリプトの更新とMySQL 9.2.0の確認
新しく追加された MongoDB (mongodb-6.0.20.shmongodb-7.0.16.sh) および MySQL (mysql-8.0.41.shmysql-8.4.4.sh) のテストスクリプトが正しく取り込まれています。なお、PR概要ではサポート MySQL バージョンに 9.2.0 も記載されているため、該当のテストスクリプトが必要かどうかも再確認をお願いします。


25-32: 重複するテスト実行ステップの整理を検討してください
最初のテスト実行ステップ(lines 25-28)は単に cd tests を実行しているだけで、直後のステップ(lines 29-32)でも同じディレクトリに移動してからテストスクリプトを実行しています。もしこのステップの重複が意図しないものであれば、不要なステップの削除または統合を検討してください。

📜 Review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between 8526c7b and b543c2a.

📒 Files selected for processing (2)
  • .github/workflows/test.yml (1 hunks)
  • download-readme.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • download-readme.md
🔇 Additional comments (1)
.github/workflows/test.yml (1)

10-10: OS設定の限定について確認してください
matrix.os の設定が macos-latest のみに変更されています。これにより、以前は含まれていた ubuntu-latest 上でのテストが実行されなくなっています。意図した変更であるか、または他プラットフォームでのテストが不要であるかどうか、再度ご確認ください。

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