name: Deploy to Firebase (definy-lang)

on:
  push:
    branches: main

jobs:
  build-and-deploy:
    name: build and deploy
    runs-on: ubuntu-20.04
    steps:
      - name: checkout repository
        uses: actions/checkout@v2
      - name: setup Node.js
        uses: actions/setup-node@v2
        with:
          node-version: "16"
      - name: Install npm dependencies (npm ci)
        run: npm ci
      - name: PureScript FFI Code TypeScript → JavaScript
        run: npx tsc --project ./tsconfig-purs-ffi.json
      - name: PureScript Build
        run: npx spago build
      - name: Run build script
        run: npx spago run --main Definy.StartProductionMain
      - name: Deploy to Firebase
        run: npx firebase deploy --config ./distribution/definy/firebase.json --project definy-lang --token ${{ secrets.FIREBASE_TOKEN }}
