name: Linux CI

on:
  push:
    branches: [master]
  pull_request:

jobs:
  validate:
    runs-on: ubuntu-latest
    steps:
      - name: Check out repository code
        uses: actions/checkout@v5

      - name: Set up Go
        uses: actions/setup-go@v6
        with:
          go-version-file: "go.mod"

      # golangci-lint is required by test.sh. Latest version here if you want
      # to bump it, version number is at the end of the "curl | sh"
      # commandline below:
      # https://github.com/golangci/golangci-lint/releases/latest
      - name: Install golangci-lint
        run: curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b "$(go env GOPATH)"/bin v2.1.2

      - run: go build ./...
      - run: ./test.sh
      - run: GOARCH=386 ./test.sh
