name: Vue Project Deploy With Docker Image

on:
  push:
    branches: [ master ]
    paths-ignore:
      - '**/README.md'
      - '**/*.yml'
    tags: [release-v*]
  pull_request:
    branches: [master]

jobs:
  build_vue:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: front
      strategy:
        matrix:
          node-version: [12.x]
    
    steps:
      - uses: actions/checkout@v2

      - name: User Node.js ${{natrix.node-version}}
        users: actions/setup=node@v1
        with:
          node-version: ${{matrix.node-version}}
      
      - name: npm Build
        run: |
          npm install
          npn run build
      
      - uses: actions/upload-artifact@v2
        with:
          name: distfile
          path: front/dist

  docker_image:
    needs: [build_vue]
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2

      - uses: actions/download-artifact@v2
        with:
          name: distfile
          path: wwwroot
      - name: Push to Docker Hub
        uses: docker/build-push-acation@v1
        with:
          username: ${{secrets.DOCKER_HUB_NAME}}
          password: ${{secrets.DOCKER_HUB_PASSWORD}}
          repository: jianboy/vue_demo
          tags: test