Skip to content

update e2e test

update e2e test #61

Workflow file for this run

name: Master
on:
push:
branches:
- master
jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.19
- name: Check out code
uses: actions/checkout@v2
- name: Lint golang code
run: make lint
test:
runs-on: ubuntu-latest
steps:
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.19
- name: Check out code
uses: actions/checkout@v2
- name: Run tests
run: make test
build:
runs-on: ubuntu-latest
steps:
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.19
- name: Check out code
uses: actions/checkout@v2
- name: Build binary
run: make build
scan:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: go
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
image:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: build image
uses: docker/build-push-action@v2
with:
push: true
platforms: linux/amd64,linux/arm64
tags: zufardhiyaulhaq/istio-ratelimit-operator:latest
e2e-global-gateway:
runs-on: ubuntu-latest
needs:
- image
strategy:
fail-fast: false
matrix:
kubernetes: ["v1.25"]
istio: ["1.14.6","1.15.6", "1.16.3", "1.17.1"]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup python
uses: actions/setup-python@v2
with:
python-version: '3.8'
architecture: x64
- name: Install Python dependencies
uses: py-actions/py-dependency-install@v2
with:
path: "e2e/scripts/requirements.txt"
- name: Setup kubectl
uses: azure/setup-kubectl@v3
with:
version: 'v1.21.7'
- name: Setup kustomize
uses: yokawasa/action-setup-kube-tools@v0.7.1
with:
kustomize: '3.8.3'
- name: Setup helm
uses: azure/setup-helm@v1
with:
version: 'v3.3.1'
- name: Install kubernetes
uses: nolar/setup-k3d-k3s@v1
with:
version: "${{ matrix.kubernetes }}"
k3d-args: --no-lb
k3d-name: "e2e-global-gateway-k3d-k3s"
- name: Setup Istioctl
uses: zufardhiyaulhaq/setup-istioctl@v1.0.0
with:
version: "${{ matrix.istio }}"
- name: Deploy charts
run: helm install istio-ratelimit-operator ./charts/istio-ratelimit-operator --values ./charts/istio-ratelimit-operator/values.yaml --set operator.tag=latest
- name: Install istio
run: istioctl upgrade -f ./e2e/usecases/global.gateway/istio_mesh/cluster.yaml --force --skip-confirmation
- name: Deploy manifests
run: make e2e.global.gateway
- name: Waiting every object to be created
run: sleep 300
- name: Get envoyfilter
run: kubectl get envoyfilter --all-namespaces
- name: validate
run: make e2e.global.gateway.validate
e2e-global-gateway-shadow-mode:
runs-on: ubuntu-latest
needs:
- image
strategy:
fail-fast: false
matrix:
kubernetes: ["v1.25"]
istio: ["1.14.6","1.15.6", "1.16.3", "1.17.1"]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup python
uses: actions/setup-python@v2
with:
python-version: '3.8'
architecture: x64
- name: Install Python dependencies
uses: py-actions/py-dependency-install@v2
with:
path: "e2e/scripts/requirements.txt"
- name: Setup kubectl
uses: azure/setup-kubectl@v3
with:
version: 'v1.21.7'
- name: Setup kustomize
uses: yokawasa/action-setup-kube-tools@v0.7.1
with:
kustomize: '3.8.3'
- name: Setup helm
uses: azure/setup-helm@v1
with:
version: 'v3.3.1'
- name: Install kubernetes
uses: nolar/setup-k3d-k3s@v1
with:
version: "${{ matrix.kubernetes }}"
k3d-args: --no-lb
k3d-name: "e2e-global-gateway-k3d-k3s"
- name: Setup Istioctl
uses: zufardhiyaulhaq/setup-istioctl@v1.0.0
with:
version: "${{ matrix.istio }}"
- name: Deploy charts
run: helm install istio-ratelimit-operator ./charts/istio-ratelimit-operator --values ./charts/istio-ratelimit-operator/values.yaml --set operator.tag=latest
- name: Install istio
run: istioctl upgrade -f ./e2e/usecases/global.gateway.shadow_mode/istio_mesh/cluster.yaml --force --skip-confirmation
- name: Deploy manifests
run: make e2e.global.gateway.shadow_mode
- name: Waiting every object to be created
run: sleep 300
- name: Get envoyfilter
run: kubectl get envoyfilter --all-namespaces
- name: validate
run: make e2e.global.gateway.shadow_mode.validate
e2e-global-gateway-headervaluematch:
runs-on: ubuntu-latest
needs:
- image
strategy:
fail-fast: false
matrix:
kubernetes: ["v1.25"]
istio: ["1.14.6","1.15.6", "1.16.3", "1.17.1"]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup python
uses: actions/setup-python@v2
with:
python-version: '3.8'
architecture: x64
- name: Install Python dependencies
uses: py-actions/py-dependency-install@v2
with:
path: "e2e/scripts/requirements.txt"
- name: Setup kubectl
uses: azure/setup-kubectl@v3
with:
version: 'v1.21.7'
- name: Setup kustomize
uses: yokawasa/action-setup-kube-tools@v0.7.1
with:
kustomize: '3.8.3'
- name: Setup helm
uses: azure/setup-helm@v1
with:
version: 'v3.3.1'
- name: Install kubernetes
uses: nolar/setup-k3d-k3s@v1
with:
version: "${{ matrix.kubernetes }}"
k3d-args: --no-lb
k3d-name: "e2e-global-gateway-k3d-k3s"
- name: Setup Istioctl
uses: zufardhiyaulhaq/setup-istioctl@v1.0.0
with:
version: "${{ matrix.istio }}"
- name: Deploy charts
run: helm install istio-ratelimit-operator ./charts/istio-ratelimit-operator --values ./charts/istio-ratelimit-operator/values.yaml --set operator.tag=latest
- name: Install istio
run: istioctl upgrade -f ./e2e/usecases/global.gateway.headervaluematch/istio_mesh/cluster.yaml --force --skip-confirmation
- name: Deploy manifests
run: make e2e.global.gateway.headervaluematch
- name: Waiting every object to be created
run: sleep 300
- name: Get envoyfilter
run: kubectl get envoyfilter --all-namespaces
- name: validate
run: make e2e.global.gateway.headervaluematch.validate
e2e-global-gateway-headervaluematch-shadow-mode:
runs-on: ubuntu-latest
needs:
- image
strategy:
fail-fast: false
matrix:
kubernetes: ["v1.25"]
istio: ["1.14.6","1.15.6", "1.16.3", "1.17.1"]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup python
uses: actions/setup-python@v2
with:
python-version: '3.8'
architecture: x64
- name: Install Python dependencies
uses: py-actions/py-dependency-install@v2
with:
path: "e2e/scripts/requirements.txt"
- name: Setup kubectl
uses: azure/setup-kubectl@v3
with:
version: 'v1.21.7'
- name: Setup kustomize
uses: yokawasa/action-setup-kube-tools@v0.7.1
with:
kustomize: '3.8.3'
- name: Setup helm
uses: azure/setup-helm@v1
with:
version: 'v3.3.1'
- name: Install kubernetes
uses: nolar/setup-k3d-k3s@v1
with:
version: "${{ matrix.kubernetes }}"
k3d-args: --no-lb
k3d-name: "e2e-global-gateway-k3d-k3s"
- name: Setup Istioctl
uses: zufardhiyaulhaq/setup-istioctl@v1.0.0
with:
version: "${{ matrix.istio }}"
- name: Deploy charts
run: helm install istio-ratelimit-operator ./charts/istio-ratelimit-operator --values ./charts/istio-ratelimit-operator/values.yaml --set operator.tag=latest
- name: Install istio
run: istioctl upgrade -f ./e2e/usecases/global.gateway.headervaluematch.shadow_mode/istio_mesh/cluster.yaml --force --skip-confirmation
- name: Deploy manifests
run: make e2e.global.gateway.headervaluematch.shadow_mode
- name: Waiting every object to be created
run: sleep 300
- name: Get envoyfilter
run: kubectl get envoyfilter --all-namespaces
- name: validate
run: make e2e.global.gateway.headervaluematch.shadow_mode.validate
e2e-global-sidecar:
runs-on: ubuntu-latest
needs:
- image
strategy:
fail-fast: false
matrix:
kubernetes: ["v1.25"]
istio: ["1.14.6","1.15.6", "1.16.3", "1.17.1"]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup python
uses: actions/setup-python@v2
with:
python-version: '3.8'
architecture: x64
- name: Install Python dependencies
uses: py-actions/py-dependency-install@v2
with:
path: "e2e/scripts/requirements.txt"
- name: Setup kubectl
uses: azure/setup-kubectl@v3
with:
version: 'v1.21.7'
- name: Setup kustomize
uses: yokawasa/action-setup-kube-tools@v0.7.1
with:
kustomize: '3.8.3'
- name: Setup helm
uses: azure/setup-helm@v1
with:
version: 'v3.3.1'
- name: Install kubernetes
uses: nolar/setup-k3d-k3s@v1
with:
version: "${{ matrix.kubernetes }}"
k3d-args: --no-lb
k3d-name: "e2e-global-sidecar-k3d-k3s"
- name: Setup Istioctl
uses: zufardhiyaulhaq/setup-istioctl@v1.0.0
with:
version: "${{ matrix.istio }}"
- name: Deploy charts
run: helm install istio-ratelimit-operator ./charts/istio-ratelimit-operator --values ./charts/istio-ratelimit-operator/values.yaml --set operator.tag=latest
- name: Install istio
run: istioctl upgrade -f ./e2e/usecases/global.sidecar/istio_mesh/cluster.yaml --force --skip-confirmation
- name: Deploy manifests
run: make e2e.global.sidecar
- name: Waiting every object to be created
run: sleep 300
- name: Get envoyfilter
run: kubectl get envoyfilter --all-namespaces
- name: validate
run: make e2e.global.sidecar.validate
e2e-global-sidecar-headervaluematch:
runs-on: ubuntu-latest
needs:
- image
strategy:
fail-fast: false
matrix:
kubernetes: ["v1.25"]
istio: ["1.14.6","1.15.6", "1.16.3", "1.17.1"]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup python
uses: actions/setup-python@v2
with:
python-version: '3.8'
architecture: x64
- name: Install Python dependencies
uses: py-actions/py-dependency-install@v2
with:
path: "e2e/scripts/requirements.txt"
- name: Setup kubectl
uses: azure/setup-kubectl@v3
with:
version: 'v1.21.7'
- name: Setup kustomize
uses: yokawasa/action-setup-kube-tools@v0.7.1
with:
kustomize: '3.8.3'
- name: Setup helm
uses: azure/setup-helm@v1
with:
version: 'v3.3.1'
- name: Install kubernetes
uses: nolar/setup-k3d-k3s@v1
with:
version: "${{ matrix.kubernetes }}"
k3d-args: --no-lb
k3d-name: "e2e-global-sidecar-k3d-k3s"
- name: Setup Istioctl
uses: zufardhiyaulhaq/setup-istioctl@v1.0.0
with:
version: "${{ matrix.istio }}"
- name: Deploy charts
run: helm install istio-ratelimit-operator ./charts/istio-ratelimit-operator --values ./charts/istio-ratelimit-operator/values.yaml --set operator.tag=latest
- name: Install istio
run: istioctl upgrade -f ./e2e/usecases/global.sidecar.headervaluematch/istio_mesh/cluster.yaml --force --skip-confirmation
- name: Deploy manifests
run: make e2e.global.sidecar.headervaluematch
- name: Waiting every object to be created
run: sleep 300
- name: Get envoyfilter
run: kubectl get envoyfilter --all-namespaces
- name: validate
run: make e2e.global.sidecar.headervaluematch.validate
e2e-global-sidecar-shadow-mode:
runs-on: ubuntu-latest
needs:
- image
strategy:
fail-fast: false
matrix:
kubernetes: ["v1.25"]
istio: ["1.14.6","1.15.6", "1.16.3", "1.17.1"]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup python
uses: actions/setup-python@v2
with:
python-version: '3.8'
architecture: x64
- name: Install Python dependencies
uses: py-actions/py-dependency-install@v2
with:
path: "e2e/scripts/requirements.txt"
- name: Setup kubectl
uses: azure/setup-kubectl@v3
with:
version: 'v1.21.7'
- name: Setup kustomize
uses: yokawasa/action-setup-kube-tools@v0.7.1
with:
kustomize: '3.8.3'
- name: Setup helm
uses: azure/setup-helm@v1
with:
version: 'v3.3.1'
- name: Install kubernetes
uses: nolar/setup-k3d-k3s@v1
with:
version: "${{ matrix.kubernetes }}"
k3d-args: --no-lb
k3d-name: "e2e-global-sidecar-k3d-k3s"
- name: Setup Istioctl
uses: zufardhiyaulhaq/setup-istioctl@v1.0.0
with:
version: "${{ matrix.istio }}"
- name: Deploy charts
run: helm install istio-ratelimit-operator ./charts/istio-ratelimit-operator --values ./charts/istio-ratelimit-operator/values.yaml --set operator.tag=latest
- name: Install istio
run: istioctl upgrade -f ./e2e/usecases/global.sidecar.shadow_mode/istio_mesh/cluster.yaml --force --skip-confirmation
- name: Deploy manifests
run: make e2e.global.sidecar.shadow_mode
- name: Waiting every object to be created
run: sleep 300
- name: Get envoyfilter
run: kubectl get envoyfilter --all-namespaces
- name: validate
run: make e2e.global.sidecar.shadow_mode.validate
e2e-global-sidecar-headervaluematch-shadow-mode:
runs-on: ubuntu-latest
needs:
- image
strategy:
fail-fast: false
matrix:
kubernetes: ["v1.25"]
istio: ["1.14.6","1.15.6", "1.16.3", "1.17.1"]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup python
uses: actions/setup-python@v2
with:
python-version: '3.8'
architecture: x64
- name: Install Python dependencies
uses: py-actions/py-dependency-install@v2
with:
path: "e2e/scripts/requirements.txt"
- name: Setup kubectl
uses: azure/setup-kubectl@v3
with:
version: 'v1.21.7'
- name: Setup kustomize
uses: yokawasa/action-setup-kube-tools@v0.7.1
with:
kustomize: '3.8.3'
- name: Setup helm
uses: azure/setup-helm@v1
with:
version: 'v3.3.1'
- name: Install kubernetes
uses: nolar/setup-k3d-k3s@v1
with:
version: "${{ matrix.kubernetes }}"
k3d-args: --no-lb
k3d-name: "e2e-global-sidecar-k3d-k3s"
- name: Setup Istioctl
uses: zufardhiyaulhaq/setup-istioctl@v1.0.0
with:
version: "${{ matrix.istio }}"
- name: Deploy charts
run: helm install istio-ratelimit-operator ./charts/istio-ratelimit-operator --values ./charts/istio-ratelimit-operator/values.yaml --set operator.tag=latest
- name: Install istio
run: istioctl upgrade -f ./e2e/usecases/global.sidecar.headervaluematch/istio_mesh/cluster.yaml --force --skip-confirmation
- name: Deploy manifests
run: make e2e.global.sidecar.headervaluematch.shadow_mode
- name: Waiting every object to be created
run: sleep 300
- name: Get envoyfilter
run: kubectl get envoyfilter --all-namespaces
- name: validate
run: make e2e.global.sidecar.headervaluematch.shadow_mode.validate
e2e-local-sidecar:
runs-on: ubuntu-latest
needs:
- image
strategy:
fail-fast: false
matrix:
kubernetes: ["v1.25"]
istio: ["1.14.6","1.15.6", "1.16.3", "1.17.1"]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup python
uses: actions/setup-python@v2
with:
python-version: '3.8'
architecture: x64
- name: Install Python dependencies
uses: py-actions/py-dependency-install@v2
with:
path: "e2e/scripts/requirements.txt"
- name: Setup kubectl
uses: azure/setup-kubectl@v3
with:
version: 'v1.21.7'
- name: Setup kustomize
uses: yokawasa/action-setup-kube-tools@v0.7.1
with:
kustomize: '3.8.3'
- name: Setup helm
uses: azure/setup-helm@v1
with:
version: 'v3.3.1'
- name: Install kubernetes
uses: nolar/setup-k3d-k3s@v1
with:
version: "${{ matrix.kubernetes }}"
k3d-args: --no-lb
k3d-name: "e2e-local-sidecar-k3d-k3s"
- name: Setup Istioctl
uses: zufardhiyaulhaq/setup-istioctl@v1.0.0
with:
version: "${{ matrix.istio }}"
- name: Deploy charts
run: helm install istio-ratelimit-operator ./charts/istio-ratelimit-operator --values ./charts/istio-ratelimit-operator/values.yaml --set operator.tag=latest
- name: Install istio
run: istioctl upgrade -f ./e2e/usecases/local.sidecar/istio_mesh/cluster.yaml --force --skip-confirmation
- name: Deploy manifests
run: make e2e.local.sidecar
- name: Waiting every object to be created
run: sleep 300
- name: Get envoyfilter
run: kubectl get envoyfilter --all-namespaces
- name: validate
run: make e2e.local.sidecar.validate
e2e-local-gateway:
runs-on: ubuntu-latest
needs:
- image
strategy:
fail-fast: false
matrix:
kubernetes: ["v1.25"]
istio: ["1.14.6","1.15.6", "1.16.3", "1.17.1"]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup python
uses: actions/setup-python@v2
with:
python-version: '3.8'
architecture: x64
- name: Install Python dependencies
uses: py-actions/py-dependency-install@v2
with:
path: "e2e/scripts/requirements.txt"
- name: Setup kubectl
uses: azure/setup-kubectl@v3
with:
version: 'v1.21.7'
- name: Setup kustomize
uses: yokawasa/action-setup-kube-tools@v0.7.1
with:
kustomize: '3.8.3'
- name: Setup helm
uses: azure/setup-helm@v1
with:
version: 'v3.3.1'
- name: Install kubernetes
uses: nolar/setup-k3d-k3s@v1
with:
version: "${{ matrix.kubernetes }}"
k3d-args: --no-lb
k3d-name: "e2e-local-gateway-k3d-k3s"
- name: Setup Istioctl
uses: zufardhiyaulhaq/setup-istioctl@v1.0.0
with:
version: "${{ matrix.istio }}"
- name: Deploy charts
run: helm install istio-ratelimit-operator ./charts/istio-ratelimit-operator --values ./charts/istio-ratelimit-operator/values.yaml --set operator.tag=latest
- name: Install istio
run: istioctl upgrade -f ./e2e/usecases/local.gateway/istio_mesh/cluster.yaml --force --skip-confirmation
- name: Deploy manifests
run: make e2e.local.gateway
- name: Waiting every object to be created
run: sleep 300
- name: Get envoyfilter
run: kubectl get envoyfilter --all-namespaces
- name: validate
run: make e2e.local.gateway.validate