name: Krane CI on: [push] jobs: ruby-tests: runs-on: ubuntu-latest env: CI: true name: "Tests (${{matrix.test_suite}}) - Ruby ${{ matrix.ruby }} with Kubernetes ${{ matrix.kubernetes_version }}" strategy: fail-fast: false matrix: ruby: - "3.2.2" - "3.1.2" - "3.0.4" - "2.7.6" kubernetes_version: - "1.31.2" - "1.30.0" - "1.29.4" - "1.28.0" - "1.27.3" - "1.26.4" test_suite: - "unit_test" - "cli_test" - "serial_integration_test" - "integration_test" include: - kubernetes_version: "1.31.2" kind_image: "kindest/node:v1.31.2@sha256:18fbefc20a7113353c7b75b5c869d7145a6abd6269154825872dc59c1329912e" - kubernetes_version: "1.30.0" kind_image: "kindest/node:v1.30.0@sha256:047357ac0cfea04663786a612ba1eaba9702bef25227a794b52890dd8bcd692e" - kubernetes_version: "1.29.4" kind_image: "kindest/node:v1.29.4@sha256:3abb816a5b1061fb15c6e9e60856ec40d56b7b52bcea5f5f1350bc6e2320b6f8" - kubernetes_version: "1.28.0" kind_image: "kindest/node:v1.28.0@sha256:dad5a6238c5e41d7cac405fae3b5eda2ad1de6f1190fa8bfc64ff5bb86173213" - kubernetes_version: "1.27.3" kind_image: "kindest/node:v1.27.3@sha256:9dd3392d79af1b084671b05bcf65b21de476256ad1dcc853d9f3b10b4ac52dde" - kubernetes_version: "1.26.4" kind_image: "kindest/node:v1.26.4@sha256:a539833d26264444ab3b8f5e56e23fa3361436445fa23c864e6dec622458858f" steps: - uses: actions/checkout@v3 - name: Setup Ruby ${{ matrix.ruby }} uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true - name: Setup kubectl ${{ matrix.kubernetes_version }} run: | mkdir -p "${GITHUB_WORKSPACE}/bin" curl -o "${GITHUB_WORKSPACE}/bin/kubectl" -LO "https://dl.k8s.io/release/v${{ matrix.kubernetes_version }}/bin/linux/amd64/kubectl" chmod +x "${GITHUB_WORKSPACE}/bin/kubectl" echo "PATH=$GITHUB_WORKSPACE/bin:${PATH}" >> $GITHUB_ENV - name: Create kind cluster for ${{ matrix.kubernetes_version }} run: | kind create cluster --image=${{ matrix.kind_image }} - name: Run tests run: | bin/test ${{matrix.test_suite}}