name: "Build"
on: [push, pull_request]

jobs:
  lint:
    name: golangci-lint
    runs-on: ubuntu-24.04
    permissions:
      contents: read
    steps:
      - name: Set up Go 1.x
        uses: actions/setup-go@v6
        with:
          go-version: '1.25.x'
          check-latest: true
      - name: checkout
        uses: actions/checkout@v6
      - name: lint
        run: make lint
  test:
    name: test
    runs-on: ubuntu-24.04
    permissions:
      contents: read
    steps:
      - name: Set up Go 1.x
        uses: actions/setup-go@v6
        with:
          go-version: '1.25.x'
          check-latest: true
      - name: checkout
        uses: actions/checkout@v6
      - name: install hwdata -yq
        run: sudo apt-get install hwdata -yq
      - name: test
        run: make test-coverage
  build:
    name: build
    runs-on: ubuntu-24.04
    permissions:
      contents: read
    steps:
      - name: Set up Go 1.x
        uses: actions/setup-go@v6
        with:
          go-version: '1.25.x'
          check-latest: true
      - name: checkout
        uses: actions/checkout@v6
      - name: build
        run: make build