# This workflow will do a clean install of node dependencies,
# build the application and deploy it to production
# when a new version (git tag) is released

name: Build & Deploy (Production)

on:
  push:
    tags:
      - '*'

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Use Node.js 17
      uses: actions/setup-node@v1
      with:
        node-version: 17.x
    - name: Build app using Yarn
      run: |
        printf "VUE_APP_FB_API_KEY=${{ secrets.VUE_APP_FB_API_KEY_PROD }}\nVUE_APP_FB_PROJECT_ID=${{ secrets.VUE_APP_FB_PROJECT_ID_PROD }}" >> .env.production.local
        npm install -g yarn
        yarn install
        yarn build
    - name: Push Build files to production environment
      uses: burnett01/rsync-deployments@5.2
      with:
        switches: -avzr --delete
        path: dist/
        remote_path: ${{ secrets.DEPLOY_PATH_PROD }}
        remote_host: ${{ secrets.DEPLOY_HOST }}
        remote_port: ${{ secrets.DEPLOY_PORT }}
        remote_user: ${{ secrets.DEPLOY_USER }}
        remote_key: ${{ secrets.DEPLOY_SSH_KEY }}
        remote_key_pass: ${{ secrets.DEPLOY_SSH_PHRASE }}
