Skip to content

Workflow file for this run

name: Tyk Pumps Test
# Controls when the workflow will run
on:
pull_request:
workflow_dispatch:
push:
branches:
- main
env:
MAX_ATTEMPTS: 3
TIMEOUT: 30
jobs:
tyk-stack:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: start Minikube
uses: medyagh/setup-minikube@latest
with:
kubernetes-version: v1.23.13
extra-config: 'kubelet.max-pods=100'
addons: 'default-storageclass,storage-provisioner,ingress'
start-args: '--force'
- name: Install helm
uses: Azure/[email protected]
- name: Install newman
run: |
sudo apt update && \
sudo apt install nodejs npm -y && \
npm install -g newman
- name: Copy .env file
run: cp .env.example .env
- name: Deploy tyk-stack-${{ matrix.deployment }}
uses: nick-invision/retry@v2
with:
max_attempts: ${{ env.MAX_ATTEMPTS }}
timeout_minutes: ${{ env.TIMEOUT }}
command: |
DATADOG_APIKEY="${{ secrets.DATADOG_APIKEY }}" \
DATADOG_APPKEY="${{ secrets.DATADOG_APPKEY }}" \
LICENSE="${{ secrets.LICENSE }}" \
./up.sh -v \
--redis redis \
--namespace tyk-pumps \
--deployments datadog,elasticsearch-kibana,prometheus-grafana,k6-slo-traffic \
tyk-stack
- name: Sleep 1 minute
run: sleep 60
- name: Test Tyk deployment
uses: nick-invision/retry@v2
with:
max_attempts: ${{ env.MAX_ATTEMPTS }}
timeout_minutes: ${{ env.TIMEOUT }}
on_retry_command: |
DATADOG_APIKEY="${{ secrets.DATADOG_APIKEY }}" \
DATADOG_APPKEY="${{ secrets.DATADOG_APPKEY }}" \
LICENSE="${{ secrets.LICENSE }}" \
./up.sh -v \
--redis redis \
--namespace tyk-pumps \
--deployments datadog,elasticsearch-kibana,prometheus-grafana,k6-slo-traffic \
tyk-stack
command: newman run --folder gateway --env-var "deployment=tyk-stack" tyk-k8s-demo.postman_collection.json
- name: Sleep 20 minute to allow for k6 jobs to finish
run: sleep 1200