Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |