chore(deps): bump google.golang.org/grpc from 1.72.1 to 1.79.1 #4441
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
| # Copyright 2025 NVIDIA CORPORATION | |
| # SPDX-License-Identifier: Apache-2.0 | |
| name: KAI Scheduler - Pull Request | |
| on: | |
| pull_request: | |
| types: [opened, reopened, synchronize] | |
| concurrency: | |
| group: ${{ github.head_ref || github.ref || github.run_id }} | |
| cancel-in-progress: true | |
| jobs: | |
| validate-and-test: | |
| name: Validate & Test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Set up Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: '1.24.0' | |
| - name: Run validation | |
| run: make validate | |
| - name: Run tests | |
| run: make test | |
| - name: Archive code coverage results | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: code-coverage | |
| path: coverage/coverage.out | |
| code-coverage-report: | |
| name: Code Coverage Report | |
| runs-on: ubuntu-latest | |
| needs: validate-and-test | |
| permissions: | |
| contents: read | |
| actions: read | |
| pull-requests: write | |
| steps: | |
| - uses: fgrosse/go-coverage-report@8c1d1a09864211d258937b1b1a5b849f7e4f2682 | |
| with: | |
| coverage-artifact-name: "code-coverage" | |
| coverage-file-name: "coverage.out" | |
| root-package: "github.com/NVIDIA/KAI-scheduler" | |
| github-baseline-workflow-ref: update-coverage-badge.yaml | |
| build: | |
| name: Build | |
| runs-on: ubuntu-latest | |
| outputs: | |
| package_version: ${{ steps.package_version.outputs.PACKAGE_VERSION }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Extract package version | |
| id: package_version | |
| run: | | |
| PACKAGE_VERSION=0.0.0-$(git rev-parse --short HEAD) | |
| echo "PACKAGE_VERSION=$PACKAGE_VERSION" >> $GITHUB_ENV | |
| echo "PACKAGE_VERSION=$PACKAGE_VERSION" >> $GITHUB_OUTPUT | |
| echo $PACKAGE_VERSION | |
| - name: Set up Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: '1.24.0' | |
| - name: Move Docker Data to /mnt | |
| run: | | |
| sudo systemctl stop docker | |
| sudo mkdir -p /mnt/docker-data | |
| echo '{"data-root": "/mnt/docker-data"}' | sudo tee /etc/docker/daemon.json | |
| sudo systemctl start docker | |
| docker info | grep "Docker Root Dir" | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Create image cache directory | |
| run: | | |
| sudo mkdir -p /mnt/images | |
| sudo chown -R $USER:$USER /mnt/images | |
| - name: Cache for docker images and helm chart | |
| uses: actions/cache@v4 | |
| with: | |
| path: /mnt/images | |
| key: images-${{ github.sha }} | |
| - name: Build docker images | |
| run: | | |
| make build DOCKER_BUILDX_ADDITIONAL_ARGS=--load VERSION=$PACKAGE_VERSION | |
| docker save $(docker images --format '{{.Repository}}:{{.Tag}}' | grep $PACKAGE_VERSION) | gzip > /mnt/images/docker_images.tgz | |
| - name: Build helm chart | |
| run: | | |
| helm package ./deployments/kai-scheduler -d ./charts --app-version $PACKAGE_VERSION --version $PACKAGE_VERSION | |
| cp charts/kai-scheduler-$PACKAGE_VERSION.tgz /mnt/images/ | |
| e2e-tests: | |
| name: Run E2E Tests | |
| needs: [ build ] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Move Docker Data to /mnt | |
| run: | | |
| sudo systemctl stop docker | |
| sudo mkdir -p /mnt/docker-data | |
| echo '{"data-root": "/mnt/docker-data"}' | sudo tee /etc/docker/daemon.json | |
| sudo systemctl start docker | |
| docker info | grep "Docker Root Dir" | |
| - name: Create images directory | |
| run: | | |
| sudo mkdir -p /mnt/images | |
| sudo chown -R $USER:$USER /mnt/images | |
| - name: Cache restore | |
| uses: actions/cache/restore@v4 | |
| with: | |
| path: /mnt/images | |
| key: images-${{ github.sha }} | |
| - name: Create k8s Kind Cluster | |
| uses: helm/kind-action@v1.10.0 | |
| with: | |
| cluster_name: kind | |
| version: v0.30.0 | |
| config: ./hack/e2e-kind-config.yaml | |
| - name: Load docker images to kind | |
| env: | |
| PACKAGE_VERSION: ${{ needs.build.outputs.package_version }} | |
| run: | | |
| docker load < /mnt/images/docker_images.tgz | |
| for image in $(docker images --format '{{.Repository}}:{{.Tag}}' | grep $PACKAGE_VERSION); do | |
| kind load docker-image $image --name kind | |
| done | |
| - name: Deploy fake gpu operator | |
| run: | | |
| helm upgrade -i gpu-operator oci://ghcr.io/run-ai/fake-gpu-operator/fake-gpu-operator --namespace gpu-operator --create-namespace \ | |
| --version 0.0.62 --values ./hack/fake-gpu-operator-values.yaml --wait | |
| - name: install KAI-scheduler | |
| env: | |
| PACKAGE_VERSION: ${{ needs.build.outputs.package_version }} | |
| run: | | |
| helm upgrade -i kai-scheduler /mnt/images/kai-scheduler-$PACKAGE_VERSION.tgz -n kai-scheduler --create-namespace \ | |
| --set "global.gpuSharing=true" --debug --wait | |
| - name: Set up Go | |
| uses: actions/setup-go@v2 | |
| with: | |
| go-version: 1.22 | |
| - name: Install ginkgo | |
| run: | | |
| go install github.com/onsi/ginkgo/v2/ginkgo@v2.19.0 | |
| - name: Delete images from disk | |
| env: | |
| PACKAGE_VERSION: ${{ needs.build.outputs.package_version }} | |
| run: | | |
| docker images --format '{{.Repository}}:{{.Tag}}' | grep $PACKAGE_VERSION | xargs docker rmi -f | |
| sudo rm -rf /mnt/images | |
| - name: Run e2e tests | |
| run: | | |
| ginkgo -r --keep-going --randomize-all --randomize-suites --trace -vv ./test/e2e/suites --label-filter '!autoscale', '!scale' |