templates/.github/workflows/base64-templates.yml

66 lines
1.9 KiB
YAML

name: Generate Base64 Blueprints Table
on:
pull_request:
branches:
- main
push:
branches:
- main
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 (short) |' >> 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}..."
# Add table row with short base64 preview
echo "| $TEMPLATE_NAME | \`$SHORT_CONTENT\` |" >> comment.md
# Add collapsible full base64 section
echo '' >> comment.md
echo "<details>" >> comment.md
echo "<summary>🔍 $TEMPLATE_NAME Full Base64</summary>" >> comment.md
echo '' >> comment.md
echo '```' >> comment.md
echo "$CONTENT" >> comment.md
echo '```' >> comment.md
echo '</details>' >> comment.md
echo ''
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