Skip to content

Commit 12c2c70

Browse files
authored
Merge pull request #207 from unity-sds/develop
SPS release 24.3
2 parents e80d390 + 8542f8b commit 12c2c70

File tree

104 files changed

+2940
-1497
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

104 files changed

+2940
-1497
lines changed

.github/workflows/integration_tests.yml

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ on:
1010
MCP_VENUE_DEV_AIRFLOW_ENDPOINT:
1111
description: "Base URL for the Airflow endpoint in MCP Venue Dev (i.e. http://abc.def.ghi:port-number)"
1212
type: string
13-
# MCP_VENUE_TEST_AIRFLOW_ENDPOINT:
14-
# description: "Base URL for the Airflow endpoint in MCP Venue Test (i.e. http://abc.def.ghi:port-number)"
15-
# type: string
13+
MCP_VENUE_TEST_AIRFLOW_ENDPOINT:
14+
description: "Base URL for the Airflow endpoint in MCP Venue Test (i.e. http://abc.def.ghi:port-number)"
15+
type: string
1616
jobs:
1717
integration-tests:
1818
runs-on: ubuntu-latest
@@ -29,6 +29,7 @@ jobs:
2929
python -m pip install --upgrade pip
3030
pip install -e ".[test]"
3131
32+
3233
- name: MCP Venue Dev - Integration tests
3334
id: mcp_venue_dev_integration_tests
3435
continue-on-error: true
@@ -37,31 +38,35 @@ jobs:
3738
run: |
3839
pytest -vv --gherkin-terminal-reporter \
3940
unity-test/system/integration \
41+
--venue="dev" \
4042
--airflow-endpoint=${{ github.event.inputs.MCP_VENUE_DEV_AIRFLOW_ENDPOINT || vars.MCP_VENUE_DEV_AIRFLOW_ENDPOINT }}
4143
42-
# - name: MCP Venue Test - Integration tests
43-
# id: mcp_venue_test_integration_tests
44-
# continue-on-error: true
45-
# run: |
46-
# pytest -vv --gherkin-terminal-reporter \
47-
# unity-test/system/integration \
48-
# --airflow-endpoint=${{ github.event.inputs.MCP_VENUE_TEST_AIRFLOW_ENDPOINT || vars.MCP_VENUE_TEST_AIRFLOW_ENDPOINT }}
44+
- name: MCP Venue Test - Integration tests
45+
id: mcp_venue_test_integration_tests
46+
continue-on-error: true
47+
env:
48+
AIRFLOW_WEBSERVER_PASSWORD: ${{ secrets.MCP_VENUE_TEST_AIRFLOW_WEBSERVER_PASSWORD }}
49+
run: |
50+
pytest -vv --gherkin-terminal-reporter \
51+
unity-test/system/integration \
52+
--venue="test" \
53+
--airflow-endpoint=${{ github.event.inputs.MCP_VENUE_TEST_AIRFLOW_ENDPOINT || vars.MCP_VENUE_TEST_AIRFLOW_ENDPOINT }}
4954
5055
- name: Check Integration Tests Results
5156
if: always()
5257
run: |
5358
dev_status=${{ steps.mcp_venue_dev_integration_tests.outcome }}
54-
# test_status=${{ steps.mcp_venue_test_integration_tests.outcome }}
55-
echo "Dev Integration Tests: $dev_status"
56-
# echo "Test Integration Tests: $test_status"
59+
test_status=${{ steps.mcp_venue_test_integration_tests.outcome }}
60+
echo "Dev Venue Integration Tests status: $dev_status"
61+
echo "Test Venue Integration Tests status: $test_status"
5762
5863
if [ "$dev_status" != "success" ]; then
5964
echo "MCP Venue Dev Integration Tests failed."
6065
exit 1
6166
fi
6267
6368
# Uncomment this block when MCP Venue Test Integration tests are re-enabled
64-
# if [ "$test_status" != "success" ]; then
65-
# echo "MCP Venue Test Integration Tests failed."
66-
# exit 1
67-
# fi
69+
if [ "$test_status" != "success" ]; then
70+
echo "MCP Venue Test Integration Tests failed."
71+
exit 1
72+
fi

