Skip to content

ci: migrate basic example deployment from GitHub Pages to Firebase Ho… #15

ci: migrate basic example deployment from GitHub Pages to Firebase Ho…

ci: migrate basic example deployment from GitHub Pages to Firebase Ho… #15

name: Deploy basic example
# Deploys examples/basic to Firebase Hosting.
#
# Required repository secrets:
# FIREBASE_SERVICE_ACCOUNT - JSON key of a service account with the
# "Firebase Hosting Admin" role on the project
# in examples/basic/.firebaserc
# VITE_GOOGLE_MAPS_API_KEY - Google Maps JavaScript API key
# VITE_ARCGIS_API_KEY - ArcGIS Location Platform API key
# VITE_MAPBOX_ACCESS_TOKEN - Mapbox access token
# VITE_HERE_API_KEY - HERE platform API key
# The VITE_* values are embedded into the static bundle at build time.
on:
push:
branches:
- main
workflow_dispatch:
permissions:
contents: read
concurrency:
group: deploy-basic-example
cancel-in-progress: false
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7
with:
submodules: recursive
- name: Setup Node
uses: actions/setup-node@v6
with:
node-version: 22
- name: Cache node_modules
id: node-modules-cache
uses: actions/cache@v6
with:
path: node_modules
key: ${{ runner.os }}-node-modules-${{ hashFiles('**/package.json') }}
- name: Install dependencies
if: steps.node-modules-cache.outputs.cache-hit != 'true'
run: npm ci
- name: Build basic example
run: npm run build
env:
VITE_BASE_PATH: /
VITE_GOOGLE_MAPS_API_KEY: ${{ secrets.VITE_GOOGLE_MAPS_API_KEY }}
VITE_ARCGIS_API_KEY: ${{ secrets.VITE_ARCGIS_API_KEY }}
VITE_MAPBOX_ACCESS_TOKEN: ${{ secrets.VITE_MAPBOX_ACCESS_TOKEN }}
VITE_HERE_API_KEY: ${{ secrets.VITE_HERE_API_KEY }}
- name: Deploy to Firebase Hosting
uses: FirebaseExtended/action-hosting-deploy@v0
with:
repoToken: ${{ secrets.GITHUB_TOKEN }}
firebaseServiceAccount: ${{ secrets.FIREBASE_SERVICE_ACCOUNT }}
channelId: live
entryPoint: examples/basic