Skip to content

Commit

Permalink
Merge branch 'develop' into multi-burst-sandbox
Browse files Browse the repository at this point in the history
  • Loading branch information
jtherrmann authored Feb 4, 2025
2 parents 0e5958b + 77229f3 commit 306ca5a
Show file tree
Hide file tree
Showing 81 changed files with 931 additions and 910 deletions.
2 changes: 1 addition & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# These owners will be requested for review when someone opens a pull request.
* @ASFHyP3/platform
* @ASFHyP3/Tools @ASFHyP3/SciDev @ASFHyP3/Services
2 changes: 1 addition & 1 deletion .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ on:

jobs:
call-changelog-check-workflow:
uses: ASFHyP3/actions/.github/workflows/reusable-changelog-check.yml@v0.12.0
uses: ASFHyP3/actions/.github/workflows/reusable-changelog-check.yml@v0.15.0
2 changes: 1 addition & 1 deletion .github/workflows/create-jira-issue.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:

jobs:
call-create-jira-issue-workflow:
uses: ASFHyP3/actions/.github/workflows/reusable-create-jira-issue.yml@v0.12.0
uses: ASFHyP3/actions/.github/workflows/reusable-create-jira-issue.yml@v0.15.0
secrets:
JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/deploy-daac.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ jobs:
job_spec/INSAR_GAMMA.yml
job_spec/RTC_GAMMA.yml
job_spec/INSAR_ISCE_BURST.yml
job_spec/OPERA_DISP_TMS.yml
instance_types: r6id.xlarge,r6id.2xlarge,r6id.4xlarge,r6id.8xlarge,r6idn.xlarge,r6idn.2xlarge,r6idn.4xlarge,r6idn.8xlarge
default_max_vcpus: 1500
expanded_max_vcpus: 3000
Expand All @@ -77,7 +78,7 @@ jobs:

- uses: actions/setup-python@v5
with:
python-version: 3.9
python-version: 3.13

- uses: ./.github/actions/deploy-hyp3
if: github.ref == matrix.deploy_ref
Expand Down Expand Up @@ -111,6 +112,6 @@ jobs:
call-bump-version-workflow:
if: github.ref == 'refs/heads/main'
needs: deploy
uses: ASFHyP3/actions/.github/workflows/reusable-bump-version.yml@v0.12.0
uses: ASFHyP3/actions/.github/workflows/reusable-bump-version.yml@v0.15.0
secrets:
USER_TOKEN: ${{ secrets.TOOLS_BOT_PAK }}
2 changes: 1 addition & 1 deletion .github/workflows/deploy-enterprise-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ jobs:

- uses: actions/setup-python@v5
with:
python-version: 3.9
python-version: 3.13

- uses: ./.github/actions/deploy-hyp3
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deploy-enterprise.yml
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ jobs:

- uses: actions/setup-python@v5
with:
python-version: 3.9
python-version: 3.13

- uses: ./.github/actions/deploy-hyp3
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deploy-multi-burst-sandbox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:

- uses: actions/setup-python@v5
with:
python-version: 3.9
python-version: 3.13

- uses: ./.github/actions/deploy-hyp3
with:
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/deploy-opera-disp-sandbox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ jobs:
default_credits_per_user: 0
default_application_status: APPROVED
cost_profile: DEFAULT
deploy_ref: refs/heads/develop
job_files: >-
job_spec/OPERA_DISP_TMS.yml
instance_types: r6id.xlarge,r6id.2xlarge,r6id.4xlarge,r6id.8xlarge,r6idn.xlarge,r6idn.2xlarge,r6idn.4xlarge,r6idn.8xlarge
Expand All @@ -49,7 +48,7 @@ jobs:

- uses: actions/setup-python@v5
with:
python-version: 3.9
python-version: 3.13

- uses: ./.github/actions/deploy-hyp3
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/labeled-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,4 @@ on:

jobs:
call-labeled-pr-check-workflow:
uses: ASFHyP3/actions/.github/workflows/reusable-labeled-pr-check.yml@v0.12.0
uses: ASFHyP3/actions/.github/workflows/reusable-labeled-pr-check.yml@v0.15.0
2 changes: 1 addition & 1 deletion .github/workflows/release-template-comment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:

