Doc: Cleanup developer-guide #1456
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: CI - PR Checks | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| - dev | |
| jobs: | |
| # Check if PR contains code changes (not just docs/metadata) | |
| check-code-changes: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| outputs: | |
| has_code_changes: ${{ steps.filter.outputs.code }} | |
| steps: | |
| - name: Checkout source | |
| uses: actions/checkout@v4 | |
| - name: Check for code changes | |
| uses: dorny/paths-filter@v3 | |
| id: filter | |
| with: | |
| filters: | | |
| code: | |
| - '!docs/**' | |
| - '!README.md' | |
| - '!CONTRIBUTING.md' | |
| - '!LICENSE' | |
| - '!OWNERS' | |
| - '!PROJECT' | |
| lint-and-test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout source | |
| uses: actions/checkout@v4 | |
| - name: Sanity check repo contents | |
| run: ls -la | |
| - name: Extract Go version from go.mod | |
| run: sed -En 's/^go (.*)$/GO_VERSION=\1/p' go.mod >> $GITHUB_ENV | |
| - name: Set up Go with cache | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: "${{ env.GO_VERSION }}" | |
| cache-dependency-path: ./go.sum | |
| - name: Install dependencies | |
| run: go mod download | |
| - name: Install golangci-lint | |
| uses: golangci/golangci-lint-action@v8 | |
| with: | |
| version: v2.8.0 | |
| args: "" | |
| - name: Run make build | |
| shell: bash | |
| run: | | |
| make build | |
| - name: Run make test | |
| shell: bash | |
| run: | | |
| make test | |
| # E2E tests run in parallel with different configurations: | |
| # - HPAScaleToZero feature gate settings (true/false) | |
| # - GPU types (nvidia/amd) for limiter tests | |
| # Skip e2e tests if PR only contains docs/metadata changes | |
| e2e-tests: | |
| runs-on: ubuntu-latest | |
| needs: [lint-and-test, check-code-changes] | |
| if: needs.check-code-changes.outputs.has_code_changes == 'true' | |
| timeout-minutes: 60 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| # NVIDIA-focused: H100, A100, AMD MI300X heterogeneous for limiter tests | |
| - gpu_type: nvidia-mix | |
| scale_to_zero: true | |
| e2e_gpu_type: nvidia | |
| # AMD-focused: MI300X, MI250, NVIDIA A100 heterogeneous for limiter tests | |
| # - gpu_type: amd-mix | |
| # scale_to_zero: false | |
| # e2e_gpu_type: amd | |
| name: e2e-tests (gpu=${{ matrix.gpu_type }}, scale-to-zero=${{ matrix.scale_to_zero }}) | |
| steps: | |
| - name: Checkout source | |
| uses: actions/checkout@v4 | |
| - name: Extract Go version from go.mod | |
| run: sed -En 's/^go (.*)$/GO_VERSION=\1/p' go.mod >> $GITHUB_ENV | |
| - name: Set up Go with cache | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: "${{ env.GO_VERSION }}" | |
| cache-dependency-path: ./go.sum | |
| - name: Install dependencies | |
| run: go mod download | |
| - name: Install Kind | |
| run: | | |
| ARCH=$(uname -m) | |
| case "$ARCH" in | |
| x86_64) KIND_ARCH="amd64" ;; | |
| aarch64) KIND_ARCH="arm64" ;; | |
| *) echo "Unsupported architecture: $ARCH"; exit 1 ;; | |
| esac | |
| curl -Lo ./kind "https://kind.sigs.k8s.io/dl/v0.25.0/kind-linux-${KIND_ARCH}" | |
| chmod +x ./kind | |
| sudo mv ./kind /usr/local/bin/kind | |
| kind version | |
| - name: Run e2e tests | |
| shell: bash | |
| env: | |
| ENABLE_SCALE_TO_ZERO: ${{ matrix.scale_to_zero }} | |
| CLUSTER_GPU_TYPE: ${{ matrix.gpu_type }} | |
| E2E_GPU_TYPE: ${{ matrix.e2e_gpu_type }} | |
| MULTI_MODEL_TESTING: "false" | |
| run: | | |
| make test-e2e |