Skip to content

Commit 4058377

Browse files
jusdinojsandoval81
andauthored
Feat/runtime upgrades (#1218)
### Description List - Upgraded Python lambdas and pipelines to 3.14, excepting purchases lambda, which is held back at 3.12 - Upgraded NodeJS lambdas and pipelines to 24 - Upgraded libraries - Addressed/tested aws-cdk bugfix that introduced a DynamoDB resource policy statement that was previously missing, due to the bug ### Testing List - Ran investigation smoke test to verify Python API / Node email function - Tested SSN UI features and SSN table backups, to verify continued function after introduction of missing policy statement - Deployed and loaded UI to verify CSP lambda function - Code review - Deploy via pipeline to test, to verify pipeline compatibility Closes #1216 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added signature-auth examples and notes documenting the Purchases service running in its own Python 3.12 environment * **Bug Fixes** * Corrected ISO8601 timestamp formatting in test utilities * **Documentation** * Updated Node.js/Python prerequisite versions and added convenience scripts and usage notes * **Chores** * Upgraded CI/tooling targets (Python → 3.14, Node → 24.x) and bumped many dependency pins * Added private key gitignore patterns; removed an unused lambda dependency * **Tests** * Refactored tests and assertions for improved maintainability <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: John Sandoval <jsandoval81@users.noreply.github.com>
1 parent c0b4f1d commit 4058377

70 files changed

Lines changed: 632 additions & 720 deletions

File tree

Some content is hidden

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

.github/workflows/check-common-cdk.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ jobs:
1717
LintPython:
1818
runs-on: ubuntu-latest
1919
steps:
20-
- uses: actions/setup-python@v5
20+
- uses: actions/setup-python@v6
2121
with:
22-
python-version: '3.12'
22+
python-version: '3.14'
2323

2424
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
25-
- uses: actions/checkout@v2
25+
- uses: actions/checkout@v5
2626

2727
- name: Install dev dependencies
2828
run: "pip install -r backend/common-cdk/requirements-dev.in"
@@ -38,12 +38,12 @@ jobs:
3838
runs-on: ubuntu-latest
3939
steps:
4040
# Checks-out the repository under $GITHUB_WORKSPACE
41-
- uses: actions/checkout@v2
41+
- uses: actions/checkout@v5
4242

4343
- name: Setup Python
44-
uses: actions/setup-python@v5
44+
uses: actions/setup-python@v6
4545
with:
46-
python-version: '3.12'
46+
python-version: '3.14'
4747

4848
- name: Install dev dependencies
4949
run: "pip install -r backend/common-cdk/requirements-dev.in"

.github/workflows/check-compact-connect-ui-app.yml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ jobs:
1717
LintPython:
1818
runs-on: ubuntu-latest
1919
steps:
20-
- uses: actions/setup-python@v5
20+
- uses: actions/setup-python@v6
2121
with:
22-
python-version: '3.12'
22+
python-version: '3.14'
2323

2424
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
25-
- uses: actions/checkout@v2
25+
- uses: actions/checkout@v5
2626

2727
- name: Install dev dependencies
2828
run: "pip install -r backend/compact-connect-ui-app/requirements-dev.txt"
@@ -39,16 +39,16 @@ jobs:
3939

4040
steps:
4141
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
42-
- uses: actions/checkout@v2
42+
- uses: actions/checkout@v5
4343

4444
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
4545
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
4646

4747
# Setup Node
4848
- name: Setup Node
49-
uses: actions/setup-node@v1
49+
uses: actions/setup-node@v6
5050
with:
51-
node-version: '22.1.0'
51+
node-version: '24.11.1'
5252

5353
# Use any cached yarn dependencies (saves build time)
5454
- uses: actions/cache@v4
@@ -75,18 +75,18 @@ jobs:
7575
runs-on: ubuntu-latest
7676
steps:
7777
# Checks-out the repository under $GITHUB_WORKSPACE
78-
- uses: actions/checkout@v2
78+
- uses: actions/checkout@v5
7979

8080
- name: Setup Python
81-
uses: actions/setup-python@v5
81+
uses: actions/setup-python@v6
8282
with:
83-
python-version: '3.12'
83+
python-version: '3.14'
8484

8585
# Setup Node
8686
- name: Setup Node
87-
uses: actions/setup-node@v1
87+
uses: actions/setup-node@v6
8888
with:
89-
node-version: '22.1.0'
89+
node-version: '24.11.1'
9090

9191
# Use any cached yarn dependencies (saves build time)
9292
- uses: actions/cache@v4

.github/workflows/check-compact-connect.yml

Lines changed: 39 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ jobs:
1717
LintPython:
1818
runs-on: ubuntu-latest
1919
steps:
20-
- uses: actions/setup-python@v5
20+
- uses: actions/setup-python@v6
2121
with:
22-
python-version: '3.12'
22+
python-version: '3.14'
2323

2424
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
25-
- uses: actions/checkout@v2
25+
- uses: actions/checkout@v5
2626

2727
- name: Install dev dependencies
2828
run: "pip install -r backend/compact-connect/requirements-dev.txt"
@@ -39,16 +39,16 @@ jobs:
3939

4040
steps:
4141
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
42-
- uses: actions/checkout@v2
42+
- uses: actions/checkout@v5
4343

4444
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
4545
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
4646

4747
# Setup Node
4848
- name: Setup Node
49-
uses: actions/setup-node@v1
49+
uses: actions/setup-node@v6
5050
with:
51-
node-version: '22.1.0'
51+
node-version: '24.11.1'
5252

5353
# Use any cached yarn dependencies (saves build time)
5454
- uses: actions/cache@v4
@@ -75,18 +75,18 @@ jobs:
7575
runs-on: ubuntu-latest
7676
steps:
7777
# Checks-out the repository under $GITHUB_WORKSPACE
78-
- uses: actions/checkout@v2
78+
- uses: actions/checkout@v5
7979

8080
- name: Setup Python
81-
uses: actions/setup-python@v5
81+
uses: actions/setup-python@v6
8282
with:
83-
python-version: '3.12'
83+
python-version: '3.14'
8484

8585
# Setup Node
8686
- name: Setup Node
87-
uses: actions/setup-node@v1
87+
uses: actions/setup-node@v6
8888
with:
89-
node-version: '22.1.0'
89+
node-version: '24.11.1'
9090

9191
# Use any cached yarn dependencies (saves build time)
9292
- uses: actions/cache@v4
@@ -109,3 +109,31 @@ jobs:
109109

110110
- name: Test backend
111111
run: "cd backend/compact-connect; bin/run_tests.sh -l all -no"
112+
113+
# The purchases lambda Python version has to be held back because of its Authorize.net dependency
114+
# so we will check it separately
115+
TestAndLintPurchases:
116+
runs-on: ubuntu-latest
117+
steps:
118+
# Checks-out the repository under $GITHUB_WORKSPACE
119+
- uses: actions/checkout@v5
120+
121+
- uses: actions/setup-python@v6
122+
with:
123+
python-version: '3.12'
124+
125+
- name: Install dependencies
126+
run: "cd backend/compact-connect/lambdas/python/purchases; pip install -r requirements.txt"
127+
128+
- name: Install dev dependencies
129+
run: "cd backend/compact-connect/lambdas/python/purchases; pip install -r requirements-dev.txt"
130+
131+
- name: Lint Code
132+
run: "cd backend/compact-connect/lambdas/python/purchases; ruff check $(git ls-files '*.py')"
133+
134+
- name: Check Dependencies
135+
# Ignore pip vulnerability that does not affect Python 3.12+
136+
run: "pip-audit --ignore-vuln GHSA-4xh5-x5gv-qwph"
137+
138+
- name: Test backend
139+
run: "cd backend/compact-connect/lambdas/python/purchases; PYTHONPATH=../common pytest tests --cov --cov-fail-under=90"

.github/workflows/check-for-external-state-api-spec-update.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
runs-on: ubuntu-latest
2020
steps:
2121
- name: Setup Python
22-
uses: actions/setup-python@v5
22+
uses: actions/setup-python@v6
2323
with:
2424
python-version: '3.12'
2525

.github/workflows/check-for-internal-api-spec-update.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
runs-on: ubuntu-latest
2020
steps:
2121
- name: Setup Python
22-
uses: actions/setup-python@v5
22+
uses: actions/setup-python@v6
2323
with:
2424
python-version: '3.12'
2525

.github/workflows/check-multi-account.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
LintPython:
1818
runs-on: ubuntu-latest
1919
steps:
20-
- uses: actions/setup-python@v5
20+
- uses: actions/setup-python@v6
2121
with:
2222
python-version: '3.12'
2323

@@ -41,7 +41,7 @@ jobs:
4141
- uses: actions/checkout@v2
4242

4343
- name: Setup Python
44-
uses: actions/setup-python@v5
44+
uses: actions/setup-python@v6
4545
with:
4646
python-version: '3.12'
4747

.github/workflows/zap-scan-test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
3535

3636
- name: Setup Node
37-
uses: actions/setup-node@v1
37+
uses: actions/setup-node@v6
3838
with:
3939
node-version: '22.1.0'
4040

backend/compact-connect-ui-app/lambdas/nodejs/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This folder contains all lambda runtimes that are written with NodeJS/JavaScript
44

55

66
## Prerequisites
7-
* **[Node](https://github.com/creationix/nvm#installation) `22.X`**
7+
* **[Node](https://github.com/creationix/nvm#installation) `24.X`**
88
* **[Yarn](https://yarnpkg.com/en/) `1.22.22`**
99
* `npm install --global yarn@1.22.22`
1010

backend/compact-connect-ui-app/lambdas/nodejs/cloudfront-csp/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
---
1010
## Prerequisites
11-
* **[Node](https://github.com/creationix/nvm#installation) `22.X`**
11+
* **[Node](https://github.com/creationix/nvm#installation) `24.X`**
1212
* **[Yarn](https://yarnpkg.com/en/) `1.22.22`**
1313
* `npm install --global yarn@1.22.22`
1414
* **[Mocha](https://mochajs.org/) `10.x.x`+**

backend/compact-connect-ui-app/lambdas/nodejs/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
"@aws-sdk/client-dynamodb": "^3.682.0",
3030
"@aws-sdk/client-s3": "^3.682.0",
3131
"@aws-sdk/util-dynamodb": "^3.682.0",
32-
"aws-lambda": "1.0.7",
3332
"zod": "^3.23.8"
3433
}
3534
}

0 commit comments

Comments
 (0)