jobs:
call-release-checklist-workflow:
uses: ASFHyP3/actions/.github/workflows/reusable-release-checklist-comment.yml@v0.12.0
uses: ASFHyP3/actions/.github/workflows/reusable-release-checklist-comment.yml@v0.15.0
permissions:
pull-requests: write
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:

jobs:
call-release-workflow:
uses: ASFHyP3/actions/.github/workflows/reusable-release.yml@v0.12.0
uses: ASFHyP3/actions/.github/workflows/reusable-release.yml@v0.15.0
with:
release_prefix: HyP3
secrets:
Expand Down
29 changes: 13 additions & 16 deletions .github/workflows/static-analysis.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,17 @@
name: Static code analysis

permissions:
contents: read

on: push

jobs:
flake8:
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
- uses: actions/setup-python@v5
with:
python-version: 3.9
- run: |
python -m pip install --upgrade pip
make install
call-ruff-workflow:
# Docs: https://github.com/ASFHyP3/actions
uses: ASFHyP3/actions/.github/workflows/[email protected]

- run: make flake8
call-mypy-workflow:
uses: ASFHyP3/actions/.github/workflows/[email protected]

cfn-lint:
runs-on: ubuntu-latest
Expand All @@ -26,7 +23,7 @@ jobs:
- uses: actions/[email protected]
- uses: actions/setup-python@v5
with:
python-version: 3.9
python-version: 3.13
- run: |
python -m pip install --upgrade pip
make install
Expand All @@ -40,7 +37,7 @@ jobs:
- uses: actions/[email protected]
- uses: actions/setup-python@v5
with:
python-version: 3.9
python-version: 3.13
- run: |
python -m pip install --upgrade pip
make install
Expand All @@ -57,7 +54,7 @@ jobs:
- run: gem install statelint
- uses: actions/setup-python@v5
with:
python-version: 3.9
python-version: 3.13
- run: |
python -m pip install --upgrade pip
make install
Expand All @@ -74,7 +71,7 @@ jobs:
- uses: snyk/actions/[email protected]
- uses: actions/setup-python@v5
with:
python-version: 3.9
python-version: 3.13
- run: |
python -m pip install --upgrade pip
make install
Expand All @@ -87,4 +84,4 @@ jobs:
snyk iac test --severity-threshold=high
call-secrets-analysis-workflow:
uses: ASFHyP3/actions/.github/workflows/reusable-secrets-analysis.yml@v0.12.0
uses: ASFHyP3/actions/.github/workflows/reusable-secrets-analysis.yml@v0.15.0
2 changes: 1 addition & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:

- uses: actions/setup-python@v5
with:
python-version: 3.9
python-version: 3.13

- run: |
python -m pip install --upgrade pip
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -138,3 +138,6 @@ dmypy.json

# Pyre type checker
.pyre/

# vim
*.swp
59 changes: 47 additions & 12 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,41 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [9.4.0]

### Changed
- The `OPERA_DISP_TMS` job type is now a fan-out/fan-in workflow.

### Fixed
- Previously there was a bug in which fan-out job steps, defined using the `map: for item in items` syntax, would fail if `items` was an array of non-string values, because AWS Batch SubmitJob expects string parameters. This bug has been fixed by converting each value to a string before passing it to SubmitJob.

## [9.3.0]

### Added
- Added `velocity` option for the `tile_type` parameter of `OPERA_DISP_TMS` jobs
- Restored previously deleted `hyp3-opera-disp-sandbox` deployment
- Added validator to check that bounds provided do not exceed maximum size for SRG jobs

### Removed
- Removed default bounds option for SRG jobs

## [9.2.0]

### Added
- Add `mypy` to [`static-analysis`](.github/workflows/static-analysis.yml) workflow
- `OPERA_DISP_TMS` job type is now available in EDC UAT deployment

### Changed
- Upgrade to Python 3.13

### Removed
- Remove `hyp3-opera-disp-sandbox` deployment

## [9.1.1]

