name: Node CI

on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [8.x, 10.x, 12.x]
    steps:
      - uses: actions/checkout@v1
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v1
        with:
          node-version: ${{ matrix.node-version }}
      - name: npm install, build, and test
        run: |
          npm install
          npm run build --if-present
          npm test
        env:
          CI: true

  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@master
      - name: deploy
        uses: mikeal/npx@master
        env:
          ZEIT_TOKEN: ${{ secrets.ZEIT_TOKEN }}
        with:
          args: "now --token $ZEIT_TOKEN"

name: Node CI

on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        node-version: [8.x, 10.x, 12.x]
    steps:
      - uses: actions/checkout@v1
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v1
        with:
          node-version: ${{ matrix.node-version }}
      - name: npm install, build, and test
        run: |
          npm install
          npm run build --if-present
          npm test
        env:
          CI: true

  deploy:
    needs: build
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@master
      - name: deploy
        uses: mikeal/npx@master
        env:
          ZEIT_TOKEN: ${{ secrets.ZEIT_TOKEN }}
        with:
          args: "now --token $ZEIT_TOKEN"

Add needs on step deploy
Add needs on step deploy
