feat: add support to subscription configuration (#72) #17
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Validate GitOps Manifests | |
| on: | |
| pull_request: | |
| paths-ignore: | |
| - '**/*.md' | |
| - 'LICENSE' | |
| - '.gitignore' | |
| - 'chart/**' | |
| push: | |
| branches: | |
| - main | |
| paths-ignore: | |
| - '**/*.md' | |
| - 'LICENSE' | |
| - '.gitignore' | |
| - 'chart/**' | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| validation: | |
| name: Static Validation | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| - name: Install validation tools | |
| run: make tools | |
| - name: Run YAML validation | |
| id: yaml-check | |
| continue-on-error: true | |
| run: | | |
| make validate-yaml 2>&1 | tee /tmp/yaml-output.txt | |
| exit ${PIPESTATUS[0]} | |
| - name: Run Kustomize build validation | |
| id: kustomize-check | |
| continue-on-error: true | |
| run: | | |
| make validate-kustomize 2>&1 | tee /tmp/kustomize-output.txt | |
| exit ${PIPESTATUS[0]} | |
| - name: Run best practices linting | |
| id: lint-check | |
| continue-on-error: true | |
| run: | | |
| make validate-lint 2>&1 | tee /tmp/lint-output.txt | |
| exit ${PIPESTATUS[0]} | |
| - name: Generate validation summary | |
| if: always() | |
| run: | | |
| echo "## Validation Results" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| # Overall status | |
| if [[ "${{ steps.yaml-check.outcome }}" == "success" && "${{ steps.kustomize-check.outcome }}" == "success" && "${{ steps.lint-check.outcome }}" == "success" ]]; then | |
| echo "✅ **All validations passed!**" >> $GITHUB_STEP_SUMMARY | |
| else | |
| echo " **Some validations failed**" >> $GITHUB_STEP_SUMMARY | |
| fi | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "| Check | Status |" >> $GITHUB_STEP_SUMMARY | |
| echo "|-------|--------|" >> $GITHUB_STEP_SUMMARY | |
| # YAML validation status | |
| if [[ "${{ steps.yaml-check.outcome }}" == "success" ]]; then | |
| echo "| YAML Lint | ✅ Passed |" >> $GITHUB_STEP_SUMMARY | |
| else | |
| echo "| YAML Lint | ❌ Failed |" >> $GITHUB_STEP_SUMMARY | |
| fi | |
| # Kustomize validation status | |
| if [[ "${{ steps.kustomize-check.outcome }}" == "success" ]]; then | |
| echo "| Kustomize Build | ✅ Passed |" >> $GITHUB_STEP_SUMMARY | |
| else | |
| echo "| Kustomize Build | ❌ Failed |" >> $GITHUB_STEP_SUMMARY | |
| fi | |
| # Lint validation status | |
| if [[ "${{ steps.lint-check.outcome }}" == "success" ]]; then | |
| echo "| Best Practices | ✅ Passed |" >> $GITHUB_STEP_SUMMARY | |
| else | |
| echo "| Best Practices | ❌ Failed |" >> $GITHUB_STEP_SUMMARY | |
| fi | |
| # Show error details for failed checks | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| if [[ "${{ steps.yaml-check.outcome }}" != "success" || "${{ steps.kustomize-check.outcome }}" != "success" || "${{ steps.lint-check.outcome }}" != "success" ]]; then | |
| echo "### Error Details" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| if [[ "${{ steps.yaml-check.outcome }}" != "success" && -f /tmp/yaml-output.txt ]]; then | |
| echo "<details>" >> $GITHUB_STEP_SUMMARY | |
| echo "<summary>YAML Lint Errors</summary>" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo '```' >> $GITHUB_STEP_SUMMARY | |
| tail -50 /tmp/yaml-output.txt >> $GITHUB_STEP_SUMMARY | |
| echo '```' >> $GITHUB_STEP_SUMMARY | |
| echo "</details>" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| fi | |
| if [[ "${{ steps.kustomize-check.outcome }}" != "success" && -f /tmp/kustomize-output.txt ]]; then | |
| echo "<details>" >> $GITHUB_STEP_SUMMARY | |
| echo "<summary>Kustomize Build Errors</summary>" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo '```' >> $GITHUB_STEP_SUMMARY | |
| tail -50 /tmp/kustomize-output.txt >> $GITHUB_STEP_SUMMARY | |
| echo '```' >> $GITHUB_STEP_SUMMARY | |
| echo "</details>" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| fi | |
| if [[ "${{ steps.lint-check.outcome }}" != "success" && -f /tmp/lint-output.txt ]]; then | |
| echo "<details>" >> $GITHUB_STEP_SUMMARY | |
| echo "<summary>Best Practices Lint Errors</summary>" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo '```' >> $GITHUB_STEP_SUMMARY | |
| tail -50 /tmp/lint-output.txt >> $GITHUB_STEP_SUMMARY | |
| echo '```' >> $GITHUB_STEP_SUMMARY | |
| echo "</details>" >> $GITHUB_STEP_SUMMARY | |
| fi | |
| fi | |
| - name: Fail if validations failed | |
| if: steps.yaml-check.outcome != 'success' || steps.kustomize-check.outcome != 'success' || steps.lint-check.outcome != 'success' | |
| run: | | |
| echo "One or more validations failed. Check the summary above for details." | |
| exit 1 |