name: Golang linters
on:
  push:
    branches:
      - "master"
      - "develop"
    tags:
      - 'v*'
  pull_request:

env:
  GO_VERSION: '1.23'
  NODE_VERSION: '20.17.0'

jobs:
  nilaway:
    name: Nilaway Linter
    runs-on: ubuntu-latest 
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Set up Go
        uses: actions/setup-go@v5
        with:
          go-version: ${{ env.GO_VERSION }}
          cache: true

      - name: Install Nilaway
        run: go install go.uber.org/nilaway/cmd/nilaway@latest

      - name: Nilaway
        # This will fail for a while. Lots of work needs to go in to resolve the callsites.
        # Long-term the bypass below should be removed.
        continue-on-error: true
        run: nilaway ./...
