name: Lint

on:
  push:
    branches:
      - master
      - develop
      - release/*
  pull_request:
    branches:
      - master
      - develop
      - release/*

jobs:
  run-linters:
    name: Run linters
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@v2
        with:
          node-version: '14'
          cache: 'yarn'
      - uses: actions/setup-go@v3
        with:
          go-version: 1.19.4
      - run: yarn --frozen-lockfile

      - name: Run linters
        uses: wearerequired/lint-action@v1
        with:
          eslint: true
          eslint_extensions: ts,tsx,js,jsx
          prettier: true
          prettier_dir: app/
          gofmt: true
          gofmt_dir: api/
      - name: Typecheck
        uses: icrawl/action-tsc@v1
      - name: GolangCI-Lint
        uses: golangci/golangci-lint-action@v3
        with:
          version: latest
          working-directory: api
          args: -c .golangci.yaml
