diff --git a/.gitea/workflows/helm-release.yaml b/.gitea/workflows/helm-release.yaml index 41d5820..23b2ccf 100644 --- a/.gitea/workflows/helm-release.yaml +++ b/.gitea/workflows/helm-release.yaml @@ -1,97 +1,82 @@ # .gitea/workflows/helm-release.yaml +# WordPress Helmチャート公開用ワークフロー + name: Helm Chart Release on: push: branches: - main - paths: - - 'phpfpm/**' - - 'phpmyadmin/**' - - 'wordpress/**' - - '!**.md' + - master + workflow_dispatch: # 手動実行を有効化 env: REGISTRY_URL: https://git.cafepieters.com OWNER: helmchart + CHART_NAME: wordpress jobs: - release-charts: + release-chart: runs-on: ubuntu-latest steps: - name: Checkout run: | + echo "🔄 Cloning repository..." git clone --depth 1 $GITHUB_SERVER_URL/$GITHUB_REPOSITORY.git . git fetch --depth 1 + echo "✅ Repository cloned" - name: Install Helm run: | + echo "📦 Installing Helm..." curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash helm version + echo "✅ Helm installed" - - name: Package and Publish phpfpm - if: github.event_name == 'push' + - name: Validate Chart run: | - if [ -d "phpfpm" ]; then - helm package phpfpm/ - CHART_FILE=$(ls phpfpm-*.tgz) - curl --fail-with-body -u "${{ secrets.REGISTRY_USER }}:${{ secrets.REGISTRY_TOKEN }}" \ - -X POST \ - --upload-file "${CHART_FILE}" \ - "${REGISTRY_URL}/api/packages/${OWNER}/helm/api/charts" - rm -f "${CHART_FILE}" - fi + echo "🔍 Validating Helm chart..." + helm lint . + echo "✅ Chart validation passed" - - name: Package and Publish phpmyadmin - if: github.event_name == 'push' + - name: Package Chart run: | - if [ -d "phpmyadmin" ]; then - helm package phpmyadmin/ - CHART_FILE=$(ls phpmyadmin-*.tgz) - curl --fail-with-body -u "${{ secrets.REGISTRY_USER }}:${{ secrets.REGISTRY_TOKEN }}" \ - -X POST \ - --upload-file "${CHART_FILE}" \ - "${REGISTRY_URL}/api/packages/${OWNER}/helm/api/charts" - rm -f "${CHART_FILE}" - fi + echo "📦 Packaging Helm chart..." + helm package . + + CHART_FILE=$(ls ${CHART_NAME}-*.tgz) + echo "✅ Packaged: ${CHART_FILE}" - - name: Package and Publish wordpress - if: github.event_name == 'push' + - name: Publish to Gitea Package Registry run: | - if [ -d "wordpress" ]; then - helm package wordpress/ - CHART_FILE=$(ls wordpress-*.tgz) - curl --fail-with-body -u "${{ secrets.REGISTRY_USER }}:${{ secrets.REGISTRY_TOKEN }}" \ - -X POST \ - --upload-file "${CHART_FILE}" \ - "${REGISTRY_URL}/api/packages/${OWNER}/helm/api/charts" - rm -f "${CHART_FILE}" - fi + CHART_FILE=$(ls ${CHART_NAME}-*.tgz) + echo "🚀 Publishing ${CHART_FILE} to Gitea Package Registry..." + + curl --fail-with-body \ + -u "${{ secrets.REGISTRY_USER }}:${{ secrets.REGISTRY_TOKEN }}" \ + -X POST \ + --upload-file "${CHART_FILE}" \ + "${REGISTRY_URL}/api/packages/${OWNER}/helm/api/charts" + + echo "✅ Chart published successfully!" - - name: Generate charts directory - run: | - mkdir -p charts - [ -d "phpfpm" ] && helm package phpfpm/ -d charts/ - [ -d "phpmyadmin" ] && helm package phpmyadmin/ -d charts/ - [ -d "wordpress" ] && helm package wordpress/ -d charts/ - - - name: Generate index.yaml - run: | - helm repo index charts/ --url https://git.cafepieters.com/api/packages/${OWNER}/helm/charts/ - - - name: Commit and push index.yaml - run: | - cp charts/index.yaml ./index.yaml - git config user.name "Gitea Actions" - git config user.email "actions@gitea.com" - git add index.yaml - git commit -m "chore: update helm index [skip ci]" || exit 0 - git push - - - name: Notify Success + - name: Summary if: success() - run: echo "✅ All Helm charts published successfully!" + run: | + echo "================================" + echo "✅ Deployment Successful!" + echo "================================" + echo "Repository: ${{ github.repository }}" + echo "Commit: ${{ github.sha }}" + echo "Branch: ${{ github.ref }}" + echo "Chart: ${CHART_NAME}" + echo "================================" - - name: Notify Failure + - name: Error Report if: failure() - run: echo "❌ Failed to publish Helm charts" \ No newline at end of file + run: | + echo "================================" + echo "❌ Deployment Failed!" + echo "================================" + echo "Check the logs above for details" + echo "================================" \ No newline at end of file