name: Node.js CI

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:

    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [16.x]

    steps:
    - uses: actions/checkout@v2
    - name: Use Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v1
      with:
        node-version: ${{ matrix.node-version }}
    - run: yarn
    - run: yarn build

  deploy:
    needs: build
    runs-on: ubuntu-latest
    if: (github.ref == 'refs/heads/master') && (github.repository == 'citra-emu/discord-bot')
    steps:
    - uses: actions/checkout@v2
    - uses: docker/setup-buildx-action@v1
      name: Setup Docker BuildX system
    - name: Login to DockerHub
      uses: docker/login-action@v1 
      with:
        username: ${{ secrets.DOCKERHUB_USERNAME }}
        password: ${{ secrets.DOCKERHUB_TOKEN }}
    - uses: docker/build-push-action@v2
      name: Deploy the image
      with:
        push: true
        tags: citraemu/discord-bot:latest