Integration Tests #458
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: 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: | |
Dev-Venue-Airflow-API: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup | |
uses: ./.github/actions/setup-action | |
continue-on-error: false | |
- name: MCP Venue Dev - Integration tests with Airflow API | |
id: mcp_venue_dev_integration_tests_with_airflow_api | |
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/step_defs/test_cwl_workflows_with_airflow_api.py \ | |
--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: Check Tests Results | |
if: always() | |
run: | | |
tests_status=${{ steps.mcp_venue_dev_integration_tests_with_airflow_api.outcome }} | |
echo "Tests Status: $tests_status" | |
if [ "$tests_status" != "success" ]; then | |
echo "Integration Tests with Airflow API on MCP Venue Dev failed." | |
exit 1 | |
fi | |
Dev-Venue-OGC-API: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup | |
uses: ./.github/actions/setup-action | |
continue-on-error: false | |
- name: MCP Venue Dev - Integration tests with OGC API | |
id: mcp_venue_dev_integration_tests_with_ogc_api | |
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/step_defs/test_cwl_workflows_with_ogc_api.py \ | |
--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: Check Tests Results | |
if: always() | |
run: | | |
tests_status=${{ steps.mcp_venue_dev_integration_tests_with_ogc_api.outcome }} | |
echo "Tests Status: $tests_status" | |
if [ "$tests_status" != "success" ]; then | |
echo "Integration Tests with OGC API on MCP Venue Dev failed." | |
exit 1 | |
fi | |
Test-Venue-Airflow-API: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup | |
uses: ./.github/actions/setup-action | |
continue-on-error: false | |
- name: MCP Venue Test - Integration tests with Airflow API | |
id: mcp_venue_test_integration_tests_with_airflow_api | |
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/step_defs/test_cwl_workflows_with_airflow_api.py \ | |
--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 Tests Results | |
if: always() | |
run: | | |
tests_status=${{ steps.mcp_venue_test_integration_tests_with_airflow_api.outcome }} | |
echo "Tests Status: $tests_status" | |
if [ "$tests_status" != "success" ]; then | |
echo "Integration Tests with Airflow API on MCP Venue Test failed." | |
exit 1 | |
fi | |
Test-Venue-OGC-API: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup | |
uses: ./.github/actions/setup-action | |
continue-on-error: false | |
- name: MCP Venue Test - Integration tests with OGC API | |
id: mcp_venue_test_integration_tests_with_ogc_api | |
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/step_defs/test_cwl_workflows_with_ogc_api.py \ | |
--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 Tests Results | |
if: always() | |
run: | | |
tests_status=${{ steps.mcp_venue_test_integration_tests_with_ogc_api.outcome }} | |
echo "Tests Status: $tests_status" | |
if [ "$tests_status" != "success" ]; then | |
echo "Integration Tests with OGC API on MCP Venue Test failed." | |
exit 1 | |
fi |