name: gin-vue-admin build test

on:
    push:
      branches: 
        - '*'
      paths-ignore:
        - './db/**'
        - '**.md'
    pull_request:
      branches: 
        - '*'
      paths-ignore:
        - './db/**'
        - '**.md'

jobs:
  frontend:
    name: Frontend build 
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [12.x]
    steps:
      
    - name: Check out branch
      uses: actions/checkout@v2

    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v1
      with:
        node-version: ${{ matrix.node-version }}

    - name: Build test 
      run: |
        npm install
        npm run build
      working-directory: ./web
    
  backend:
    name: Backend build
    runs-on: ubuntu-latest
    steps:

    - name: Set up Go 1.13
      uses: actions/setup-go@v1
      with:
        go-version: 1.13
      id: go

    - name: Check out branch
      uses: actions/checkout@v2

    - name: Download dependencies
      run: |
        go get -v -t -d ./...
        if [ -f Gopkg.toml ]; then
            curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh
            dep ensure
        fi
      working-directory: ./server

    - name: Test and Build
      run: |
        go build -v -race
      working-directory: ./server