-
Notifications
You must be signed in to change notification settings - Fork 0
138 lines (121 loc) · 4.19 KB
/
Copy pathregression-suite.yml
File metadata and controls
138 lines (121 loc) · 4.19 KB
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
name: api-edge-regression-suite
on:
pull_request:
workflow_dispatch:
schedule:
- cron: '0 3 * * *' # nightly full regression
env:
# Secrets are injected via GitHub Actions secrets — never hardcoded.
# Override these in your repository / environment secrets.
NETLICENSING_BASE_URL: ${{ vars.NETLICENSING_BASE_URL || 'https://go.netlicensing.io/core/v2/rest' }}
AUDITFLOW_BASE_URL: ${{ vars.AUDITFLOW_BASE_URL || 'http://localhost:8080' }}
PAYMENT_GATEWAY_BASE_URL: ${{ vars.PAYMENT_GATEWAY_BASE_URL || 'http://localhost:8081' }}
IAM_GATEWAY_BASE_URL: ${{ vars.IAM_GATEWAY_BASE_URL || 'http://localhost:8082' }}
INVOICING_BASE_URL: ${{ vars.INVOICING_BASE_URL || 'http://localhost:8083' }}
API_TOKEN: ${{ secrets.API_TOKEN }}
jobs:
smoke:
name: Smoke — ${{ matrix.service }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
service:
- netlicensing
- auditflow
- payment-gateway
- iam-gateway
- invoicing
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: pip
- name: Install Robot Framework and libraries
run: pip install -r requirements.txt
- name: Smoke suite — ${{ matrix.service }}
run: |
robot \
--include smoke \
--outputdir results/${{ matrix.service }} \
--output output.xml \
--log log.html \
--report report.html \
tests/${{ matrix.service }}/
env:
NETLICENSING_BASE_URL: ${{ env.NETLICENSING_BASE_URL }}
AUDITFLOW_BASE_URL: ${{ env.AUDITFLOW_BASE_URL }}
PAYMENT_GATEWAY_BASE_URL: ${{ env.PAYMENT_GATEWAY_BASE_URL }}
IAM_GATEWAY_BASE_URL: ${{ env.IAM_GATEWAY_BASE_URL }}
INVOICING_BASE_URL: ${{ env.INVOICING_BASE_URL }}
API_TOKEN: ${{ env.API_TOKEN }}
- uses: actions/upload-artifact@v4
if: always()
with:
name: smoke-report-${{ matrix.service }}
path: results/${{ matrix.service }}
p0-blockers:
name: P0 Blocker Tests
runs-on: ubuntu-latest
needs: smoke
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: pip
- name: Install Robot Framework and libraries
run: pip install -r requirements.txt
- name: P0-blocker regression tests
run: |
robot \
--include p0-blocker \
--outputdir results/p0-blockers \
--output output.xml \
--log log.html \
--report report.html \
tests/
env:
NETLICENSING_BASE_URL: ${{ env.NETLICENSING_BASE_URL }}
AUDITFLOW_BASE_URL: ${{ env.AUDITFLOW_BASE_URL }}
API_TOKEN: ${{ env.API_TOKEN }}
- uses: actions/upload-artifact@v4
if: always()
with:
name: p0-blocker-report
path: results/p0-blockers
nightly-regression:
name: Nightly Full Regression
if: github.event_name == 'schedule'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: pip
- name: Install Robot Framework and libraries
run: pip install -r requirements.txt
- name: Full regression across all services
run: |
robot \
--include regression \
--exclude flaky \
--outputdir results/nightly \
--output output.xml \
--log log.html \
--report report.html \
tests/
env:
NETLICENSING_BASE_URL: ${{ env.NETLICENSING_BASE_URL }}
AUDITFLOW_BASE_URL: ${{ env.AUDITFLOW_BASE_URL }}
PAYMENT_GATEWAY_BASE_URL: ${{ env.PAYMENT_GATEWAY_BASE_URL }}
IAM_GATEWAY_BASE_URL: ${{ env.IAM_GATEWAY_BASE_URL }}
INVOICING_BASE_URL: ${{ env.INVOICING_BASE_URL }}
API_TOKEN: ${{ env.API_TOKEN }}
- uses: actions/upload-artifact@v4
if: always()
with:
name: nightly-regression-report
path: results/nightly