Skip to content

test

test #33

Workflow file for this run

name: DPC Load Test
on:
workflow_dispatch:
push:
branches:
- cr/dpc-4401
jobs:
run-load-test:
name: "Run DPC API Load Test"
runs-on: self-hosted
steps:
- name: Checkout
uses: actions/checkout@v4
with:
path: ./dpc-app
- name: Start StatsD Integration
run: |
docker run -d \
--name newrelic-statsd \
-e NR_ACCOUNT_ID=${{ secrets.NEW_RELIC_ACCOUNT_ID }} \
-e NR_API_KEY=${{ secrets.NEW_RELIC_API_KEY }} \
-p 8125:8125/udp \
newrelic/nri-statsd:latest
- name: Get StatsD Container IP
id: statsd-ip
run: |
echo "STATS_IP=$(docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' newrelic-statsd)" >> $GITHUB_ENV
- uses: grafana/setup-k6-action@v1
- name: Run k6 test
env:
LOAD_TEST_CLIENT_TOKEN: ${{ secrets.LOAD_TEST_CLIENT_TOKEN }}
LOAD_TEST_PRIVATE_KEY: ${{ secrets.LOAD_TEST_PRIVATE_KEY }}
LOAD_TEST_PUBLIC_KEY_ID: ${{ secrets.LOAD_TEST_PUBLIC_KEY_ID }}
K6_STATSD_ENABLE_TAGS: true
K6_STATSD_ADDR: ${{ env.STATS_IP }}:8125
uses: grafana/run-k6-action@v1
with:
path: ./dpc-app/dpc-load-testing/script.js
- name: Cleanup StatsD Container
if: always()
run: |
if [ $(docker ps -aq -f name=newrelic-statsd) ]; then
echo "Stopping and removing StatsD container"
docker stop newrelic-statsd
docker rm newrelic-statsd
fi