# This workflow will build a golang project # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go name: Go on: push: branches: - "**" - "!dependabot/**" - "!xgopilot/**" pull_request: branches: ["**"] concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: test: continue-on-error: true timeout-minutes: 30 strategy: matrix: os: - macos-latest - ubuntu-latest llvm: [19] runs-on: ${{matrix.os}} steps: - uses: actions/checkout@v6 - name: Install dependencies uses: ./.github/actions/setup-deps with: llvm-version: ${{matrix.llvm}} - name: Clang information run: | echo $PATH which clang clang --version - name: Set up Go uses: ./.github/actions/setup-go with: go-version: "1.24.2" - name: Build run: go build -v ./... - name: Test if: ${{!startsWith(matrix.os, 'macos')}} run: go test ./... - name: Test with coverage if: startsWith(matrix.os, 'macos') run: go test -coverprofile="coverage.txt" -covermode=atomic ./... - name: Upload coverage reports to Codecov uses: codecov/codecov-action@v5 with: token: ${{secrets.CODECOV_TOKEN}}