update UI #150
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
| name: Deploy to GitHub Pages | |
| on: | |
| push: | |
| branches: [main] | |
| workflow_dispatch: | |
| # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| # Allow only one concurrent deployment | |
| concurrency: | |
| group: "pages" | |
| cancel-in-progress: false | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "20" | |
| cache: "npm" | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build with Vite | |
| env: | |
| # Public environment variables (safe to expose) | |
| VITE_SUPABASE_URL: ${{ secrets.VITE_SUPABASE_URL }} | |
| # Use the new publishable key format (recommended by Supabase) | |
| VITE_SUPABASE_PUBLISHABLE_KEY: ${{ secrets.VITE_SUPABASE_PUBLISHABLE_KEY }} | |
| # PostHog analytics | |
| VITE_POSTHOG_API_KEY: ${{ secrets.VITE_POSTHOG_API_KEY }} | |
| VITE_POSTHOG_HOST: ${{ secrets.VITE_POSTHOG_HOST }} | |
| # Disable public registration for production | |
| VITE_ENABLE_PUBLIC_REGISTRATION: "false" | |
| # Set to production to enable console stripping | |
| NODE_ENV: production | |
| run: npm run build | |
| - name: Copy index.html to 404.html for SPA routing | |
| run: cp ./dist/index.html ./dist/404.html | |
| - name: Prepare for GitHub Pages | |
| run: | | |
| # Add .nojekyll to prevent Jekyll processing | |
| touch ./dist/.nojekyll | |
| # Add CNAME file if using custom domain (comment out if not needed) | |
| # echo "yourdomain.com" > ./dist/CNAME | |
| # Verify the build output | |
| echo "=== Build Output Structure ===" | |
| ls -la ./dist/ | |
| echo "" | |
| echo "=== JavaScript Files ===" | |
| find ./dist -name "*.js" -type f | head -10 | |
| echo "" | |
| echo "=== Checking index.html ===" | |
| if [ -f "./dist/index.html" ]; then | |
| echo "✓ index.html found" | |
| # Show script tags to debug MIME type issues | |
| grep -E '<script|<link' ./dist/index.html | head -5 | |
| else | |
| echo "ERROR: index.html not found!" | |
| exit 1 | |
| fi | |
| - name: Setup Pages | |
| uses: actions/configure-pages@v4 | |
| - name: Upload artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: "./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 |