name: Go

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:

  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        go: ['1.24', '1.25']
    steps:
    - uses: actions/checkout@v3

    - name: Set up Go
      uses: actions/setup-go@v3
      with:
        go-version: ${{ matrix.go }}

    - name: Go Modules
      run: |
        go mod tidy
        git diff --exit-code

        go mod vendor
        git add -N vendor/
        git diff --exit-code

    - name: Build
      run: make build

    - name: Validation
      run: make validation

    - name: Build.Arches
      run: make build.arches

