# keeping the legacy CI around for backwards compatibility checks on v1
name: CI (Legacy)

on:
  push:
    branches: [ main ]
  pull_request:
    types: [opened, reopened, synchronize]

concurrency:
  group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
  cancel-in-progress: true

jobs:
  build-test:
    name: Build, test & format
    strategy:
      matrix:
        go-version: [1.16.x, 1.17.x, 1.18.x]
        platform: [ubuntu-latest]
    runs-on: ${{ matrix.platform }}
    steps:
    - uses: actions/checkout@v4

    - name: setup go
      uses: actions/setup-go@v5
      with:
        go-version: ${{ matrix.go-version }}

    - name: Build
      run: go build -v ./...

    - name: Test
      run: go test -v ./...

    - name: Format
      if: matrix.platform == 'ubuntu-latest'
      run: if [ "$(gofmt -s -l . | wc -l)" -gt 0 ]; then exit 1; fi