Bumps the all group with 5 updates: | Package | From | To | | --- | --- | --- | | [actions/checkout](https://github.com/actions/checkout) | `4.1.2` | `4.1.3` | | [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4.3.1` | `4.3.2` | | [azure/setup-helm](https://github.com/azure/setup-helm) | `4.1.0` | `4.2.0` | | [actions/download-artifact](https://github.com/actions/download-artifact) | `4.1.4` | `4.1.5` | | [github/codeql-action](https://github.com/github/codeql-action) | `3.24.10` | `3.25.1` | Updates `actions/checkout` from 4.1.2 to 4.1.3 - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](9bb56186c3...1d96c772d1) Updates `actions/upload-artifact` from 4.3.1 to 4.3.2 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](5d5d22a312...1746f4ab65) Updates `azure/setup-helm` from 4.1.0 to 4.2.0 - [Release notes](https://github.com/azure/setup-helm/releases) - [Changelog](https://github.com/Azure/setup-helm/blob/main/CHANGELOG.md) - [Commits](b7246b12e7...fe7b79cd5e) Updates `actions/download-artifact` from 4.1.4 to 4.1.5 - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](c850b930e6...8caf195ad4) Updates `github/codeql-action` from 3.24.10 to 3.25.1 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](4355270be1...c7f9125735)
72 lines
2.3 KiB
YAML
72 lines
2.3 KiB
YAML
name: Performance Test
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
logLevel:
|
|
description: 'Log level'
|
|
required: true
|
|
default: 'warning'
|
|
tags:
|
|
description: 'K6 Load Test'
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
k6_test_run:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@1d96c772d19495a3b5c517cd2bc0cb401ea0529f # v4.1.3
|
|
|
|
- name: Install K6
|
|
run: |
|
|
wget https://github.com/grafana/k6/releases/download/v0.38.2/k6-v0.38.2-linux-amd64.tar.gz
|
|
echo '7c9e5a26aaa2c638c042f6dfda7416161b8d2e0d4cb930721a38083b8be109ab *k6-v0.38.2-linux-amd64.tar.gz' | shasum -c
|
|
tar -xvf k6-v0.38.2-linux-amd64.tar.gz k6-v0.38.2-linux-amd64/k6
|
|
mv k6-v0.38.2-linux-amd64/k6 .
|
|
./k6
|
|
|
|
- name: Make dev-env
|
|
run: |
|
|
mkdir $HOME/.kube
|
|
make dev-env
|
|
podName=`kubectl -n ingress-nginx get po | grep -i controller | awk '{print $1}'`
|
|
if [[ -z ${podName} ]] ; then
|
|
sleep 5
|
|
fi
|
|
kubectl wait pod -n ingress-nginx --for condition=Ready $podName
|
|
kubectl get all -A
|
|
|
|
- name: Deploy workload
|
|
run: |
|
|
kubectl create deploy k6 --image kennethreitz/httpbin --port 80 && \
|
|
kubectl expose deploy k6 --port 80 && \
|
|
kubectl create ing k6 --class nginx \
|
|
--rule test.ingress-nginx-controller.ga/*=k6:80
|
|
podName=`kubectl get po | grep -i k6 | awk '{print $1}'`
|
|
if [[ -z ${podName} ]] ; then
|
|
sleep 5
|
|
fi
|
|
kubectl wait pod --for condition=Ready $podName
|
|
kubectl get all,secrets,ing
|
|
|
|
- name: Tune OS
|
|
run : |
|
|
sudo sysctl -A 2>/dev/null | egrep -i "local_port_range|tw_reuse|tcp_timestamps"
|
|
sudo sh -c "ulimit"
|
|
sudo sysctl -w net.ipv4.ip_local_port_range="1024 65535"
|
|
sudo sysctl -w net.ipv4.tcp_tw_reuse=1
|
|
sudo sysctl -w net.ipv4.tcp_timestamps=1
|
|
sudo sh -c "ulimit "
|
|
|
|
- name: Run smoke test
|
|
run: |
|
|
vmstat -at 5 | tee vmstat_report &
|
|
#./k6 login cloud -t $K6_TOKEN
|
|
#./k6 run -o cloud ./smoketest.js
|
|
./k6 run test/k6/smoketest.js
|
|
pkill vmstat
|
|
cat vmstat_report
|