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 for blueprints id: generate run: | echo "### 📝 Blueprints Base64 Table" > comment.md echo '' >> comment.md echo "You can use the base64 value to import the blueprint into the UI." >> comment.md echo "
" >> comment.md echo "🔍 Show all blueprints 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 COMPOSE_CONTENT=$(jq -Rs . < "$COMPOSE_FILE") TEMPLATE_CONTENT=$(jq -Rs . < "$TEMPLATE_FILE") JSON="{\"compose\":$COMPOSE_CONTENT,\"config\":$TEMPLATE_CONTENT}" BASE64_JSON=$(echo -n "$JSON" | base64 -w 0) echo "#### $TEMPLATE_NAME" >> comment.md echo '' >> comment.md echo '```' >> comment.md echo "$BASE64_JSON" >> comment.md echo '```' >> comment.md echo '' fi fi done echo '
' >> comment.md - 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