### Changed
- The [`static-analysis`](.github/workflows/static-analysis.yml) Github Actions workflow now uses `ruff` rather than `flake8` for linting.

## [9.1.0]

### Added
Expand Down Expand Up @@ -328,7 +363,7 @@ HyP3's monthly quota system has been replaced by a credits system. Previously, H
### Changed
- Update `INSAR_ISCE` and `INSAR_ISCE_TEST` job spec for GUNW version 3+ standard and custom products
- `frame_id` is now a required parameter and has no default
- `compute_solid_earth_tide` and `estimate_ionosphere_delay` now default to `true`
- `compute_solid_earth_tide` and `estimate_ionosphere_delay` now default to `true`
- `INSAR_ISCE_TEST` exposes custom `goldstein_filter_power`, `output_resolution`, `dense_offsets`, and `unfiltered_coherence` parameters

## [4.4.1]
Expand Down Expand Up @@ -410,7 +445,7 @@ HyP3's monthly quota system has been replaced by a credits system. Previously, H
## [3.10.8]
### Changed
- HyP3 deployments at JPL now use On Demand instances instead of Spot instances to prevent `INSAR_ISCE` jobs from being interrupted.
This *should* be a temporary change.
This *should* be a temporary change.

## [3.10.7]
### Changed
Expand Down Expand Up @@ -554,7 +589,7 @@ HyP3's monthly quota system has been replaced by a credits system. Previously, H
## [3.2.0]
### Added
- [`job_spec`s](job_spec/) can now specify a required set of secrets and an AWS Secrets Manage Secret ARN to pull the
secret values from. Notably, secrets are now externally managed and not part of the HyP3 stack.
secret values from. Notably, secrets are now externally managed and not part of the HyP3 stack.

## [3.1.2]
### Added
Expand All @@ -579,13 +614,13 @@ HyP3's monthly quota system has been replaced by a credits system. Previously, H
- The `flood_depth_estimator` parameter for `WATER_MAP` jobs is now restricted to a set of possible values.
- Changed the default value for the `flood_depth_estimator` parameter for `WATER_MAP` jobs from `iterative` to `None`.
A value of `None` indicates that a flood map will not be included.
- Reduced `ITS_LIVE` product lifetime cycle from 180 days to 45 days.
- Reduced `ITS_LIVE` product lifetime cycle from 180 days to 45 days.
### Removed
- Removed the `include_flood_depth` parameter for `WATER_MAP` jobs.

## [2.25.0]
### Added
- `INSAR_ISCE` and `INSAR_ISCE_TEST` jobs now accept a `weather_model` parameter to specify which weather model to use
- `INSAR_ISCE` and `INSAR_ISCE_TEST` jobs now accept a `weather_model` parameter to specify which weather model to use
when estimating trophospheric delay data.
- Increases the memory available to `AUTORIFT` jobs for Landsat pairs

Expand Down Expand Up @@ -625,7 +660,7 @@ HyP3's monthly quota system has been replaced by a credits system. Previously, H

## [2.21.8]
### Changed
- AUTORIFT jobs for Sentinel-2 scenes can now only be submitted using ESA naming convention.
- AUTORIFT jobs for Sentinel-2 scenes can now only be submitted using ESA naming convention.

## [2.21.7]
### Changed
Expand Down Expand Up @@ -684,7 +719,7 @@ HyP3's monthly quota system has been replaced by a credits system. Previously, H

## [2.19.4]
### Changed
- `scale-cluster` now adjusts the compute environment size based on total month-to-date spending, rather than only EC2
- `scale-cluster` now adjusts the compute environment size based on total month-to-date spending, rather than only EC2
spending.

## [2.19.3]
Expand Down Expand Up @@ -848,7 +883,7 @@ HyP3's monthly quota system has been replaced by a credits system. Previously, H
- `ASF` (default) -- AWS accounts managed by the Alaska Satellite Facility
- `EDC` -- AWS accounts managed by the NASA Earthdata CLoud
- `JPL` -- AWS accounts managed by the NASA Jet Propulsion Laboratory
- A `security_environment` Make variable used by the `render` target (and any target that depends on `render`).
- A `security_environment` Make variable used by the `render` target (and any target that depends on `render`).
Use like `make security_environment=ASF build`

