Skip to content

Integration Tests

Integration Tests #725

name: Integration Tests
on:
schedule:
# Runs at midnight Pacific Time (UTC-7)
# Doesn't account for daylight saving transitions
# - cron: "0 7 * * *"
# Runs at midnight Pacific Time (UTC-7) every Wednesday (day=3)
- cron: "0 7 * * 3"
workflow_dispatch:
inputs:
MCP_VENUE_DEV_AIRFLOW_API_ENDPOINT:
description: "Base URL for the Airflow API endpoint in MCP Venue Dev (i.e. https://abcdef12345.execute-api.us-west-2.amazonaws.com/dev/sps/api/v1)"
type: string
MCP_VENUE_DEV_OGC_PROCESSES_API_ENDPOINT:
description: "Base URL for the OGC API endpoint in MCP Venue Dev (i.e. https://abcdef12345.execute-api.us-west-2.amazonaws.com/dev/ogc/api)"
type: string
MCP_VENUE_TEST_AIRFLOW_API_ENDPOINT:
description: "Base URL for the Airflow API endpoint in MCP Venue Test (i.e. https://abcdef12345.execute-api.us-west-2.amazonaws.com/test/sps/api/v1)"
type: string
MCP_VENUE_TEST_OGC_PROCESSES_API_ENDPOINT:
description: "Base URL for the OGC endpoint in MCP Venue Test (i.e. https://abcdef12345.execute-api.us-west-2.amazonaws.com/test/ogc/api)"
type: string
MCP_VENUE_OPS_AIRFLOW_API_ENDPOINT:
description: "Base URL for the Airflow API endpoint in MCP Venue Ops (i.e. https://abcdef12345.execute-api.us-west-2.amazonaws.com/test/sps/api/v1)"
type: string
MCP_VENUE_OPS_OGC_PROCESSES_API_ENDPOINT:
description: "Base URL for the OGC endpoint in MCP Venue Ops (i.e. https://abcdef12345.execute-api.us-west-2.amazonaws.com/test/ogc/api)"
type: string
jobs:
Dev-Venue-Airflow-API:
runs-on: ubuntu-latest
env:
UNITY_USER: ${{ secrets.MCP_VENUE_DEV_UNITY_USERNAME }}
UNITY_PASSWORD: ${{ secrets.MCP_VENUE_DEV_UNITY_PASSWORD }}
UNITY_CLIENT_ID: ${{ secrets.MCP_VENUE_DEV_UNITY_CLIENTID }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
continue-on-error: false
- name: MCP Venue Dev - Karpenter Integration tests with Airflow API
id: mcp_venue_dev_karpenter_integration_tests_with_airflow_api
continue-on-error: true
run: |
pytest -vv -s --gherkin-terminal-reporter \
unity-test/system/integration/step_defs/test_karpenter_test_workflow_with_airflow_api.py \
--venue="dev" \
--airflow-endpoint=${{ github.event.inputs.MCP_VENUE_DEV_AIRFLOW_API_ENDPOINT || vars.MCP_VENUE_DEV_AIRFLOW_API_ENDPOINT }}
- name: MCP Venue Dev - CWL Integration tests with Airflow API
id: mcp_venue_dev_cwl_integration_tests_with_airflow_api
continue-on-error: true
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_API_ENDPOINT || vars.MCP_VENUE_DEV_AIRFLOW_API_ENDPOINT }}
- name: Check Tests Results
if: always()
run: |
cwl_tests_status=${{ steps.mcp_venue_dev_cwl_integration_tests_with_airflow_api.outcome }}
echo "CWL Tests Status: $tests_status"
if [ "$cwl_tests_status" != "success" ]; then
echo "CWL Integration Tests with Airflow API on MCP Venue Dev failed."
fi
karpenter_tests_status=${{ steps.mcp_venue_dev_karpenter_integration_tests_with_airflow_api.outcome }}
echo "Karpenter Tests Status: $karpenter_tests_status"
if [ "$karpenter_tests_status" != "success" ]; then
echo "Karpenter Integration Tests with Airflow API on MCP Venue Dev failed."
fi
if [ "$karpenter_tests_status" != "success" || "$cwl_tests_status" != "success" ]; then
exit 1
fi
Dev-Venue-OGC-API:
runs-on: ubuntu-latest
env:
UNITY_USER: ${{ secrets.MCP_VENUE_DEV_UNITY_USERNAME }}
UNITY_PASSWORD: ${{ secrets.MCP_VENUE_DEV_UNITY_PASSWORD }}
UNITY_CLIENT_ID: ${{ secrets.MCP_VENUE_DEV_UNITY_CLIENTID }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
continue-on-error: false
- name: MCP Venue Dev - Karpenter Integration tests with OGC API
id: mcp_venue_dev_karpenter_integration_tests_with_ogc_api
continue-on-error: true
run: |
pytest -vv -s --gherkin-terminal-reporter \
--venue="dev" \
unity-test/system/integration/step_defs/test_karpenter_test_workflow_with_ogc_api.py \
--ogc-processes-endpoint=${{ github.event.inputs.MCP_VENUE_DEV_OGC_PROCESSES_API_ENDPOINT || vars.MCP_VENUE_DEV_OGC_PROCESSES_API_ENDPOINT }}
- name: MCP Venue Dev - CWL Integration tests with OGC API
id: mcp_venue_dev_cwl_integration_tests_with_ogc_api
continue-on-error: true
run: |
pytest -vv -s --gherkin-terminal-reporter \
unity-test/system/integration/step_defs/test_cwl_workflows_with_ogc_api.py \
--venue="dev" \
--ogc-processes-endpoint=${{ github.event.inputs.MCP_VENUE_DEV_OGC_PROCESSES_API_ENDPOINT || vars.MCP_VENUE_DEV_OGC_PROCESSES_API_ENDPOINT }}
- name: Check Tests Results
if: always()
run: |
cwl_tests_status=${{ steps.mcp_venue_dev_cwl_integration_tests_with_ogc_api.outcome }}
echo "CWL Tests Status: $tests_status"
if [ "$cwl_tests_status" != "success" ]; then
echo "CWL Integration Tests with OGC API on MCP Venue Dev failed."
fi
karpenter_tests_status=${{ steps.mcp_venue_dev_karpenter_integration_tests_with_ogc_api.outcome }}
echo "Karpenter Tests Status: $karpenter_tests_status"
if [ "$karpenter_tests_status" != "success" ]; then
echo "Karpenter Integration Tests with OGC API on MCP Venue Dev failed."
fi
if [ "$karpenter_tests_status" != "success" || "$cwl_tests_status" != "success" ]; then
exit 1
fi
Test-Venue-Airflow-API:
runs-on: ubuntu-latest
env:
UNITY_USER: ${{ secrets.MCP_VENUE_TEST_UNITY_USERNAME }}
UNITY_PASSWORD: ${{ secrets.MCP_VENUE_TEST_UNITY_PASSWORD }}
UNITY_CLIENT_ID: ${{ secrets.MCP_VENUE_TEST_UNITY_CLIENTID }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
continue-on-error: false
- name: MCP Venue Test - Karpenter Integration tests with Airflow API
id: mcp_venue_test_karpenter_integration_tests_with_airflow_api
continue-on-error: true
run: |
pytest -vv -s --gherkin-terminal-reporter \
unity-test/system/integration/step_defs/test_karpenter_test_workflow_with_airflow_api.py \
--venue="test" \
--airflow-endpoint=${{ github.event.inputs.MCP_VENUE_TEST_AIRFLOW_API_ENDPOINT || vars.MCP_VENUE_TEST_AIRFLOW_API_ENDPOINT }}
- name: MCP Venue Test - CWL Integration tests with Airflow API
id: mcp_venue_test_cwl_integration_tests_with_airflow_api
continue-on-error: true
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_API_ENDPOINT || vars.MCP_VENUE_TEST_AIRFLOW_API_ENDPOINT }}
- name: Check Tests Results
if: always()
run: |
cwl_tests_status=${{ steps.mcp_venue_test_cwl_integration_tests_with_airflow_api.outcome }}
echo "CWL Tests Status: $tests_status"
if [ "$cwl_tests_status" != "success" ]; then
echo "CWL Integration Tests with Airflow API on MCP Venue Test failed."
fi
karpenter_tests_status=${{ steps.mcp_venue_test_karpenter_integration_tests_with_airflow_api.outcome }}
echo "Karpenter Tests Status: $karpenter_tests_status"
if [ "$karpenter_tests_status" != "success" ]; then
echo "Karpenter Integration Tests with Airflow API on MCP Venue Test failed."
fi
if [ "$karpenter_tests_status" != "success" || "$cwl_tests_status" != "success" ]; then
exit 1
fi
Test-Venue-OGC-API:
runs-on: ubuntu-latest
env:
UNITY_USER: ${{ secrets.MCP_VENUE_TEST_UNITY_USERNAME }}
UNITY_PASSWORD: ${{ secrets.MCP_VENUE_TEST_UNITY_PASSWORD }}
UNITY_CLIENT_ID: ${{ secrets.MCP_VENUE_TEST_UNITY_CLIENTID }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
continue-on-error: false
- name: MCP Venue Test - Karpenter Integration tests with OGC API
id: mcp_venue_test_karpenter_integration_tests_with_ogc_api
continue-on-error: true
run: |
pytest -vv -s --gherkin-terminal-reporter \
--venue="test" \
unity-test/system/integration/step_defs/test_karpenter_test_workflow_with_ogc_api.py \
--ogc-processes-endpoint=${{ github.event.inputs.MCP_VENUE_TEST_OGC_PROCESSES_API_ENDPOINT || vars.MCP_VENUE_TEST_OGC_PROCESSES_API_ENDPOINT }}
- name: MCP Venue Test - CWL Integration tests with OGC API
id: mcp_venue_test_cwl_integration_tests_with_ogc_api
continue-on-error: true
run: |
pytest -vv -s --gherkin-terminal-reporter \
unity-test/system/integration/step_defs/test_cwl_workflows_with_ogc_api.py \
--venue="test" \
--ogc-processes-endpoint=${{ github.event.inputs.MCP_VENUE_TEST_OGC_PROCESSES_API_ENDPOINT || vars.MCP_VENUE_TEST_OGC_PROCESSES_API_ENDPOINT }}
- name: Check Tests Results
if: always()
run: |
cwl_tests_status=${{ steps.mcp_venue_test_cwl_integration_tests_with_ogc_api.outcome }}
echo "CWL Tests Status: $tests_status"
if [ "$cwl_tests_status" != "success" ]; then
echo "CWL Integration Tests with OGC API on MCP Venue Test failed."
fi
karpenter_tests_status=${{ steps.mcp_venue_test_karpenter_integration_tests_with_ogc_api.outcome }}
echo "Karpenter Tests Status: $karpenter_tests_status"
if [ "$karpenter_tests_status" != "success" ]; then
echo "Karpenter Integration Tests with OGC API on MCP Venue Test failed."
fi
if [ "$karpenter_tests_status" != "success" || "$cwl_tests_status" != "success" ]; then
exit 1
fi
Ops-Venue-Airflow-API:
runs-on: ubuntu-latest
env:
UNITY_USER: ${{ secrets.MCP_VENUE_OPS_UNITY_USERNAME }}
UNITY_PASSWORD: ${{ secrets.MCP_VENUE_OPS_UNITY_PASSWORD }}
UNITY_CLIENT_ID: ${{ secrets.MCP_VENUE_OPS_UNITY_CLIENTID }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
continue-on-error: false
- name: MCP Venue Ops - Karpenter Integration tests with Airflow API
id: mcp_venue_ops_karpenter_integration_tests_with_airflow_api
continue-on-error: true
run: |
pytest -vv -s --gherkin-terminal-reporter \
unity-test/system/integration/step_defs/test_karpenter_test_workflow_with_airflow_api.py \
--venue="prod" \
--airflow-endpoint=${{ github.event.inputs.MCP_VENUE_OPS_AIRFLOW_API_ENDPOINT || vars.MCP_VENUE_OPS_AIRFLOW_API_ENDPOINT }}
- name: Check Tests Results
if: always()
run: |
karpenter_tests_status=${{ steps.mcp_venue_ops_karpenter_integration_tests_with_airflow_api.outcome }}
echo "Karpenter Tests Status: $karpenter_tests_status"
if [ "$karpenter_tests_status" != "success" ]; then
echo "Karpenter Integration Tests with Airflow API on MCP Ops Test failed."
exit 1
fi
Ops-Venue-OGC-API:
runs-on: ubuntu-latest
env:
UNITY_USER: ${{ secrets.MCP_VENUE_OPS_UNITY_USERNAME }}
UNITY_PASSWORD: ${{ secrets.MCP_VENUE_OPS_UNITY_PASSWORD }}
UNITY_CLIENT_ID: ${{ secrets.MCP_VENUE_OPS_UNITY_CLIENTID }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup
uses: ./.github/actions/setup-action
continue-on-error: false
- name: MCP Venue Ops - Karpenter Integration tests with OGC API
id: mcp_venue_ops_karpenter_integration_tests_with_ogc_api
continue-on-error: true
run: |
pytest -vv -s --gherkin-terminal-reporter \
--venue="prod" \
unity-test/system/integration/step_defs/test_karpenter_test_workflow_with_ogc_api.py \
--ogc-processes-endpoint=${{ github.event.inputs.MCP_VENUE_OPS_OGC_PROCESSES_API_ENDPOINT || vars.MCP_VENUE_OPS_OGC_PROCESSES_API_ENDPOINT }}
- name: Check Tests Results
if: always()
run: |
karpenter_tests_status=${{ steps.mcp_venue_ops_karpenter_integration_tests_with_ogc_api.outcome }}
echo "Karpenter Tests Status: $karpenter_tests_status"
if [ "$karpenter_tests_status" != "success" ]; then
echo "Karpenter Integration Tests with OGC API on MCP Venue Ops failed."
exit 1
fi