From ec818f0530e75f723f7cb01a6108e38b27b4fb90 Mon Sep 17 00:00:00 2001 From: Horimoto Yasuhiro Date: Thu, 30 Jan 2025 11:29:20 +0900 Subject: [PATCH 01/12] Get MySQL, Mroonga, and Groonga versions automatically in update.sh Usage: ./update.sh --- update.sh | 76 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 47 insertions(+), 29 deletions(-) diff --git a/update.sh b/update.sh index 23b5cb6..4774182 100755 --- a/update.sh +++ b/update.sh @@ -1,16 +1,21 @@ #!/bin/bash -set -eu +set -eux -if [ $# != 3 ]; then - echo "Usage: $0 MYSQL_VERSION MROONGA_VERSION GROONGA_VERSION" - echo " e.g.: $0 8.0.30 12.06 12.0.6" +if [ $# != 0 ]; then + echo "Usage: $0" exit 1 fi -mysql_version=$1 -mroonga_version=$2 -groonga_version=$3 +target_mysqls=( + "8.0" + "8.4" +) + +mroonga_version=$(curl https://api.github.com/repos/mroonga/mroonga/releases/latest \ + | jq -r '.["tag_name"]' | sed 's/^v//') +groonga_version=$(curl https://api.github.com/repos/groonga/groonga/releases/latest \ + | jq -r '.["tag_name"]' | sed 's/^v//') if type gsed > /dev/null 2>&1; then SED=gsed @@ -18,25 +23,38 @@ else SED=sed fi -case $mysql_version in - 8.0.*) - docker_file=mysql-8.0/Dockerfile - ;; -esac - -${SED} \ - -i'' \ - -r \ - -e "s/mysql:[0-9.]*/mysql:${mysql_version}/g" \ - -e "s/mroonga_version=[0-9.]*/mroonga_version=${mroonga_version}/g" \ - -e "s/groonga_version=[0-9.]*/groonga_version=${groonga_version}/g" \ - ${docker_file} -git add ${docker_file} - -ruby "$(dirname "$0")/update-tag-list.rb" "$@" -git add README.md - -tag="mysql-${mysql_version}-${mroonga_version}" -message="MySQL ${mysql_version} and Mroonga ${mroonga_version}" -git commit -m "${message}" -git tag -a -m "${message}" ${tag} +for target_mysql in "${target_mysqls[@]}"; do + case $target_mysql in + 8.0) + mysql_version=$(curl https://raw.githubusercontent.com/docker-library/mysql/refs/heads/master/versions.json \ + | jq -r '.["8.0"]["version"]') + docker_file=mysql-8.0/Dockerfile + ;; + 8.4) + mysql_version=$(curl https://raw.githubusercontent.com/docker-library/mysql/refs/heads/master/versions.json \ + | jq -r '.["8.4"]["version"]') + docker_file=mysql-8.4/Dockerfile + ;; + esac + + ${SED} \ + -i'' \ + -r \ + -e "s/mysql:[0-9.]*/mysql:${mysql_version}/g" \ + -e "s/mroonga_version=[0-9.]*/mroonga_version=${mroonga_version}/g" \ + -e "s/groonga_version=[0-9.]*/groonga_version=${groonga_version}/g" \ + ${docker_file} + git add ${docker_file} + + ruby "$(dirname "$0")/update-tag-list.rb" \ + "${mysql_version}" \ + "${mroonga_version}" \ + "${groonga_version}" + git add README.md + + tag="mysql-${mysql_version}-${mroonga_version}" + message="MySQL ${mysql_version} and Mroonga ${mroonga_version}" + echo "${message}" + git commit -m "${message}" + git tag -a -m "${message}" ${tag} +done From 72aa69d8aa1586be90ddc00cd5a6cda7be821295 Mon Sep 17 00:00:00 2001 From: Horimoto Yasuhiro Date: Thu, 30 Jan 2025 11:53:14 +0900 Subject: [PATCH 02/12] Remove a option for debugging --- update.sh | 2 -- 1 file changed, 2 deletions(-) diff --git a/update.sh b/update.sh index 4774182..b893c24 100755 --- a/update.sh +++ b/update.sh @@ -1,7 +1,5 @@ #!/bin/bash -set -eux - if [ $# != 0 ]; then echo "Usage: $0" exit 1 From a45f41572aedf7737f6ac1f44f3e70d57b8cdb78 Mon Sep 17 00:00:00 2001 From: Horimoto Yasuhiro Date: Thu, 30 Jan 2025 11:54:40 +0900 Subject: [PATCH 03/12] Remove a needless check --- update.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/update.sh b/update.sh index b893c24..571a029 100755 --- a/update.sh +++ b/update.sh @@ -1,9 +1,5 @@ #!/bin/bash -if [ $# != 0 ]; then - echo "Usage: $0" - exit 1 -fi target_mysqls=( "8.0" From 5ee4921c26ee3e7f144a31df377b258bc9e8e566 Mon Sep 17 00:00:00 2001 From: Horimoto Yasuhiro Date: Thu, 30 Jan 2025 11:54:51 +0900 Subject: [PATCH 04/12] Add missing options --- update.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/update.sh b/update.sh index 571a029..9b1216e 100755 --- a/update.sh +++ b/update.sh @@ -1,5 +1,6 @@ #!/bin/bash +set -eu target_mysqls=( "8.0" From 71c467f54cebf0f157efc6c01117b098c8f6da98 Mon Sep 17 00:00:00 2001 From: Horimoto Yasuhiro Date: Thu, 30 Jan 2025 11:58:21 +0900 Subject: [PATCH 05/12] Use more suitable name --- update.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/update.sh b/update.sh index 9b1216e..940c548 100755 --- a/update.sh +++ b/update.sh @@ -2,7 +2,7 @@ set -eu -target_mysqls=( +target_mysql-versions=( "8.0" "8.4" ) @@ -18,15 +18,15 @@ else SED=sed fi -for target_mysql in "${target_mysqls[@]}"; do - case $target_mysql in +for target_mysql_version in "${target_mysql-versions[@]}"; do + case $target_mysql_version in 8.0) - mysql_version=$(curl https://raw.githubusercontent.com/docker-library/mysql/refs/heads/master/versions.json \ + mysql_correct_version=$(curl https://raw.githubusercontent.com/docker-library/mysql/refs/heads/master/versions.json \ | jq -r '.["8.0"]["version"]') docker_file=mysql-8.0/Dockerfile ;; 8.4) - mysql_version=$(curl https://raw.githubusercontent.com/docker-library/mysql/refs/heads/master/versions.json \ + mysql_correct_version=$(curl https://raw.githubusercontent.com/docker-library/mysql/refs/heads/master/versions.json \ | jq -r '.["8.4"]["version"]') docker_file=mysql-8.4/Dockerfile ;; @@ -35,20 +35,20 @@ for target_mysql in "${target_mysqls[@]}"; do ${SED} \ -i'' \ -r \ - -e "s/mysql:[0-9.]*/mysql:${mysql_version}/g" \ + -e "s/mysql:[0-9.]*/mysql:${mysql_correct_version}/g" \ -e "s/mroonga_version=[0-9.]*/mroonga_version=${mroonga_version}/g" \ -e "s/groonga_version=[0-9.]*/groonga_version=${groonga_version}/g" \ ${docker_file} git add ${docker_file} ruby "$(dirname "$0")/update-tag-list.rb" \ - "${mysql_version}" \ + "${mysql_correct_version}" \ "${mroonga_version}" \ "${groonga_version}" git add README.md - tag="mysql-${mysql_version}-${mroonga_version}" - message="MySQL ${mysql_version} and Mroonga ${mroonga_version}" + tag="mysql-${mysql_correct_version}-${mroonga_version}" + message="MySQL ${mysql_correct_version} and Mroonga ${mroonga_version}" echo "${message}" git commit -m "${message}" git tag -a -m "${message}" ${tag} From 8fb581dbf5110a43396b6aaac75b5b1a48e7d289 Mon Sep 17 00:00:00 2001 From: Horimoto Yasuhiro Date: Thu, 30 Jan 2025 11:59:38 +0900 Subject: [PATCH 06/12] Revert "Use more suitable name" This reverts commit 71c467f54cebf0f157efc6c01117b098c8f6da98. --- update.sh | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/update.sh b/update.sh index 940c548..9b1216e 100755 --- a/update.sh +++ b/update.sh @@ -2,7 +2,7 @@ set -eu -target_mysql-versions=( +target_mysqls=( "8.0" "8.4" ) @@ -18,15 +18,15 @@ else SED=sed fi -for target_mysql_version in "${target_mysql-versions[@]}"; do - case $target_mysql_version in +for target_mysql in "${target_mysqls[@]}"; do + case $target_mysql in 8.0) - mysql_correct_version=$(curl https://raw.githubusercontent.com/docker-library/mysql/refs/heads/master/versions.json \ + mysql_version=$(curl https://raw.githubusercontent.com/docker-library/mysql/refs/heads/master/versions.json \ | jq -r '.["8.0"]["version"]') docker_file=mysql-8.0/Dockerfile ;; 8.4) - mysql_correct_version=$(curl https://raw.githubusercontent.com/docker-library/mysql/refs/heads/master/versions.json \ + mysql_version=$(curl https://raw.githubusercontent.com/docker-library/mysql/refs/heads/master/versions.json \ | jq -r '.["8.4"]["version"]') docker_file=mysql-8.4/Dockerfile ;; @@ -35,20 +35,20 @@ for target_mysql_version in "${target_mysql-versions[@]}"; do ${SED} \ -i'' \ -r \ - -e "s/mysql:[0-9.]*/mysql:${mysql_correct_version}/g" \ + -e "s/mysql:[0-9.]*/mysql:${mysql_version}/g" \ -e "s/mroonga_version=[0-9.]*/mroonga_version=${mroonga_version}/g" \ -e "s/groonga_version=[0-9.]*/groonga_version=${groonga_version}/g" \ ${docker_file} git add ${docker_file} ruby "$(dirname "$0")/update-tag-list.rb" \ - "${mysql_correct_version}" \ + "${mysql_version}" \ "${mroonga_version}" \ "${groonga_version}" git add README.md - tag="mysql-${mysql_correct_version}-${mroonga_version}" - message="MySQL ${mysql_correct_version} and Mroonga ${mroonga_version}" + tag="mysql-${mysql_version}-${mroonga_version}" + message="MySQL ${mysql_version} and Mroonga ${mroonga_version}" echo "${message}" git commit -m "${message}" git tag -a -m "${message}" ${tag} From 8b4c4f8ac8bbfdd1a72424c4e641d87db4f0c097 Mon Sep 17 00:00:00 2001 From: Horimoto Yasuhiro Date: Thu, 30 Jan 2025 12:09:07 +0900 Subject: [PATCH 07/12] Simplify --- update.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/update.sh b/update.sh index 9b1216e..8be8cdc 100755 --- a/update.sh +++ b/update.sh @@ -19,16 +19,15 @@ else fi for target_mysql in "${target_mysqls[@]}"; do + docker_file="mysql-${target_mysql}/Dockerfile" case $target_mysql in 8.0) mysql_version=$(curl https://raw.githubusercontent.com/docker-library/mysql/refs/heads/master/versions.json \ | jq -r '.["8.0"]["version"]') - docker_file=mysql-8.0/Dockerfile ;; 8.4) mysql_version=$(curl https://raw.githubusercontent.com/docker-library/mysql/refs/heads/master/versions.json \ | jq -r '.["8.4"]["version"]') - docker_file=mysql-8.4/Dockerfile ;; esac From 94140587b332fa290ad65a328cd1fc9624e218ff Mon Sep 17 00:00:00 2001 From: Horimoto Yasuhiro Date: Thu, 30 Jan 2025 12:10:06 +0900 Subject: [PATCH 08/12] Remove garbage --- update.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/update.sh b/update.sh index 8be8cdc..cf59c80 100755 --- a/update.sh +++ b/update.sh @@ -48,7 +48,6 @@ for target_mysql in "${target_mysqls[@]}"; do tag="mysql-${mysql_version}-${mroonga_version}" message="MySQL ${mysql_version} and Mroonga ${mroonga_version}" - echo "${message}" git commit -m "${message}" git tag -a -m "${message}" ${tag} done From c1455c0aa1b668ee6371a5fc985177813b243adb Mon Sep 17 00:00:00 2001 From: Horimoto Yasuhiro Date: Thu, 30 Jan 2025 14:02:14 +0900 Subject: [PATCH 09/12] Unify common code Co-authored-by: Sutou Kouhei --- update.sh | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/update.sh b/update.sh index cf59c80..c842b6e 100755 --- a/update.sh +++ b/update.sh @@ -20,16 +20,9 @@ fi for target_mysql in "${target_mysqls[@]}"; do docker_file="mysql-${target_mysql}/Dockerfile" - case $target_mysql in - 8.0) - mysql_version=$(curl https://raw.githubusercontent.com/docker-library/mysql/refs/heads/master/versions.json \ - | jq -r '.["8.0"]["version"]') - ;; - 8.4) - mysql_version=$(curl https://raw.githubusercontent.com/docker-library/mysql/refs/heads/master/versions.json \ - | jq -r '.["8.4"]["version"]') - ;; - esac + mysql_version=$(curl https://raw.githubusercontent.com/docker-library/mysql/refs/heads/master/versions.json \ + | jq -r ".[\"${target_mysql}\"][\"version\"]") + ${SED} \ -i'' \ From ccb679270fe336c4807ec515fca1319e728c54b0 Mon Sep 17 00:00:00 2001 From: Horimoto Yasuhiro Date: Thu, 30 Jan 2025 14:03:55 +0900 Subject: [PATCH 10/12] Fix indentation --- update.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/update.sh b/update.sh index c842b6e..09f9aae 100755 --- a/update.sh +++ b/update.sh @@ -20,9 +20,9 @@ fi for target_mysql in "${target_mysqls[@]}"; do docker_file="mysql-${target_mysql}/Dockerfile" - mysql_version=$(curl https://raw.githubusercontent.com/docker-library/mysql/refs/heads/master/versions.json \ - | jq -r ".[\"${target_mysql}\"][\"version\"]") + mysql_version=$(curl https://raw.githubusercontent.com/docker-library/mysql/refs/heads/master/versions.json \ + | jq -r ".[\"${target_mysql}\"][\"version\"]") ${SED} \ -i'' \ From a9a0fea5d36093939bc0f4d3e87c12537db47225 Mon Sep 17 00:00:00 2001 From: Horimoto Yasuhiro Date: Thu, 30 Jan 2025 14:04:13 +0900 Subject: [PATCH 11/12] Remove a needless new line --- update.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/update.sh b/update.sh index 09f9aae..fb84ba0 100755 --- a/update.sh +++ b/update.sh @@ -20,7 +20,6 @@ fi for target_mysql in "${target_mysqls[@]}"; do docker_file="mysql-${target_mysql}/Dockerfile" - mysql_version=$(curl https://raw.githubusercontent.com/docker-library/mysql/refs/heads/master/versions.json \ | jq -r ".[\"${target_mysql}\"][\"version\"]") From e6595360d7579166ec5b1790660af6b7dac98558 Mon Sep 17 00:00:00 2001 From: Horimoto Yasuhiro Date: Thu, 30 Jan 2025 14:07:16 +0900 Subject: [PATCH 12/12] Remove needless arguments --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 7c5ad8d..6d0ac00 100644 --- a/README.md +++ b/README.md @@ -205,8 +205,7 @@ $ ./test.sh mysql-8.0 mysql80-mroonga ## How to release ```shell -$ ./update.sh ${MYSQL_VERSION} ${MROONGA_VERSION} ${GROONGA_VERSION} -(./update.sh 8.0.30 12.06 12.0.6) +$ ./update.sh $ git push $ git push --tags ```