Skip to content

fix: recharts tooltip formatter types #12

fix: recharts tooltip formatter types

fix: recharts tooltip formatter types #12

Workflow file for this run

name: Deploy Vitrine
on:
push:
branches: [main, master]
workflow_dispatch:
env:
PROJECT_ID: vitrine-wamba-2026
REGION: europe-west1
AR_REPO: vitrine-docker
API_SERVICE: vitrine-api
PIPELINE_JOB: vitrine-pipeline
SA_DEPLOYER: github-actions-deployer@vitrine-wamba-2026.iam.gserviceaccount.com
SA_RUNTIME: vitrine-cloud-run@vitrine-wamba-2026.iam.gserviceaccount.com
WIF_PROVIDER: projects/733840364486/locations/global/workloadIdentityPools/github-pool/providers/github-provider
jobs:
# ── Build + deploy API ──────────────────────────────────────────────────
deploy-api:
name: Build & Deploy API
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- uses: actions/checkout@v4
- id: auth
name: Authenticate to GCP (Workload Identity Federation)
uses: google-github-actions/auth@v2
with:
workload_identity_provider: ${{ env.WIF_PROVIDER }}
service_account: ${{ env.SA_DEPLOYER }}
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2
- name: Configure Docker for Artifact Registry
run: gcloud auth configure-docker ${{ env.REGION }}-docker.pkg.dev --quiet
- name: Build API image
run: |
docker build \
-f docker/Dockerfile.api \
-t ${{ env.REGION }}-docker.pkg.dev/${{ env.PROJECT_ID }}/${{ env.AR_REPO }}/vitrine-api:${{ github.sha }} \
-t ${{ env.REGION }}-docker.pkg.dev/${{ env.PROJECT_ID }}/${{ env.AR_REPO }}/vitrine-api:latest \
.
- name: Push API image
run: |
docker push ${{ env.REGION }}-docker.pkg.dev/${{ env.PROJECT_ID }}/${{ env.AR_REPO }}/vitrine-api:${{ github.sha }}
docker push ${{ env.REGION }}-docker.pkg.dev/${{ env.PROJECT_ID }}/${{ env.AR_REPO }}/vitrine-api:latest
- name: Deploy API to Cloud Run
run: |
gcloud run deploy ${{ env.API_SERVICE }} \
--image=${{ env.REGION }}-docker.pkg.dev/${{ env.PROJECT_ID }}/${{ env.AR_REPO }}/vitrine-api:${{ github.sha }} \
--region=${{ env.REGION }} \
--platform=managed \
--allow-unauthenticated \
--service-account=${{ env.SA_RUNTIME }} \
--set-secrets=OPENAI_API_KEY=openai-api-key:latest \
--memory=512Mi \
--cpu=1 \
--max-instances=3 \
--quiet
# ── Build + update pipeline Cloud Run Job ───────────────────────────────
deploy-pipeline:
name: Build & Deploy Pipeline Job
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- uses: actions/checkout@v4
- id: auth
name: Authenticate to GCP (Workload Identity Federation)
uses: google-github-actions/auth@v2
with:
workload_identity_provider: ${{ env.WIF_PROVIDER }}
service_account: ${{ env.SA_DEPLOYER }}
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2
- name: Configure Docker for Artifact Registry
run: gcloud auth configure-docker ${{ env.REGION }}-docker.pkg.dev --quiet
- name: Build pipeline image
run: |
docker build \
-f docker/Dockerfile.pipeline \
-t ${{ env.REGION }}-docker.pkg.dev/${{ env.PROJECT_ID }}/${{ env.AR_REPO }}/vitrine-pipeline:${{ github.sha }} \
-t ${{ env.REGION }}-docker.pkg.dev/${{ env.PROJECT_ID }}/${{ env.AR_REPO }}/vitrine-pipeline:latest \
.
- name: Push pipeline image
run: |
docker push ${{ env.REGION }}-docker.pkg.dev/${{ env.PROJECT_ID }}/${{ env.AR_REPO }}/vitrine-pipeline:${{ github.sha }}
docker push ${{ env.REGION }}-docker.pkg.dev/${{ env.PROJECT_ID }}/${{ env.AR_REPO }}/vitrine-pipeline:latest
- name: Update Cloud Run Job
run: |
gcloud run jobs update ${{ env.PIPELINE_JOB }} \
--image=${{ env.REGION }}-docker.pkg.dev/${{ env.PROJECT_ID }}/${{ env.AR_REPO }}/vitrine-pipeline:${{ github.sha }} \
--region=${{ env.REGION }} \
--service-account=${{ env.SA_RUNTIME }} \
--set-secrets=OPENAI_API_KEY=openai-api-key:latest \
--memory=4Gi \
--cpu=2 \
--quiet || \
gcloud run jobs create ${{ env.PIPELINE_JOB }} \
--image=${{ env.REGION }}-docker.pkg.dev/${{ env.PROJECT_ID }}/${{ env.AR_REPO }}/vitrine-pipeline:${{ github.sha }} \
--region=${{ env.REGION }} \
--service-account=${{ env.SA_RUNTIME }} \
--set-secrets=OPENAI_API_KEY=openai-api-key:latest \
--memory=4Gi \
--cpu=2 \
--quiet
# ── Deploy frontend to Vercel ────────────────────────────────────────────
deploy-frontend:
name: Deploy Frontend to Vercel
runs-on: ubuntu-latest
needs: [deploy-api]
steps:
- uses: actions/checkout@v4
- name: Deploy to Vercel
run: npx vercel --prod --yes --token=${{ secrets.VERCEL_TOKEN }}
env:
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
working-directory: frontend