Move content config to src/content.config.ts for Astro 5.x compatibility #16
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
| # Deploy Site to GitHub Pages | |
| # Auto-builds and deploys on push to releases branch | |
| # Expects assets to be pre-built and committed via npm run build:assets | |
| name: Deploy Site | |
| on: | |
| push: | |
| branches: [releases] | |
| paths: | |
| - 'site/**' | |
| - '.github/workflows/deploy-site.yml' | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| concurrency: | |
| group: pages | |
| cancel-in-progress: false | |
| jobs: | |
| verify-assets: | |
| name: Verify Assets | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Check hero images exist | |
| run: | | |
| REQUIRED=( | |
| "site/public/assets/images/hero-purple-v6c.png" | |
| "site/public/assets/images/hero-workshop.png" | |
| "site/public/assets/images/hero-lab.png" | |
| "site/public/assets/images/hero-warm.png" | |
| "site/public/assets/images/hero-blueprint.png" | |
| "site/public/assets/images/hero-editorial.png" | |
| "site/public/assets/images/hero-brutalist.png" | |
| ) | |
| MISSING=0 | |
| for f in "${REQUIRED[@]}"; do | |
| if [ -f "$f" ]; then | |
| echo "✓ $f" | |
| else | |
| echo "✗ MISSING: $f" | |
| MISSING=$((MISSING+1)) | |
| fi | |
| done | |
| if [ $MISSING -gt 0 ]; then | |
| echo "" | |
| echo "ERROR: $MISSING required hero images missing!" | |
| echo "Run 'npm run build:assets' locally and commit the outputs." | |
| exit 1 | |
| fi | |
| echo "" | |
| echo "All required hero images present ✓" | |
| build: | |
| name: Build Site | |
| needs: verify-assets | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Node | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "20" | |
| cache: npm | |
| cache-dependency-path: site/package-lock.json | |
| - name: Install dependencies | |
| run: npm ci --prefix site | |
| - name: Build Astro site | |
| env: | |
| OUT_DIR: ../build/pages | |
| run: npm --prefix site run build:prod | |
| - name: Upload artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: build/pages | |
| deploy: | |
| name: Deploy to GitHub Pages | |
| needs: build | |
| runs-on: ubuntu-latest | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |