name: Build and deploy preview

on:
  push:
    branches:
      - main
      - dev-gh

env:
  NODE: 14

jobs:
  github-pages:
    runs-on: ubuntu-latest
    steps:
      - name: Clone repository
        uses: actions/checkout@v2

      - name: Set up Node.js
        uses: actions/setup-node@v2
        with:
          node-version: "${{ env.NODE }}"
          cache: npm

      - name: Set up Ruby
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: 2.6
          bundler-cache: true

      - run: ruby --version
      - run: node --version

      - name: Install npm dependencies
        run: npm ci

      - name: Build preview
        run: npm run preview

      - name: Sync files
        uses: SamKirkland/FTP-Deploy-Action@4.1.0
        with:
          server: ${{ secrets.PREVIEW_HOST }}
          username: ${{ secrets.PREVIEW_USER }}
          password: ${{ secrets.PREVIEW_PASSWORD }}
          local-dir: ./demo/
