diff --git a/.gitea/workflows/image-update-and-release.yaml b/.gitea/workflows/image-update-and-release.yaml index ccbde8a..aae24a6 100644 --- a/.gitea/workflows/image-update-and-release.yaml +++ b/.gitea/workflows/image-update-and-release.yaml @@ -29,7 +29,7 @@ jobs: run: | # Docker Hubから最新のWordPress FPM Alpineバージョンを取得(PHPバージョンも最新) echo "Fetching WordPress FPM Alpine versions..." - + # fpm-alpineタグを取得(全PHPバージョン対象) LATEST_VERSION=$(curl -s "https://hub.docker.com/v2/repositories/library/wordpress/tags?page_size=100&name=fpm-alpine" | \ jq -r '.results[].name' | \ @@ -39,7 +39,7 @@ jobs: grep -v 'alpha' | \ sort -t- -k1,1V -k2,2V | \ tail -n 1) - + if [ -z "$LATEST_VERSION" ]; then echo "Failed to fetch from first method, trying alternative..." # 代替方法: すべてのfpm-alpineタグを取得 @@ -52,29 +52,31 @@ jobs: sort -t- -k1,1V -k2,2V | \ tail -n 1) fi - + if [ -z "$LATEST_VERSION" ]; then echo "ERROR: Failed to fetch WordPress version" exit 1 fi - + echo "WordPress latest version: $LATEST_VERSION" - + # バージョン情報を分解して表示 WP_VERSION=$(echo $LATEST_VERSION | cut -d'-' -f1) PHP_VERSION=$(echo $LATEST_VERSION | cut -d'-' -f2) echo " WordPress: $WP_VERSION" echo " PHP: $PHP_VERSION" echo " Base: fpm-alpine" - + + # 共有変数として出力 echo "version=$LATEST_VERSION" >> $GITHUB_OUTPUT + echo "version_base=$WP_VERSION" >> $GITHUB_OUTPUT - name: Fetch latest Nginx Alpine Perl version id: nginx run: | # Docker Hubから最新のNginx Alpine Perlバージョンを取得 echo "Fetching Nginx Alpine Perl versions..." - + LATEST_VERSION=$(curl -s "https://hub.docker.com/v2/repositories/library/nginx/tags?page_size=100&name=alpine-perl" | \ jq -r '.results[].name' | \ grep -E '^[0-9]+\.[0-9]+\.[0-9]+-alpine-perl$' | \ @@ -83,7 +85,7 @@ jobs: grep -v 'alpha' | \ sort -V | \ tail -n 1) - + if [ -z "$LATEST_VERSION" ]; then echo "Failed to fetch from first method, trying alternative..." # 代替方法: alpine-perlタグを別の方法で検索 @@ -97,20 +99,22 @@ jobs: sort -V | \ tail -n 1) fi - + if [ -z "$LATEST_VERSION" ]; then echo "ERROR: Failed to fetch Nginx version" exit 1 fi - + echo "Nginx latest version: $LATEST_VERSION" - + # バージョン情報を表示 NGINX_VERSION=$(echo $LATEST_VERSION | cut -d'-' -f1) echo " Nginx: $NGINX_VERSION" echo " Base: alpine-perl" - + + # 共有変数として出力 echo "version=$LATEST_VERSION" >> $GITHUB_OUTPUT + echo "version_base=$NGINX_VERSION" >> $GITHUB_OUTPUT - name: Get current versions from values.yaml id: current @@ -158,24 +162,28 @@ jobs: # バックアップを作成 cp values.yaml values.yaml.bak - # 現在のWordPressバージョンを取得(Chart.yamlの更新判定用) - CURRENT_WP_VERSION=$(grep -A 1 'wordpress:' values.yaml | grep 'tag:' | sed 's/.*tag: "\([^-]*\).*/\1/') - NEW_WP_VERSION=$(echo "${{ steps.wordpress.outputs.version }}" | cut -d'-' -f1) + # 共有変数から最新バージョンを取得 + WP_LATEST="${{ steps.wordpress.outputs.version }}" + WP_BASE="${{ steps.wordpress.outputs.version_base }}" + NGINX_LATEST="${{ steps.nginx.outputs.version }}" - # 変更前のバージョンを表示 + # 現在のバージョンを取得(Chart.yaml更新判定用) + CURRENT_WP_BASE=$(grep -A 1 'wordpress:' values.yaml | grep 'tag:' | sed 's/.*tag: "\([^-]*\).*/\1/') CURRENT_NGINX=$(grep -A 1 'nginx:' values.yaml | grep 'tag:' | sed 's/.*tag: "\(.*\)".*/\1/') + echo "Current versions:" - echo " WordPress: $CURRENT_WP_VERSION" + echo " WordPress: $CURRENT_WP_BASE" echo " Nginx: $CURRENT_NGINX" - echo "New versions:" - echo " WordPress: $NEW_WP_VERSION" - echo " Nginx: ${{ steps.nginx.outputs.version }}" + echo "" + echo "Latest versions:" + echo " WordPress: $WP_BASE ($WP_LATEST)" + echo " Nginx: $NGINX_LATEST" # WordPressのtagを更新 - sed -i "/^ wordpress:/,/^ [a-z]/s|tag: \"[^\"]*\"|tag: \"${{ steps.wordpress.outputs.version }}\"|" values.yaml + sed -i "/^ wordpress:/,/^ [a-z]/s|tag: \"[^\"]*\"|tag: \"$WP_LATEST\"|" values.yaml # Nginxのtagを更新 - sed -i "/^ nginx:/,/^ [a-z]/s|tag: \"[^\"]*\"|tag: \"${{ steps.nginx.outputs.version }}\"|" values.yaml + sed -i "/^ nginx:/,/^ [a-z]/s|tag: \"[^\"]*\"|tag: \"$NGINX_LATEST\"|" values.yaml # 変更内容を表示 echo "" @@ -191,8 +199,8 @@ jobs: echo "Changes detected in values.yaml" # WordPressバージョンが更新されたか判定(Chart.yaml更新の判定用) - if [ "$CURRENT_WP_VERSION" != "$NEW_WP_VERSION" ]; then - echo "WordPress version changed: $CURRENT_WP_VERSION -> $NEW_WP_VERSION" + if [ "$CURRENT_WP_BASE" != "$WP_BASE" ]; then + echo "WordPress version changed: $CURRENT_WP_BASE -> $WP_BASE" echo "chart_version_update_needed=true" >> $GITHUB_OUTPUT else echo "INFO: WordPress version unchanged - only other images updated" @@ -214,8 +222,8 @@ jobs: CURRENT_CHART_VERSION=$(grep '^version:' Chart.yaml | awk '{print $2}') CURRENT_APP_VERSION=$(grep '^appVersion:' Chart.yaml | awk '{print $2}' | tr -d '"') - # values.yamlの新しいWordPressバージョンを取得(imageタグから) - NEW_WP_VERSION=$(grep -A 3 'wordpress:' values.yaml | grep 'tag:' | awk -F'"' '{print $2}' | cut -d'-' -f1) + # 共有変数から最新のWordPressバージョン(ベース)を取得 + NEW_WP_VERSION="${{ steps.wordpress.outputs.version_base }}" # Chart.yamlはWordPressバージョンに合わせて更新(version と appVersion を同じにする) NEW_CHART_VERSION="$NEW_WP_VERSION"