k8s-gateway-api 0.16.0

Rust bindings for the Kubenetes Gateway API
Documentation
name: integration

on:
  pull_request:
    paths:
      - Cargo.toml
      - '**/*.rs'
      - .github/workflows/integration.yml

permissions:
  contents: read

env:
  CARGO_INCREMENTAL: 0
  CARGO_NET_RETRY: 10
  RUSTUP_MAX_RETRIES: 10
  RUST_VERSION: 1.64.0
  K3D_VERSION: v5.4.6
  K3D_CREATE_FLAGS: '--no-lb'
  K3S_DISABLE: 'local-storage,traefik,servicelb,metrics-server@server:*'
  NEXTEST_VERSION: '0.9.42'

jobs:
  test:
    strategy:
      matrix:
        k8s:
          - v1.22
          - v1.28
    timeout-minutes: 10
    runs-on: ubuntu-latest
    env:
      K8S_CHANNEL: ${{ matrix.k8s }}
    steps:
      # Install just* tooling
      - uses: linkerd/dev/actions/setup-tools@v42
      # Configure the default Rust toolchain
      - uses: linkerd/dev/actions/setup-rust@v42
      # Setup a cluster
      - run: curl --proto =https --tlsv1.3 -fLsSv "https://raw.githubusercontent.com/k3d-io/k3d/${K3D_VERSION}/install.sh" | bash
      - run: k3d --version
      - run: just-k3d create
      - run: kubectl version
      # Install CRDs
      - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
        with:
          repository: kubernetes-sigs/gateway-api
          ref: 4f86f0bd65173b04dadb558f63fbbd53330736d2 # 0.5.0-rc1
          path: gateway-api
      - run: kubectl apply -k gateway-api/config/crd/experimental/
      - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
      # Run tests
      - run: just fetch
      - run: just test-build --package=integration
      - run: just test --package=integration