-
Notifications
You must be signed in to change notification settings - Fork 3
149 lines (138 loc) · 6.91 KB
/
smoke_tests.yml
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
139
140
141
142
143
144
145
146
147
148
149
name: Smoke Tests
on:
schedule:
- cron: "0 7 * * *" # Runs around midnight Pacific Time (UTC-7)
workflow_dispatch:
inputs:
MCP_VENUE_DEV_AIRFLOW_ENDPOINT:
description: "Base URL for the Airflow endpoint in MCP Venue Dev (i.e. http://abc.def.ghi:port-number)"
type: string
MCP_VENUE_DEV_OGC_PROCESSES_ENDPOINT:
description: "Base URL for the OGC Processes API endpoint in MCP Venue Dev (i.e. http://abc.def.ghi:port-number)"
type: string
MCP_VENUE_TEST_AIRFLOW_ENDPOINT:
description: "Base URL for the Airflow endpoint in MCP Venue Test (i.e. http://abc.def.ghi:port-number)"
type: string
MCP_VENUE_TEST_OGC_PROCESSES_ENDPOINT:
description: "Base URL for the OGC Processes API endpoint in MCP Venue Test (i.e. http://abc.def.ghi:port-number)"
type: string
MCP_VENUE_OPS_AIRFLOW_ENDPOINT:
description: "Base URL for the Airflow endpoint in MCP Venue Ops (i.e. http://abc.def.ghi:port-number)"
type: string
MCP_VENUE_OPS_OGC_PROCESSES_ENDPOINT:
description: "Base URL for the OGC Processes API endpoint in MCP Venue Ops (i.e. http://abc.def.ghi:port-number)"
type: string
MCP_VENUE_SBG_DEV_AIRFLOW_ENDPOINT:
description: "Base URL for the Airflow endpoint in MCP Venue SBG Dev (i.e. http://abc.def.ghi:port-number)"
type: string
MCP_VENUE_SBG_DEV_OGC_PROCESSES_ENDPOINT:
description: "Base URL for the OGC Processes API endpoint in MCP Venue SBG Dev (i.e. http://abc.def.ghi:port-number)"
type: string
MCP_VENUE_EMIT_INT_AIRFLOW_ENDPOINT:
description: "Base URL for the Airflow endpoint in MCP Venue EMIT InT (i.e. http://abc.def.ghi:port-number)"
type: string
MCP_VENUE_EMIT_INT_OGC_PROCESSES_ENDPOINT:
description: "Base URL for the OGC Processes API endpoint in MCP Venue EMIT InT (i.e. http://abc.def.ghi:port-number)"
type: string
jobs:
smoke-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[test]"
pip install git+https://github.com/unity-sds/unity-monorepo.git@main#subdirectory=libs/unity-py
- name: MCP Venue Dev - Smoke tests
id: mcp_venue_dev_smoke_tests
env:
AIRFLOW_WEBSERVER_PASSWORD: ${{ secrets.MCP_VENUE_DEV_AIRFLOW_WEBSERVER_PASSWORD }}
continue-on-error: true
run: |
pytest -vv --gherkin-terminal-reporter \
unity-test/system/smoke \
--airflow-endpoint=${{ github.event.inputs.MCP_VENUE_DEV_AIRFLOW_ENDPOINT || vars.MCP_VENUE_DEV_AIRFLOW_ENDPOINT }} \
--ogc-processes-endpoint=${{ github.event.inputs.MCP_VENUE_DEV_OGC_PROCESSES_ENDPOINT || vars.MCP_VENUE_DEV_OGC_PROCESSES_ENDPOINT }}
- name: MCP Venue Test - Smoke tests
id: mcp_venue_test_smoke_tests
env:
AIRFLOW_WEBSERVER_PASSWORD: ${{ secrets.MCP_VENUE_TEST_AIRFLOW_WEBSERVER_PASSWORD }}
continue-on-error: true
run: |
pytest -vv --gherkin-terminal-reporter \
unity-test/system/smoke \
--airflow-endpoint=${{ github.event.inputs.MCP_VENUE_TEST_AIRFLOW_ENDPOINT || vars.MCP_VENUE_TEST_AIRFLOW_ENDPOINT }} \
--ogc-processes-endpoint=${{ github.event.inputs.MCP_VENUE_TEST_OGC_PROCESSES_ENDPOINT || vars.MCP_VENUE_TEST_OGC_PROCESSES_ENDPOINT }}
- name: MCP Venue Ops - Smoke tests
id: mcp_venue_ops_smoke_tests
env:
AIRFLOW_WEBSERVER_PASSWORD: ${{ secrets.MCP_VENUE_OPS_AIRFLOW_WEBSERVER_PASSWORD }}
continue-on-error: true
run: |
pytest -vv --gherkin-terminal-reporter \
unity-test/system/smoke/ \
--airflow-endpoint=${{ github.event.inputs.MCP_VENUE_OPS_AIRFLOW_ENDPOINT || vars.MCP_VENUE_OPS_AIRFLOW_ENDPOINT }} \
--ogc-processes-endpoint=${{ github.event.inputs.MCP_VENUE_OPS_OGC_PROCESSES_ENDPOINT || vars.MCP_VENUE_OPS_OGC_PROCESSES_ENDPOINT }}
- name: MCP SBG DEV - Smoke tests
id: mcp_sbg_dev_smoke_tests
env:
AIRFLOW_WEBSERVER_PASSWORD: ${{ secrets.MCP_VENUE_SBG_DEV_AIRFLOW_WEBSERVER_PASSWORD }}
continue-on-error: true
run: |
pytest -vv --gherkin-terminal-reporter \
unity-test/system/smoke \
--airflow-endpoint=${{ github.event.inputs.MCP_VENUE_SBG_DEV_AIRFLOW_ENDPOINT || vars.MCP_VENUE_SBG_DEV_AIRFLOW_ENDPOINT }} \
--ogc-processes-endpoint=${{ github.event.inputs.MCP_VENUE_SBG_DEV_OGC_PROCESSES_ENDPOINT || vars.MCP_VENUE_SBG_DEV_OGC_PROCESSES_ENDPOINT }}
- name: MCP EMIT InT - Smoke tests
id: mcp_emit_int_smoke_tests
env:
AIRFLOW_WEBSERVER_PASSWORD: ${{ secrets.MCP_VENUE_EMIT_INT_AIRFLOW_WEBSERVER_PASSWORD }}
continue-on-error: true
run: |
pytest -vv --gherkin-terminal-reporter \
unity-test/system/smoke \
--airflow-endpoint=${{ github.event.inputs.MCP_VENUE_EMIT_INT_AIRFLOW_ENDPOINT || vars.MCP_VENUE_EMIT_INT_AIRFLOW_ENDPOINT }} \
--ogc-processes-endpoint=${{ github.event.inputs.MCP_VENUE_EMIT_INT_OGC_PROCESSES_ENDPOINT || vars.MCP_VENUE_EMIT_INT_OGC_PROCESSES_ENDPOINT }}
# Final step to check outcomes and potentially fail the job
- name: Check Smoke Tests Results
if: always()
run: |
dev_status=${{ steps.mcp_venue_dev_smoke_tests.outcome }}
test_status=${{ steps.mcp_venue_test_smoke_tests.outcome }}
sbg_dev_status=${{ steps.mcp_sbg_dev_smoke_tests.outcome }}
emit_int_status=${{ steps.mcp_emit_int_smoke_tests.outcome }}
ops_status=${{ steps.mcp_venue_ops_smoke_tests.outcome }}
echo "Dev Smoke Tests: $dev_status"
echo "Test Smoke Tests: $test_status"
echo "SBG Dev Smoke Tests: $sbg_dev_status"
echo "EMIT InT Smoke Tests: $emit_int_status"
echo "Ops Smoke Tests: $ops_status"
if [ "$dev_status" != "success" ] || [ "$test_status" != "success" ] \
|| [ "$sbg_dev_status" != "success" ] \
|| [ "$emit_int_status" != "success" ] \
|| [ "$ops_status" != "success" ]; then
echo "One or more smoke tests failed."
if [ "$dev_status" != "success" ]; then
echo "MCP Venue Dev Smoke Tests failed."
fi
if [ "test_status" != "success" ]; then
echo "MCP Venue Test Smoke Tests failed."
fi
if [ "$sbg_dev_status" != "success" ]; then
echo "MCP Venue SBG Dev Smoke Tests failed."
fi
if [ "$emit_int_status" != "success" ]; then
echo "MCP Venue EMIT InT Tests failed."
fi
if [ "$ops_status" != "success" ]; then
echo "MCP Venue Ops Smoke Tests failed."
fi
exit 1
else
echo "All smoke tests passed."
fi