.github/workflows/smoke_tests.yml

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -57,17 +57,16 @@ jobs:
5757
--airflow-endpoint=${{ github.event.inputs.MCP_VENUE_DEV_AIRFLOW_ENDPOINT || vars.MCP_VENUE_DEV_AIRFLOW_ENDPOINT }} \
5858
--ogc-processes-endpoint=${{ github.event.inputs.MCP_VENUE_DEV_OGC_PROCESSES_ENDPOINT || vars.MCP_VENUE_DEV_OGC_PROCESSES_ENDPOINT }}
5959
60-
# Temporary: comment out checks on MCP venue test until the SPS is redeployed
61-
# - name: MCP Venue Test - Smoke tests
62-
# id: mcp_venue_test_smoke_tests
63-
# env:
64-
# AIRFLOW_WEBSERVER_PASSWORD: ${{ secrets.MCP_VENUE_TEST_AIRFLOW_WEBSERVER_PASSWORD }}
65-
# continue-on-error: true
66-
# run: |
67-
# pytest -vv --gherkin-terminal-reporter \
68-
# unity-test/system/smoke \
69-
# --airflow-endpoint=${{ github.event.inputs.MCP_VENUE_TEST_AIRFLOW_ENDPOINT || vars.MCP_VENUE_TEST_AIRFLOW_ENDPOINT }} \
70-
# --ogc-processes-endpoint=${{ github.event.inputs.MCP_VENUE_TEST_OGC_PROCESSES_ENDPOINT || vars.MCP_VENUE_TEST_OGC_PROCESSES_ENDPOINT }}
60+
- name: MCP Venue Test - Smoke tests
61+
id: mcp_venue_test_smoke_tests
62+
env:
63+
AIRFLOW_WEBSERVER_PASSWORD: ${{ secrets.MCP_VENUE_TEST_AIRFLOW_WEBSERVER_PASSWORD }}
64+
continue-on-error: true
65+
run: |
66+
pytest -vv --gherkin-terminal-reporter \
67+
unity-test/system/smoke \
68+
--airflow-endpoint=${{ github.event.inputs.MCP_VENUE_TEST_AIRFLOW_ENDPOINT || vars.MCP_VENUE_TEST_AIRFLOW_ENDPOINT }} \
69+
--ogc-processes-endpoint=${{ github.event.inputs.MCP_VENUE_TEST_OGC_PROCESSES_ENDPOINT || vars.MCP_VENUE_TEST_OGC_PROCESSES_ENDPOINT }}
7170
7271
- name: MCP Venue Ops - Smoke tests
7372
id: mcp_venue_ops_smoke_tests
@@ -76,7 +75,7 @@ jobs:
7675
continue-on-error: true
7776
run: |
7877
pytest -vv --gherkin-terminal-reporter \
79-
unity-test/system/smoke/step_defs/test_airflow_api_health.py \
78+
unity-test/system/smoke/ \
8079
--airflow-endpoint=${{ github.event.inputs.MCP_VENUE_OPS_AIRFLOW_ENDPOINT || vars.MCP_VENUE_OPS_AIRFLOW_ENDPOINT }} \
8180
--ogc-processes-endpoint=${{ github.event.inputs.MCP_VENUE_OPS_OGC_PROCESSES_ENDPOINT || vars.MCP_VENUE_OPS_OGC_PROCESSES_ENDPOINT }}
8281
@@ -96,24 +95,30 @@ jobs:
9695
if: always()
9796
run: |
9897
dev_status=${{ steps.mcp_venue_dev_smoke_tests.outcome }}
99-
ops_status=${{ steps.mcp_venue_ops_smoke_tests.outcome }}
98+
test_status=${{ steps.mcp_venue_test_smoke_tests.outcome }}
10099
sbg_dev_status=${{ steps.mcp_sbg_dev_smoke_tests.outcome }}
100+
ops_status=${{ steps.mcp_venue_ops_smoke_tests.outcome }}
101101
echo "Dev Smoke Tests: $dev_status"
102-
echo "Ops Smoke Tests: $ops_status"
102+
echo "Test Smoke Tests: $test_status"
103103
echo "SBG Dev Smoke Tests: $sbg_dev_status"
104+
echo "Ops Smoke Tests: $ops_status"
104105
105-
# FIXME: must re-enable [ "$test_status" != "success" ]
106-
if [ "$dev_status" != "success" ] || [ "$ops_status" != "success" ] || [ "$sbg_dev_status" != "success" ]; then
106+
if [ "$dev_status" != "success" ] || [ "$test_status" != "success" ] \
107+
|| [ "$sbg_dev_status" != "success" ] \
108+
|| [ "$ops_status" != "success" ]; then
107109
echo "One or more smoke tests failed."
108110
if [ "$dev_status" != "success" ]; then
109111
echo "MCP Venue Dev Smoke Tests failed."
110112
fi
111-
if [ "$ops_status" != "success" ]; then
112-
echo "MCP Venue Ops Smoke Tests failed."
113+
if [ "test_status" != "success" ]; then
114+
echo "MCP Venue Test Smoke Tests failed."
113115
fi
114116
if [ "$sbg_dev_status" != "success" ]; then
115117
echo "MCP Venue SBG Dev Smoke Tests failed."
116118
fi
119+
if [ "$ops_status" != "success" ]; then
120+
echo "MCP Venue Ops Smoke Tests failed."
121+
fi
117122
exit 1
118123
else
119124
echo "All smoke tests passed."

