|
22 | 22 | description: "Run load testing suite" |
23 | 23 | type: boolean |
24 | 24 | default: false |
| 25 | + run-e2e-tests: |
| 26 | + description: "Run e2e tests" |
| 27 | + type: boolean |
| 28 | + default: false |
25 | 29 |
|
26 | 30 | concurrency: |
27 | 31 | group: ${{ github.workflow }}-${{ github.ref_name }} |
|
59 | 63 | with: |
60 | 64 | ref: main |
61 | 65 | - uses: ./.github/actions/kube-gateway-api-load-tests |
| 66 | + |
| 67 | + kgateway_e2e_tests_for_gateway_api_versions: |
| 68 | + name: GwApi E2E |
| 69 | + if: ${{ (github.event_name == 'workflow_dispatch' && inputs.run-e2e-tests) || github.event.schedule == '0 5 * * *' }} |
| 70 | + runs-on: ubuntu-22.04 |
| 71 | + timeout-minutes: 120 |
| 72 | + strategy: |
| 73 | + fail-fast: false |
| 74 | + matrix: |
| 75 | + gateway-api-version: [ { version: 'v1.4.0', channel: 'experimental' }, |
| 76 | + { version: 'v1.4.0', channel: 'standard' }, |
| 77 | + { version: 'v1.3.0', channel: 'experimental' }, |
| 78 | + { version: 'v1.3.0', channel: 'standard' }, |
| 79 | + { version: 'v1.2.1', channel: 'experimental' }, |
| 80 | + { version: 'v1.2.1', channel: 'standard' }] |
| 81 | + steps: |
| 82 | + - uses: actions/checkout@v4 |
| 83 | + - name: Prep Go Runner |
| 84 | + uses: ./.github/actions/prep-go-runner |
| 85 | + - name: Dotenv Action |
| 86 | + |
| 87 | + id: dotenv |
| 88 | + with: |
| 89 | + path: "./.github/workflows/.env/nightly-tests/max_versions.env" |
| 90 | + log-variables: true |
| 91 | + - name: Setup KinD Cluster |
| 92 | + uses: ./.github/actions/setup-kind-cluster |
| 93 | + with: |
| 94 | + gateway-api-version: ${{ matrix.gateway-api-version.version }} |
| 95 | + gateway-api-channel: ${{ matrix.gateway-api-version.channel }} |
| 96 | + cluster-name: "kgw-api-e2e-${{ matrix.gateway-api-version.version }}-${{ matrix.gateway-api-version.channel }}" |
| 97 | + kubectl-version: ${{ steps.dotenv.outputs.kubectl_version }} |
| 98 | + istio-version: ${{ steps.dotenv.outputs.istio_version }} |
| 99 | + kind-node-version: ${{ steps.dotenv.outputs.node_version }} |
| 100 | + - id: run-tests |
| 101 | + uses: ./.github/actions/kubernetes-e2e-tests |
| 102 | + env: |
| 103 | + VERSION: '1.0.0-ci1' |
| 104 | + GITHUB_TOKEN: ${{ github.token }} |
| 105 | + GO_TEST_RETRIES: '3' # Use a higher number of retries because there are so many tests and we don't want to rerun |
| 106 | + GOTESTSUM_ARGS: '--format=standard-verbose --rerun-fails-max-failures 60' # High value for "rerun-fails-max-failures" because 3 failed tests can result in gotestsum thinking there's 40+ failures |
| 107 | + with: |
| 108 | + cluster-name: "kgw-api-e2e-${{ matrix.gateway-api-version.version }}-${{ matrix.gateway-api-version.channel }}" |
| 109 | + test-args: '-v -timeout=120m' |
| 110 | + run-regex: "^Test" |
| 111 | + istio-version: ${{ steps.dotenv.outputs.istio_version }} |
| 112 | + matrix-label: "nightly-kgw-api-${{ matrix.gateway-api-version.version }}-${{ matrix.gateway-api-version.channel }}" |
0 commit comments