-
Notifications
You must be signed in to change notification settings - Fork 0
72 lines (68 loc) · 2.25 KB
/
run-performance-test.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
name: Run Performance Tests
on:
workflow_dispatch:
inputs:
ENVIRONMENT:
description: 'Environment to run the tests against'
required: true
options: ['staging', 'prod', 'custom']
type: choice
TEST_TYPE:
description: 'Type of test to run'
required: true
options: ['smoke', 'baseline', 'regression']
type: choice
VERSION:
description: 'Version of the application under test'
required: true
type: string
SERVICE_URL:
description: 'Override the service URL'
required: false
type: string
workflow_call:
inputs:
ENVIRONMENT:
description: 'Environment to run the tests against'
required: true
type: string
TEST_TYPE:
description: 'Type of test to run'
required: true
type: string
VERSION:
description: 'Version of the application under test'
required: true
type: string
SERVICE_URL:
description: 'Override the service URL'
required: false
type: string
secrets:
DD_API_KEY:
description: 'Datadog API key'
required: true
ARTILLERY_CLOUD_API_KEY:
description: 'Artillery Cloud API key'
required: true
env:
TAGS: 'service:movie-service,team:prt,ci:true,env:${{ inputs.ENVIRONMENT }},test_type:${{ inputs.TEST_TYPE }},version:${{ inputs.VERSION }},caller:${{ github.actor }}'
jobs:
run_artillery_tests:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Execute load tests
uses: artilleryio/action-cli@v1
with:
command: run performance/get-all-movies-then-get-one.yml -e ${{ inputs.TEST_TYPE }}-${{ inputs.ENVIRONMENT }} --record --tags test_name:get-all-movies-then-get-one,${{ env.TAGS }}
env:
SERVICE_URL: ${{ inputs.SERVICE_URL }}
ENVIRONMENT: ${{ inputs.ENVIRONMENT }}
VERSION: ${{ inputs.VERSION }}
TEST_TYPE: ${{ inputs.TEST_TYPE }}
CI: true
CALLER: ${{ github.actor }}
DD_API_KEY: ${{ secrets.DD_API_KEY }}
ARTILLERY_CLOUD_API_KEY: ${{ secrets.ARTILLERY_CLOUD_API_KEY }}