Skip to content

add sponsors: VectorNav, Hakko, Optrel, RapidHarness, SCS (and improv… #6

add sponsors: VectorNav, Hakko, Optrel, RapidHarness, SCS (and improv…

add sponsors: VectorNav, Hakko, Optrel, RapidHarness, SCS (and improv… #6

Workflow file for this run

name: Deploy to Production
on:
push:
branches: [main]
# Do not cancel in-progress deploys — let each finish cleanly
concurrency:
group: deploy-production
cancel-in-progress: false
jobs:
build-and-deploy:
name: Build, Validate & Deploy
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 'lts/*'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Type check
run: npx tsc --noEmit
- name: Lint
run: npm run lint
- name: Build
run: npm run build
- name: Verify output files
run: |
FAILED=0
for page in index team sponsors become-sponsor photos contact 404; do
file="out/${page}.html"
if [ ! -f "$file" ]; then
echo "❌ Missing: $file"
FAILED=1
continue
fi
size=$(wc -c < "$file")
if [ "$size" -lt 1000 ]; then
echo "❌ $file is suspiciously small (${size} bytes) — possible build error"
FAILED=1
else
echo "✅ $file (${size} bytes)"
fi
done
exit $FAILED
- name: Deploy to Firebase
env:
FIREBASE_TOKEN: ${{ secrets.FIREBASE_TOKEN }}
FIREBASE_PROJECT_ID: ${{ secrets.FIREBASE_PROJECT_ID }}
run: |
npx firebase deploy --only hosting \
--project "$FIREBASE_PROJECT_ID" \
--token "$FIREBASE_TOKEN" \
--non-interactive
- name: Deployment summary
run: |
cat >> $GITHUB_STEP_SUMMARY << EOF
## ✅ Production Deployment Successful
- **Branch:** \`${{ github.ref_name }}\`
- **Commit:** \`${{ github.sha }}\`
- **Triggered by:** ${{ github.actor }}
EOF