# .gitea/workflows/helm-release.yaml # WordPress Helmチャート公開用ワークフロー name: Helm Chart Release on: push: branches: - main - master workflow_dispatch: # 手動実行を有効化 env: REGISTRY_URL: https://git.cafepieters.com OWNER: helmchart CHART_NAME: wordpress jobs: 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: Validate Chart run: | echo "🔍 Validating Helm chart..." helm lint . echo "✅ Chart validation passed" - name: Package Chart run: | echo "📦 Packaging Helm chart..." helm package . CHART_FILE=$(ls ${CHART_NAME}-*.tgz) echo "✅ Packaged: ${CHART_FILE}" - name: Publish to Gitea Package Registry run: | 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: Summary if: success() run: | echo "================================" echo "✅ Deployment Successful!" echo "================================" echo "Repository: ${{ github.repository }}" echo "Commit: ${{ github.sha }}" echo "Branch: ${{ github.ref }}" echo "Chart: ${CHART_NAME}" echo "================================" - name: Error Report if: failure() run: | echo "================================" echo "❌ Deployment Failed!" echo "================================" echo "Check the logs above for details" echo "================================"