Shogo's Blog

Oct 26, 2025 - 1 minute read - github github-actions mysql

shogo82148/actions-setup-mysqlのMySQLビルドスクリプト群を別レポジトリーに移行した

TL;DR

shogo82148/actions-setup-mysql には「GitHub Actionsのコード」と「MySQLをビルドするためのスクリプト群」が一緒に入っていたのですが、 このたび「MySQLをビルドするためのスクリプト群」を以下のレポジトリーに移行することにしました。

ユーザー側での対応は不要です。

背景・目的

shogo82148/actions-setup-mysql のビルド済みMySQLバイナリー置き場には紆余曲折ありました。 以下のブログ記事はPerlのものですが、MySQLも同じような道筋を辿っています。

紆余曲折あり最終的には GitHub Releases に保存することにしました。 GitHubネイティブの機能で安心感があるのと、なんたって無料なのが魅力的ですね。

v1.45.0 をリリースしたら、 v1.45.0の関連アセットに必要なバイナリーを全部突っ込む、という作戦で運用を続けてきました。 しかし、この方法では以下のような問題がありました。

  • リリースのたびにすべてのプラットフォームのビルドをし直さなければならない
  • ひとつのリリースに含める事のできるアセットの上限 1000 が見えてきた

というわけで、「MySQLをビルドするためのスクリプト群」を別レポジトリーに移行し、 shogo82148/actions-setup-mysql 自体のリリースサイクルとは別に管理するようにしました。

移行作業

shogo82148/build-mysql のセットアップ

「MySQLをビルドするための秘伝のスクリプト群」はすでに手元にあるので、スクリプト群をコピーするたけです。 完成したバイナリーは gh コマンドでアップロードします。

同じMySQLバージョンの再ビルドを行いたい(たとえば、将来リリースされるであろうubuntu-26.04版ビルドの追加とか)ケースも考えて、リリース名に mysql-8.4.6-20251026153058 のようにリリースした日付を入れておきます。 これは、変更不可リリースを有効化しており、過去のリリースを直接書き換えることができないためです。

shogo82148/actions-setup-mysql のダウンロードURL書き換え

毎回 shogo82148/build-mysql のリリースを検索するのも大変なので、 shogo82148/build-mysql の全リリースを gh api --paginate --slurp '/repos/shogo82148/build-mysql/releases?per_page=100' コマンドで取得し、整形したものをソースコードに埋め込んでいます。

[
  {
    "arch": "arm64",
    "distribution": "mysql",
    "os": "darwin",
    "sha256": "874d49f26f0bcb1cdd186bf768d863cb1da227091609e5873e25255f19e46753",
    "url": "https://github.com/shogo82148/build-mysql/releases/download/mysql-9.5.0-20251026034039/mysql-9.5.0-darwin-arm64.tar.zstd",
    "version": "9.5.0"
  },
  {
    "arch": "x64",
    "distribution": "mysql",
    "os": "darwin",
    "sha256": "fe1432366afdd57c8b821234342baacb699162a4cc405ba44ca4ded258c5ec83",
    "url": "https://github.com/shogo82148/build-mysql/releases/download/mysql-9.5.0-20251026034039/mysql-9.5.0-darwin-x64.tar.zstd",
    "version": "9.5.0"
  },
  {
    "arch": "arm64",
    "distribution": "mysql",
    "os": "ubuntu-22.04",
    "sha256": "49389ac102c43e336dbc3624a9429f0abb8bc7538853e843614013c2e63e8953",
    "url": "https://github.com/shogo82148/build-mysql/releases/download/mysql-9.5.0-20251026034039/mysql-9.5.0-ubuntu-22.04-arm64.tar.zstd",
    "version": "9.5.0"
  },
  // ... (後略)
]

GitHub Action が動作する環境や指定されたバージョンをもとに、このJSONファイルを検索し、ダウンロードURLを取得します。

まとめ

shogo82148/actions-setup-mysql に含まれていた「MySQLをビルドするためのスクリプト群」を以下のレポジトリーに移行しました。

新しいMySQL, MariaDB のバージョンが公開されたときに、スムーズに対応できるようになりました。

🐰 ウサギの喜びの歌
ビルドスクリプトよ、独立の道へ
マニフェストJSON、きれいに整列
新しき物語が書かれて、ホッ
ドキュメント完成、すべてクリア🎉

by CodeRabbit

参考