Skip to content

docs: add @mjaskolski (wondelai/skills) to contributors list #1

docs: add @mjaskolski (wondelai/skills) to contributors list

docs: add @mjaskolski (wondelai/skills) to contributors list #1

name: Deploy Marketplace to GitHub Pages
on:
push:
branches: [main]
paths:
- 'marketplace/**'
- '.github/workflows/deploy-marketplace.yml'
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: '20'
- name: Enable Corepack
run: corepack enable
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build with Astro
run: pnpm -C marketplace build
- name: Validate Playbook Routes (source + dist)
run: node marketplace/scripts/validate-playbook-routes.mjs --dist
- name: Validate Internal Links (dist)
run: node marketplace/scripts/validate-internal-links.mjs
- name: Validate Plugin Routes
run: node marketplace/scripts/validate-routes.mjs
- name: Validate Skill→Plugin Links
run: node marketplace/scripts/validate-links.mjs
- name: Smoke Test - Verify Build Output
run: |
# Check that index.html exists and has proper content
if [ ! -f "marketplace/dist/index.html" ]; then
echo "ERROR: marketplace/dist/index.html not found"
exit 1
fi
# Check max line length (should be < 5000 chars to prevent iOS Safari issues)
MAX_LINE=$(wc -L marketplace/dist/index.html | awk '{print $1}')
if [ "$MAX_LINE" -gt 5000 ]; then
echo "ERROR: HTML line too long ($MAX_LINE chars). iOS Safari may fail to render."
echo "Disable compressHTML in astro.config.mjs"
exit 1
fi
# Check that it contains expected HTML markers
if ! grep -q "<!DOCTYPE html>" marketplace/dist/index.html; then
echo "ERROR: Missing DOCTYPE in index.html"
exit 1
fi
if ! grep -q "Claude Code" marketplace/dist/index.html; then
echo "ERROR: Missing expected content in index.html"
exit 1
fi
echo "✓ Smoke test passed: index.html is valid (max line: $MAX_LINE chars)"
- name: Upload artifact
uses: actions/upload-pages-artifact@v4
with:
path: ./marketplace/dist
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4