fix: recharts tooltip formatter types #12
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 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 |