name: Upload Assets

on:
  pull_request: {}
  push:
    branches:
      - master

jobs:
  upload-assets:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

      - name: Use Node.js
        uses: actions/setup-node@v1

      - name: Get yarn cache
        id: yarn-cache
        run: echo "::set-output name=dir::$(yarn cache dir)"

      - uses: actions/cache@v1
        with:
          path: ${{ steps.yarn-cache.outputs.dir }}
          key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
          restore-keys: |
            ${{ runner.os }}-yarn-

      - run: yarn && yarn compile

      - run: yarn release
        name: Build web assets

      - name: Deploy to server
        id: deploy
        uses: Pendect/action-rsyncer@v1.1.0
        env:
          DEPLOY_KEY: ${{secrets.rsync_private_key}}
        with:
          flags: "-avzr --progress"
          options: ""
          ssh_options: ""
          src: "dist/*"
          dest: "rsync-user@fe.jimu.io:/web-assets/repo/${{ github.repository }}"

      - name: Display status from deploy
        run: echo "${{ steps.deploy.outputs.status }}"