.github/workflows/static_analysis.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
name: Static Analysis
22

3-
on: [pull_request]
3+
on:
4+
pull_request:
5+
workflow_dispatch:
46

57
jobs:
68
pre-commit:

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,9 +212,10 @@ $RECYCLE.BIN/
212212
# Local .terraform directories
213213
**/.terraform/*
214214

215-
# .tfstate files
215+
# Terraform files
216216
*.tfstate
217217
*.tfstate.*
218+
**.hcl
218219

219220
# Crash log files
220221
crash.log
@@ -247,3 +248,5 @@ terraform.rc
247248

248249
/lambda/deployment_packages/*
249250
!/lambda/deployment_packages/.gitkeep
251+
252+
**/*.cfg

.pre-commit-config-ci.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ repos:
88
- id: check-yaml
99
- id: check-xml
1010
- id: check-added-large-files
11-
args:
12-
- --maxkb=50000
11+
args: [--maxkb=50000]
1312
- id: check-json # Checks json files for parsable syntax.
1413
- id: pretty-format-json # Sets a standard for formatting json files.
1514
args:

.pre-commit-config.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ repos:
88
- id: check-yaml
99
- id: check-xml
1010
- id: check-added-large-files
11-
args:
12-
- --maxkb=50000
11+
args: ["--maxkb=50000"]
1312
- id: check-json # Checks json files for parsable syntax.
1413
- id: pretty-format-json # Sets a standard for formatting json files.
1514
args:

CHANGELOG.md

