GenAI: support SSE streaming responses and raise HTTP capture limit to 256KB #8457
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: PR checks | |
| on: | |
| push: | |
| branches: [main, release-*] | |
| pull_request: | |
| branches: [main, release-*] | |
| workflow_call: | |
| inputs: | |
| ref: | |
| description: "Git ref (commit, branch, or tag) to check out" | |
| required: false | |
| type: string | |
| concurrency: | |
| group: pr-checks-${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| generate-bpf: | |
| name: Generate BPF | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| ref: ${{ inputs.ref || github.sha }} | |
| persist-credentials: false | |
| - uses: ./.github/actions/generate-bpf | |
| checks: | |
| name: Generated files and repo hygiene | |
| needs: generate-bpf | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| ref: ${{ inputs.ref || github.sha }} | |
| persist-credentials: false | |
| - name: Set up Go | |
| uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 # zizmor: ignore[cache-poisoning] go.sum verifies module integrity | |
| with: | |
| go-version-file: "go.mod" | |
| cache: true | |
| - name: Go build cache | |
| uses: actions/cache@2c8a9bd7457de244a408f35966fab2fb45fda9c8 # v6.0.0 # zizmor: ignore[cache-poisoning] go build cache is content-addressable and self-verifying | |
| with: | |
| path: ~/.cache/go-build | |
| key: go-build-pr-race-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('**/*.go', 'go.sum') }} | |
| restore-keys: | | |
| go-build-pr-race-${{ runner.os }}-${{ runner.arch }}- | |
| - name: Download generated BPF files | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 | |
| with: | |
| name: bpf-generated-${{ github.run_id }} | |
| - name: Build test tools | |
| run: make prereqs | |
| - name: Run checks | |
| run: make go-mod-tidy license-header-check notices-update check-go-mod check-ebpf-ver-synced check-config-schema check-config-v2-parity check-clean-work-tree | |
| clang-format: | |
| name: Clang format | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| ref: ${{ inputs.ref || github.sha }} | |
| fetch-depth: 0 | |
| persist-credentials: false | |
| - name: Install clang-format | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y clang-format-19 | |
| - name: Check clang-format | |
| run: | | |
| files=$( \ | |
| git diff --name-status origin/main...HEAD \ | |
| | awk '$1 != "D" && $2 !~ /^NOTICES/ && /\.(c|cpp|h)$/ { print ($3 != "" ? $3 : $2) }' \ | |
| ) | |
| if [ -z "$files" ]; then | |
| echo "No C/C++ files modified." | |
| exit 0 | |
| fi | |
| clang-format-19 -i $files | |
| if ! git diff --exit-code $files; then | |
| echo "Error: Some files are not formatted correctly. Run clang-format on the modified files or use the pre-commit hook." | |
| exit 1 | |
| fi | |
| clang-tidy: | |
| name: Clang tidy | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| ref: ${{ inputs.ref || github.sha }} | |
| persist-credentials: false | |
| - name: Install clang-tidy | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y wget lsb-release software-properties-common gnupg | |
| wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc | |
| sudo add-apt-repository -y 'deb http://apt.llvm.org/noble/ llvm-toolchain-noble main' | |
| sudo apt-get install -y clang-tidy-19 | |
| - name: Run clang-tidy | |
| run: CLANG_TIDY=clang-tidy-19 make clang-tidy | |
| collector-cross-compile: | |
| name: "Collector cross-compile (${{ matrix.goos }}/${{ matrix.goarch }})" | |
| needs: generate-bpf | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| # Supported platforms (full OBI eBPF support) | |
| - { goos: linux, goarch: amd64 } | |
| - { goos: linux, goarch: arm64 } | |
| # Unsupported platforms (factory stubs — must compile, return errUnsupportedPlatform at runtime) | |
| - { goos: linux, goarch: ppc64le } | |
| - { goos: linux, goarch: s390x } | |
| - { goos: linux, goarch: "386" } | |
| - { goos: windows, goarch: amd64 } | |
| - { goos: windows, goarch: arm64 } | |
| - { goos: darwin, goarch: amd64 } | |
| - { goos: darwin, goarch: arm64 } | |
| steps: | |
| - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| with: | |
| ref: ${{ inputs.ref || github.sha }} | |
| persist-credentials: false | |
| - name: Set up Go | |
| uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6.5.0 # zizmor: ignore[cache-poisoning] go.sum verifies module integrity | |
| with: | |
| go-version-file: "go.mod" | |
| cache: true | |
| - name: Go build cache | |
| uses: actions/cache@2c8a9bd7457de244a408f35966fab2fb45fda9c8 # v6.0.0 # zizmor: ignore[cache-poisoning] go build cache is content-addressable and self-verifying | |
| with: | |
| path: ~/.cache/go-build | |
| key: go-build-cross-${{ matrix.goos }}-${{ matrix.goarch }}-${{ hashFiles('**/*.go', 'go.sum') }} | |
| restore-keys: | | |
| go-build-cross-${{ matrix.goos }}-${{ matrix.goarch }}- | |
| - name: Download generated BPF files | |
| uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 | |
| with: | |
| name: bpf-generated-${{ github.run_id }} | |
| - name: Build collector package | |
| env: | |
| GOOS: ${{ matrix.goos }} | |
| GOARCH: ${{ matrix.goarch }} | |
| run: go build ./collector/... |