Skip to content

Tyk streams

Tyk streams #284

Workflow file for this run

name: Tyk OSS Tests
# Controls when the workflow will run
on:
pull_request:
workflow_dispatch:
push:
branches:
- main
env:
MAX_ATTEMPTS: 3
TIMEOUT: 30
jobs:
tyk-oss:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
deployment:
- cert-manager
- datadog
- elasticsearch
- elasticsearch-kibana
- jaeger
- k6
- keycloak
- newrelic
- opensearch
- prometheus
- prometheus-grafana
- vault
steps:
- uses: actions/checkout@v4
- 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/setup-helm@v4
- 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-gateway-${{ matrix.deployment }}
uses: nick-invision/retry@v3
with:
max_attempts: ${{ env.MAX_ATTEMPTS }}
timeout_minutes: ${{ env.TIMEOUT }}
command: |
DATADOG_APIKEY="${{ secrets.DATADOG_APIKEY }}" \
DATADOG_APPKEY="${{ secrets.DATADOG_APPKEY }}" \
NEWRELIC_LICENSEKEY="${{ secrets.NEWRELIC_LICENSEKEY }}" \
./up.sh -v \
--redis redis \
--namespace tyk-gateway-${{ matrix.deployment }} \
--deployments ${{ matrix.deployment }} \
tyk-gateway
- name: Sleep 1 minute
run: sleep 60
- name: Test Tyk deployment
uses: nick-invision/retry@v3
with:
max_attempts: ${{ env.MAX_ATTEMPTS }}
timeout_minutes: ${{ env.TIMEOUT }}
on_retry_command: |
DATADOG_APIKEY="${{ secrets.DATADOG_APIKEY }}" \
DATADOG_APPKEY="${{ secrets.DATADOG_APPKEY }}" \
NEWRELIC_LICENSEKEY="${{ secrets.NEWRELIC_LICENSEKEY }}" \
./up.sh -v \
--redis redis \
--namespace tyk-gateway-${{ matrix.deployment }} \
--deployments ${{ matrix.deployment }} \
tyk-gateway && sleep 180
command: newman run --folder gateway tyk-k8s-demo.postman_collection.json
- name: Test ${{ matrix.deployment }}
uses: nick-invision/retry@v3
with:
max_attempts: ${{ env.MAX_ATTEMPTS }}
timeout_minutes: ${{ env.TIMEOUT }}
on_retry_command: |
DATADOG_APIKEY="${{ secrets.DATADOG_APIKEY }}" \
DATADOG_APPKEY="${{ secrets.DATADOG_APPKEY }}" \
NEWRELIC_LICENSEKEY="${{ secrets.NEWRELIC_LICENSEKEY }}" \
./up.sh -v \
--redis redis \
--namespace tyk-gateway-${{ matrix.deployment }} \
--deployments ${{ matrix.deployment }} \
tyk-gateway && sleep 180
command: newman run --folder ${{ matrix.deployment }} --insecure -n 1 tyk-k8s-demo.postman_collection.json