Smoke Tests #127
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
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]" | |
- 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 Venue 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 }} | |
# Final step to check outcomes and potentially fail the job | |
- name: Check Smoke Tests Results | |
if: always() | |
run: | | |
if [ "${{ steps.mcp_venue_dev_smoke_tests.outcome }}" != "success" ] || [ "${{ steps.mcp_venue_test_smoke_tests.outcome }}" != "success" ] || [ "${{ steps.mcp_sbg_dev_smoke_tests.outcome }}" != "success" ]; then | |
echo "One or more smoke tests failed." | |
exit 1 | |
else | |
echo "All smoke tests passed." | |
fi |