-
Notifications
You must be signed in to change notification settings - Fork 2
80 lines (73 loc) · 3.26 KB
/
integration_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
name: Integration Tests
on:
schedule:
# Runs around midnight Pacific Time (UTC-7)
# Doesn't account for daylight saving transitions
- cron: "0 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 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 endpoint in MCP Venue Test (i.e. http://abc.def.ghi:port-number)"
type: string
# TODO: add MCP_VENUE_OPS inputs
jobs:
integration-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
pip freeze
# - name: MCP Venue Dev - Integration tests
# id: mcp_venue_dev_integration_tests
# continue-on-error: true
# env:
# AIRFLOW_WEBSERVER_PASSWORD: ${{ secrets.MCP_VENUE_DEV_AIRFLOW_WEBSERVER_PASSWORD }}
# UNITY_USER: ${{ secrets.UNITY_USER }}
# UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
# run: |
# pytest -vv -s --gherkin-terminal-reporter \
# unity-test/system/integration \
# --venue="dev" \
# --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 - Integration tests
id: mcp_venue_test_integration_tests
continue-on-error: true
env:
AIRFLOW_WEBSERVER_PASSWORD: ${{ secrets.MCP_VENUE_TEST_AIRFLOW_WEBSERVER_PASSWORD }}
UNITY_USER: ${{ secrets.UNITY_USER }}
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
run: |
pytest -vv -s --gherkin-terminal-reporter \
unity-test/system/integration \
--venue="test" \
--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: Check Integration Tests Results
if: always()
run: |
# dev_status=${{ steps.mcp_venue_dev_integration_tests.outcome }}
test_status=${{ steps.mcp_venue_test_integration_tests.outcome }}
# echo "Dev Venue Integration Tests status: $dev_status"
echo "Test Venue Integration Tests status: $test_status"
if [ "$test_status" != "success" ]; then
echo "MCP Venue Test Integration Tests failed."
exit 1
fi