diff --git a/.github/workflows/base64-templates.yml b/.github/workflows/base64-templates.yml new file mode 100644 index 00000000..98f2e221 --- /dev/null +++ b/.github/workflows/base64-templates.yml @@ -0,0 +1,62 @@ +name: Generate Base64 Blueprints Table + +on: + pull_request: + paths: + - 'blueprints/**' + push: + branches: + - main + paths: + - 'blueprints/**' + +jobs: + encode-and-comment: + runs-on: ubuntu-latest + + steps: + - name: Checkout repo + uses: actions/checkout@v4 + + - name: Generate base64 table + id: generate + run: | + echo "### 📝 Blueprints Base64 Table" > comment.md + echo '' >> comment.md + echo '| Template | Base64 |' >> comment.md + echo '|----------|--------|' >> comment.md + + for dir in blueprints/*; do + if [ -d "$dir" ]; then + TEMPLATE_NAME=$(basename "$dir") + + COMPOSE_FILE="$dir/docker-compose.yml" + TEMPLATE_FILE="$dir/template.yml" + + if [ -f "$COMPOSE_FILE" ] && [ -f "$TEMPLATE_FILE" ]; then + CONTENT=$(cat "$COMPOSE_FILE" "$TEMPLATE_FILE" | base64 -w 0) + SHORT_CONTENT="${CONTENT:0:50}..." # Primera parte para la tabla + echo "| $TEMPLATE_NAME | \`$SHORT_CONTENT\` |" >> comment.md + + # Detalle completo + echo '' >> comment.md + echo "#### $TEMPLATE_NAME Full Base64" >> comment.md + echo '' >> comment.md + echo '```' >> comment.md + echo "$CONTENT" >> comment.md + echo '```' >> comment.md + fi + fi + done + + - name: Post comment to PR + uses: marocchino/sticky-pull-request-comment@v2 + if: github.event_name == 'pull_request' + with: + path: comment.md + + - name: Post comment to commit (fallback) + uses: peter-evans/commit-comment@v3 + if: github.event_name != 'pull_request' + with: + body-path: comment.md