Add GitHub Action workflow for running e2e tests
The e2e here uses kind. The eventual goal would be to remove the use of minikube completely and use kind exclusively in conformance to general Kubernetes upstream usage. - Add kind cluster configs for all supported Kubernetes versions - Add GH Action workflows for end to end testing Signed-off-by: Nabarun Pal <pal.nabarun95@gmail.com>
This commit is contained in:
parent
9fb8f3532c
commit
5718898a83
44
.github/workflows/e2e-master.yaml
vendored
Normal file
44
.github/workflows/e2e-master.yaml
vendored
Normal file
@ -0,0 +1,44 @@
|
||||
name: End to End Tests - master
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: [3.6, 3.7, 3.8, 3.9]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
- name: Create Kind Cluster
|
||||
uses: helm/kind-action@v1.1.0
|
||||
with:
|
||||
cluster_name: kubernetes-python-e2e-master-${{ matrix.python-version }}
|
||||
# The kind version to be used to spin the cluster up
|
||||
# this needs to be updated whenever a new Kind version is released
|
||||
version: v0.11.1
|
||||
# Update the config here whenever a new client snapshot is performed
|
||||
# This would eventually point to cluster with the latest Kubernetes version
|
||||
# as we sync with Kubernetes upstream
|
||||
config: .github/workflows/kind-configs/cluster-1.18.yaml
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v2.1.3
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
python -m pip install -r requirements.txt
|
||||
python -m pip install -r test-requirements.txt
|
||||
- name: Install package
|
||||
run: python -m pip install -e .
|
||||
- name: Run End to End tests
|
||||
run: pytest -vvv -s kubernetes/e2e_test
|
||||
44
.github/workflows/e2e-release-11.0.yaml
vendored
Normal file
44
.github/workflows/e2e-release-11.0.yaml
vendored
Normal file
@ -0,0 +1,44 @@
|
||||
name: End to End Tests - release-11.0
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- release-11.0
|
||||
pull_request:
|
||||
branches:
|
||||
- release-11.0
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: [2.7, 3.5, 3.6, 3.7, 3.8]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
- name: Create Kind Cluster
|
||||
uses: helm/kind-action@v1.1.0
|
||||
with:
|
||||
cluster_name: kubernetes-python-e2e-release-11.0-${{ matrix.python-version }}
|
||||
# The kind version to be used to spin the cluster up
|
||||
# this needs to be updated whenever a new Kind version is released
|
||||
version: v0.11.1
|
||||
# Update the config here whenever a new client snapshot is performed
|
||||
# This would eventually point to cluster with the latest Kubernetes version
|
||||
# as we sync with Kubernetes upstream
|
||||
config: .github/workflows/kind-configs/cluster-1.15.yaml
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v2.1.3
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
python -m pip install -r requirements.txt
|
||||
python -m pip install -r test-requirements.txt
|
||||
- name: Install package
|
||||
run: python -m pip install -e .
|
||||
- name: Run End to End tests
|
||||
run: pytest -vvv -s kubernetes/e2e_test
|
||||
44
.github/workflows/e2e-release-12.0.yaml
vendored
Normal file
44
.github/workflows/e2e-release-12.0.yaml
vendored
Normal file
@ -0,0 +1,44 @@
|
||||
name: End to End Tests - release-12.0
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- release-12.0
|
||||
pull_request:
|
||||
branches:
|
||||
- release-12.0
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: [2.7, 3.5, 3.6, 3.7, 3.8]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
- name: Create Kind Cluster
|
||||
uses: helm/kind-action@v1.1.0
|
||||
with:
|
||||
cluster_name: kubernetes-python-e2e-release-12.0-${{ matrix.python-version }}
|
||||
# The kind version to be used to spin the cluster up
|
||||
# this needs to be updated whenever a new Kind version is released
|
||||
version: v0.11.1
|
||||
# Update the config here whenever a new client snapshot is performed
|
||||
# This would eventually point to cluster with the latest Kubernetes version
|
||||
# as we sync with Kubernetes upstream
|
||||
config: .github/workflows/kind-configs/cluster-1.16.yaml
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v2.1.3
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
python -m pip install -r requirements.txt
|
||||
python -m pip install -r test-requirements.txt
|
||||
- name: Install package
|
||||
run: python -m pip install -e .
|
||||
- name: Run End to End tests
|
||||
run: pytest -vvv -s kubernetes/e2e_test
|
||||
44
.github/workflows/e2e-release-17.0.yaml
vendored
Normal file
44
.github/workflows/e2e-release-17.0.yaml
vendored
Normal file
@ -0,0 +1,44 @@
|
||||
name: End to End Tests - release-17.0
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- release-17.0
|
||||
pull_request:
|
||||
branches:
|
||||
- release-17.0
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: [2.7, 3.5, 3.6, 3.7, 3.8]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
- name: Create Kind Cluster
|
||||
uses: helm/kind-action@v1.1.0
|
||||
with:
|
||||
cluster_name: kubernetes-python-e2e-release-17.0-${{ matrix.python-version }}
|
||||
# The kind version to be used to spin the cluster up
|
||||
# this needs to be updated whenever a new Kind version is released
|
||||
version: v0.11.1
|
||||
# Update the config here whenever a new client snapshot is performed
|
||||
# This would eventually point to cluster with the latest Kubernetes version
|
||||
# as we sync with Kubernetes upstream
|
||||
config: .github/workflows/kind-configs/cluster-1.17.yaml
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v2.1.3
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
python -m pip install -r requirements.txt
|
||||
python -m pip install -r test-requirements.txt
|
||||
- name: Install package
|
||||
run: python -m pip install -e .
|
||||
- name: Run End to End tests
|
||||
run: pytest -vvv -s kubernetes/e2e_test
|
||||
44
.github/workflows/e2e-release-18.0.yaml
vendored
Normal file
44
.github/workflows/e2e-release-18.0.yaml
vendored
Normal file
@ -0,0 +1,44 @@
|
||||
name: End to End Tests - release-18.0
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- release-18.0
|
||||
pull_request:
|
||||
branches:
|
||||
- release-18.0
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python-version: [3.6, 3.7, 3.8, 3.9]
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
- name: Create Kind Cluster
|
||||
uses: helm/kind-action@v1.1.0
|
||||
with:
|
||||
cluster_name: kubernetes-python-e2e-release-18.0-${{ matrix.python-version }}
|
||||
# The kind version to be used to spin the cluster up
|
||||
# this needs to be updated whenever a new Kind version is released
|
||||
version: v0.11.1
|
||||
# Update the config here whenever a new client snapshot is performed
|
||||
# This would eventually point to cluster with the latest Kubernetes version
|
||||
# as we sync with Kubernetes upstream
|
||||
config: .github/workflows/kind-configs/cluster-1.18.yaml
|
||||
- name: Set up Python ${{ matrix.python-version }}
|
||||
uses: actions/setup-python@v2.1.3
|
||||
with:
|
||||
python-version: ${{ matrix.python-version }}
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
python -m pip install -r requirements.txt
|
||||
python -m pip install -r test-requirements.txt
|
||||
- name: Install package
|
||||
run: python -m pip install -e .
|
||||
- name: Run End to End tests
|
||||
run: pytest -vvv -s kubernetes/e2e_test
|
||||
7
.github/workflows/kind-configs/cluster-1.15.yaml
vendored
Normal file
7
.github/workflows/kind-configs/cluster-1.15.yaml
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
kind: Cluster
|
||||
apiVersion: kind.x-k8s.io/v1alpha4
|
||||
nodes:
|
||||
- role: control-plane
|
||||
image: kindest/node:v1.15.12@sha256:b920920e1eda689d9936dfcf7332701e80be12566999152626b2c9d730397a95
|
||||
- role: worker
|
||||
image: kindest/node:v1.15.12@sha256:b920920e1eda689d9936dfcf7332701e80be12566999152626b2c9d730397a95
|
||||
7
.github/workflows/kind-configs/cluster-1.16.yaml
vendored
Normal file
7
.github/workflows/kind-configs/cluster-1.16.yaml
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
kind: Cluster
|
||||
apiVersion: kind.x-k8s.io/v1alpha4
|
||||
nodes:
|
||||
- role: control-plane
|
||||
image: kindest/node:v1.16.15@sha256:83067ed51bf2a3395b24687094e283a7c7c865ccc12a8b1d7aa673ba0c5e8861
|
||||
- role: worker
|
||||
image: kindest/node:v1.16.15@sha256:83067ed51bf2a3395b24687094e283a7c7c865ccc12a8b1d7aa673ba0c5e8861
|
||||
7
.github/workflows/kind-configs/cluster-1.17.yaml
vendored
Normal file
7
.github/workflows/kind-configs/cluster-1.17.yaml
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
kind: Cluster
|
||||
apiVersion: kind.x-k8s.io/v1alpha4
|
||||
nodes:
|
||||
- role: control-plane
|
||||
image: kindest/node:v1.17.17@sha256:66f1d0d91a88b8a001811e2f1054af60eef3b669a9a74f9b6db871f2f1eeed00
|
||||
- role: worker
|
||||
image: kindest/node:v1.17.17@sha256:66f1d0d91a88b8a001811e2f1054af60eef3b669a9a74f9b6db871f2f1eeed00
|
||||
7
.github/workflows/kind-configs/cluster-1.18.yaml
vendored
Normal file
7
.github/workflows/kind-configs/cluster-1.18.yaml
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
kind: Cluster
|
||||
apiVersion: kind.x-k8s.io/v1alpha4
|
||||
nodes:
|
||||
- role: control-plane
|
||||
image: kindest/node:v1.18.19@sha256:7af1492e19b3192a79f606e43c35fb741e520d195f96399284515f077b3b622c
|
||||
- role: worker
|
||||
image: kindest/node:v1.18.19@sha256:7af1492e19b3192a79f606e43c35fb741e520d195f96399284515f077b3b622c
|
||||
Loading…
Reference in New Issue
Block a user