name: Tests and linters on: [pull_request] jobs: lint: name: Lint runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up Go uses: actions/setup-go@v3 with: go-version: '1.23' cache: true - name: Install linters run: make lint-install - name: Run linters run: make lint clang-format: name: Check clang-format runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 - name: Install deps run: | apt update apt install -y clang-format - name: Run clang-format run: make clang - name: Print diff run: git diff HEAD - name: Check that nothing has changed run: git diff-index --exit-code HEAD tests: name: Tests runs-on: ubuntu-latest strategy: matrix: go_versions: [ '1.22', '1.23' ] fail-fast: false steps: - uses: actions/checkout@v3 - name: Set up Go uses: actions/setup-go@v3 with: go-version: '${{ matrix.go_versions }}' cache: true - name: Run tests run: make test tests-race: name: Tests with -race runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up Go uses: actions/setup-go@v3 with: go-version: '1.22' cache: true - name: Run tests run: go test ./... -count=1 -race