Lines changed: 57 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,59 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
# [Unity Release 24.3] - 2024-09-22
9+
10+
## Tags
11+
12+
- SPS Version 2.2.0
13+
- OGC API Version 2.0.0
14+
- OGC Python Client Version 2.0.0
15+
16+
## Repositories
17+
18+
- unity-sps: <https://github.com/unity-sds/unity-sps/releases/tag/2.2.0>
19+
- unity-sps-ogc-processes-api: <https://github.com/unity-sds/unity-sps-ogc-processes-api/releases/tag/2.0.0>
20+
- unity-sps-ogc-processes-api-client-python: <https://github.com/unity-sds/unity-sps-ogc-processes-api-client-python/releases/tag/2.0.0>
21+
22+
## Epics
23+
24+
- EPIC: `Security`
25+
- [[Bug]: Upgrade EKS 1.27 AMIs](https://github.com/unity-sds/unity-sps/issues/159)
26+
- EPIC: `Scaling`
27+
- [[New Feature]: Increase ephemeral disk space for Airflow workers](https://github.com/unity-sds/unity-sps/issues/152)
28+
- [[New Feature]: Enable users to select the EC2 type to execute a workload](https://github.com/unity-sds/unity-sps/issues/153)
29+
- [[New Feature]: Set the DAG run status to "failed" if the main worker task failed](https://github.com/unity-sds/unity-sps/issues/189)
30+
- [[New Feature]: Demonstrate use of ECR within an Airflow DAG (https://github.com/unity-sds/unity-sps/issues/186)
31+
- EPIC: `Airflow/WPS-T Integration`
32+
- [[New Feature]: Create test to deploy, execute and undeploy the CWL DAG](https://github.com/unity-sds/unity-sps/issues/131)
33+
- [[New Feature]: Enable execution of OGC data processing requests with arbitrary parameter values](https://github.com/unity-sds/unity-sps/issues/129)
34+
- EPIC: `Production Venue Deployments`
35+
- [[New Feature]: Airflow HTTPD Proxy development and configuration](https://github.com/unity-sds/unity-sps/issues/125)
36+
- [[New Feature]: Expose SPS health check endpoints](https://github.com/unity-sds/unity-sps/issues/127)
37+
- EPIC: `SPS Infrastructure`
38+
- [[New Feature]: Update documentation for SPS deployment](https://github.com/unity-sds/unity-sps/issues/116)
39+
- [[New Feature]: Review the SPS GitBook documentation](https://github.com/unity-sds/unity-sps/issues/118)
40+
- [[New Feature]: Store SPS Terraform state on S3](https://github.com/unity-sds/unity-sps/issues/132)
41+
- [[New Feature]: Parametrize the SPS Integration Tests](https://github.com/unity-sds/unity-sps/issues/155)
42+
- [[New Feature] Upgrade SPS to latest version of Airflow 2.10.0](https://github.com/unity-sds/unity-sps/issues/195)
43+
44+
## Docker Containers
45+
46+
- ghcr.io/unity-sds/unity-sps/sps-airflow:2.2.0
47+
- ghcr.io/unity-sds/unity-sps/sps-docker-cwl:2.2.0
48+
- ghcr.io/unity-sds/unity-sps-ogc-processes-api/unity-sps-ogc-processes-api:2.0.0
49+
50+
## Documentation
51+
52+
- For Administrators:
53+
- [SPS Deployment with Terraform](https://app.gitbook.com/o/xZRqGQeQXJ0RP4VMj7Lq/s/UMIRhLdbRQTvMWop8Il9/developer-docs/science-processing/docs/admin-guide/sps-deployment-with-terraform)
54+
- [Interacting with an Existing SPS Deployment](https://app.gitbook.com/o/xZRqGQeQXJ0RP4VMj7Lq/s/UMIRhLdbRQTvMWop8Il9/developer-docs/science-processing/docs/admin-guide/interacting-with-an-existing-sps-deployment)
55+
- [SPS Airflow Custom Docker Image Build Instructions](https://app.gitbook.com/o/xZRqGQeQXJ0RP4VMj7Lq/s/UMIRhLdbRQTvMWop8Il9/developer-docs/science-processing/docs/admin-guide/sps-airflow-custom-docker-image-build-instructions)
56+
- [SPS Post Deployment Operations](https://app.gitbook.com/o/xZRqGQeQXJ0RP4VMj7Lq/s/UMIRhLdbRQTvMWop8Il9/developer-docs/science-processing/docs/admin-guide/sps-post-deployment-operations)
57+
- For Deverlopers:
58+
- [Tutorial: Deploy, Execute, and Undeploy a Process using the OGC API - Processes](https://app.gitbook.com/o/xZRqGQeQXJ0RP4VMj7Lq/s/UMIRhLdbRQTvMWop8Il9/developer-docs/science-processing/docs/developers-guide/tutorial-deploy-execute-and-undeploy-a-process-using-the-ogc-api-processes)
59+
- For Users:
60+
- [Tutorial: Register and Execute a CWL Workflow](https://app.gitbook.com/o/xZRqGQeQXJ0RP4VMj7Lq/s/UMIRhLdbRQTvMWop8Il9/developer-docs/science-processing/docs/users-guide/tutorial-register-and-execute-a-cwl-workflow)
861

962
# [Unity Release 24.2] - 2024-07-01
1063

@@ -38,12 +91,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3891
- [[Task] Add TESTING.md file to SPS repo](https://github.com/unity-sds/unity-sps/issues/99)
3992
- EPIC: `SPS Infrastructure`
4093
- [[New Feature] Store SPS Terraform state on S3](https://github.com/unity-sds/unity-sps/issues/132)
94+
- EPIC: `SPS Security`
95+
- [[Bug]: Upgrade EKS 1.27 AMIs](https://github.com/unity-sds/unity-sps/issues/159)
96+
- [[Bug]: Upgrade to EKS 1.29 AMIs](https://github.com/unity-sds/unity-sps/issues/206)
4197

4298
## Docker Containers
4399

44100
- ghcr.io/unity-sds/unity-sps/sps-airflow:2.1.0
45101
- ghcr.io/unity-sds/unity-sps/sps-docker-cwl:2.1.0
46-
- ghcr.io/unity-sds/unity-sps-ogc-processes-api/unity-sps-ogc-processes-api:2.1.0
102+
- ghcr.io/unity-sds/unity-sps-ogc-processes-api/unity-sps-ogc-processes-api:1.0.0
47103

48104
## Documentation
49105

File renamed without changes.

unity-test/TESTING.md renamed to TESTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ The below list of test categories are included in our testing setup. Further det
181181

182182
### Security Tests
183183

184-
- Location: `/unity`
184+
- Location: `/.github/workflows`
185185
- Purpose: Identify potential security vulnerabilities.
186186
- Running Tests:
187187
- Manually: N/A

airflow/dags/busybox.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
POD_TEMPLATE_FILE = "/opt/airflow/dags/docker_cwl_pod.yaml"
1717

1818
# The Kubernetes namespace within which the Pod is run (it must already exist)
19-
POD_NAMESPACE = "airflow"
19+
POD_NAMESPACE = "sps"
2020

2121
# The path of the working directory where the CWL workflow is executed
2222
# (aka the starting directory for cwl-runner).

0 commit comments

Comments
 (0)