### Changed
Expand Down Expand Up @@ -919,10 +954,10 @@ HyP3's monthly quota system has been replaced by a credits system. Previously, H

## [2.6.2](https://github.com/ASFHyP3/hyp3/compare/v2.6.1...v2.6.2)
### Added
- New `AmiId` stack parameter to specify a specific AMI for the AWS Batch compute environment
- New `AmiId` stack parameter to specify a specific AMI for the AWS Batch compute environment

### Changed
- `job_spec/*.yml` files are now explicitly selected allowing per-deployment job customization
- `job_spec/*.yml` files are now explicitly selected allowing per-deployment job customization

### Removed
- `AutoriftImage`, `AutoriftNamingScheme`, and `AutoriftParameterFile` CloudFormation stack parameters
Expand Down Expand Up @@ -977,7 +1012,7 @@ to the database but still validate it.
- `name` gets only subscriptions with the given name
- `job_type` gets only subscriptions with the given job type
- `enabled` gets only subscriptions where `enabled` matches
- subscriptions now include `creation_date` which indicates date and time of subscription creation, responses from
- subscriptions now include `creation_date` which indicates date and time of subscription creation, responses from
`GET /subscriptions` are sorted by `creation_date` decending


Expand Down Expand Up @@ -1016,7 +1051,7 @@ to the database but still validate it.
- `lib/dynamo` library to allow sharing common code among different apps.

## Changed
- `POST /jobs` responses no longer include the `job_id`, `request_time`, `status_code`, or `user_id` fields when `validate_only=true`
- `POST /jobs` responses no longer include the `job_id`, `request_time`, `status_code`, or `user_id` fields when `validate_only=true`
- moved dynamodb functionality from `hyp3_api/dynamo` to `lib/dynamo`
- moved job creation buisness logic from `hyp3_api/handlers` to `lib/dynamo`

Expand Down
8 changes: 2 additions & 6 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,10 @@
## Our Pledge

We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
community a harassment-free experience for everyone.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
and healthy community.

## Our Standards

Expand Down
6 changes: 3 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,10 @@ cost_profile ?= DEFAULT
render:
@echo rendering $(files) for API $(api_name) and security environment $(security_environment); python apps/render_cf.py -j $(files) -e $(compute_env_file) -s $(security_environment) -n $(api_name) -c $(cost_profile)

static: flake8 openapi-validate cfn-lint
static: ruff openapi-validate cfn-lint

flake8:
flake8 --ignore=E731 --max-line-length=120 --import-order-style=pycharm --statistics --application-import-names hyp3_api,get_files,handle_batch_event,set_batch_overrides,check_processing_time,start_execution_manager,start_execution_worker,disable_private_dns,update_db,upload_log,dynamo,lambda_logging,scale_cluster apps tests lib
ruff:
ruff check . && ruff format --diff .

openapi-validate: render
openapi-spec-validator apps/api/src/hyp3_api/api-spec/openapi-spec.yml
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ From the repository root,
make install
```

- Install Python dependencies for AWS Lambda functions (requires pip for python 3.9)
- Install Python dependencies for AWS Lambda functions (requires pip for python 3.13)
```sh
make build
```
Expand Down
2 changes: 1 addition & 1 deletion apps/api/api-cf.yml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ Resources:
Handler: hyp3_api.lambda_handler.handler
MemorySize: 3008
Role: !GetAtt LambdaRole.Arn
Runtime: python3.9
Runtime: python3.13
Timeout: 30
{% if security_environment == 'EDC' %}
VpcConfig:
Expand Down
1 change: 1 addition & 0 deletions apps/api/src/hyp3_api/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from flask import Flask


app = Flask(__name__, template_folder='ui/swagger/', static_folder='ui/swagger/', static_url_path='/ui/')
CMR_URL = 'https://cmr.earthdata.nasa.gov/search/granules.json'

Expand Down
Loading

0 comments on commit 306ca5a

Please sign in to comment.