name: CI

on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: 2

      - name: Get changed files
        id: changed-files
        uses: tj-actions/changed-files@v14.1
        with:
          files: |
            go.*
            **/*.go
            integration_test/
            config-example.yaml

      - name: Setup Go
        if: steps.changed-files.outputs.any_changed == 'true'
        uses: actions/setup-go@v2
        with:
          go-version: "1.17.7"

      - name: Install dependencies
        if: steps.changed-files.outputs.any_changed == 'true'
        run: |
          go version
          sudo apt update
          sudo apt install -y make

      - name: Run tests
        if: steps.changed-files.outputs.any_changed == 'true'
        run: make test

      - name: Run build
        if: steps.changed-files.outputs.any_changed == 'true'
        run: make