Skip to content

Commit f3bea09

Browse files
committed
merge main conflicts
2 parents c75ec3c + ca4496e commit f3bea09

Some content is hidden

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

86 files changed

+7126
-857
lines changed

.eslintrc

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
"plugin:prettier/recommended",
44
"plugin:@typescript-eslint/recommended"
55
],
6-
"plugins": ["import"],
6+
"plugins": [
7+
"import",
8+
"prettier"
9+
],
710
"rules": {
811
"import/no-unresolved": "error",
912
"import/extensions": [
@@ -32,27 +35,38 @@
3235
},
3336
"settings": {
3437
"import/parsers": {
35-
"@typescript-eslint/parser": [".ts", ".tsx", ".js", ".jsx"]
38+
"@typescript-eslint/parser": [
39+
".ts",
40+
".tsx",
41+
".js",
42+
".jsx"
43+
]
3644
},
3745
"import/resolver": {
3846
"typescript": {
3947
"alwaysTryTypes": true,
4048
"project": [
4149
"src/api/tsconfig.json", // Path to tsconfig.json in src/api
42-
"src/ui/tsconfig.json" // Path to tsconfig.json in src/ui
50+
"src/ui/tsconfig.json" // Path to tsconfig.json in src/ui
4351
]
4452
}
4553
}
4654
},
4755
"overrides": [
4856
{
49-
"files": ["*.test.ts", "*.testdata.ts"],
57+
"files": [
58+
"*.test.ts",
59+
"*.testdata.ts"
60+
],
5061
"rules": {
5162
"@typescript-eslint/no-explicit-any": "off"
5263
}
5364
},
5465
{
55-
"files": ["src/ui/*", "src/ui/**/*"],
66+
"files": [
67+
"src/ui/*",
68+
"src/ui/**/*"
69+
],
5670
"rules": {
5771
"@typescript-eslint/no-explicit-any": "off",
5872
"@typescript-eslint/no-unused-vars": "off"

.github/workflows/deploy-dev.yml

Lines changed: 45 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -6,94 +6,98 @@ on:
66
pull_request:
77
branches:
88
- main
9+
910
jobs:
1011
test-unit:
1112
runs-on: ubuntu-latest
1213
name: Run Unit Tests
1314
steps:
15+
- uses: actions/checkout@v4
16+
env:
17+
HUSKY: "0"
18+
1419
- name: Set up Node
1520
uses: actions/setup-node@v4
1621
with:
1722
node-version: 22.x
18-
- uses: actions/checkout@v4
19-
env:
20-
HUSKY: "0"
23+
cache: 'yarn'
24+
25+
- name: Restore Yarn Cache
26+
uses: actions/cache@v4
27+
with:
28+
path: node_modules
29+
key: yarn-modules-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}-dev
30+
restore-keys: |
31+
yarn-modules-${{ runner.os }}-
32+
2133
- name: Set up Python 3.11 for testing
2234
uses: actions/setup-python@v5
2335
with:
2436
python-version: 3.11
37+
2538
- name: Run unit testing
2639
run: make test_unit
27-
deploy-dev:
40+
41+
deploy-test-dev:
2842
runs-on: ubuntu-latest
43+
permissions:
44+
id-token: write
45+
contents: read
2946
concurrency:
3047
group: ${{ github.event.repository.name }}-dev-env
3148
cancel-in-progress: false
3249
environment: "AWS DEV"
33-
name: Deploy to DEV
50+
name: Deploy to DEV and Run Tests
3451
needs:
3552
- test-unit
3653
steps:
54+
- uses: actions/checkout@v4
55+
env:
56+
HUSKY: "0"
57+
3758
- name: Set up Node for testing
3859
uses: actions/setup-node@v4
3960
with:
4061
node-version: 22.x
41-
- uses: actions/checkout@v4
42-
env:
43-
HUSKY: "0"
62+
cache: 'yarn'
63+
64+
- name: Restore Yarn Cache
65+
uses: actions/cache@v4
66+
with:
67+
path: node_modules
68+
key: yarn-modules-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}-dev
69+
restore-keys: |
70+
yarn-modules-${{ runner.os }}-
71+
4472
- uses: aws-actions/setup-sam@v2
4573
with:
4674
use-installer: true
75+
4776
- name: Set up Python 3.11
4877
uses: actions/setup-python@v5
4978
with:
5079
python-version: 3.11
51-
- uses: aws-actions/configure-aws-credentials@v2
80+
81+
- uses: aws-actions/configure-aws-credentials@v4
5282
with:
53-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
54-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
83+
role-to-assume: arn:aws:iam::427040638965:role/GitHubActionsRole
84+
role-session-name: Core_Dev_Deployment
5585
aws-region: us-east-1
86+
5687
- name: Publish to AWS
5788
run: make deploy_dev
5889
env:
5990
HUSKY: "0"
6091
VITE_RUN_ENVIRONMENT: dev
61-
- name: Publish to Cloudflare
62-
uses: cloudflare/pages-action@v1
63-
with:
64-
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
65-
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
66-
projectName: management-ui-dev
67-
directory: dist_ui/
68-
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
69-
branch: main
70-
71-
test-dev:
72-
runs-on: ubuntu-latest
73-
name: Run Live Tests
74-
needs:
75-
- deploy-dev
76-
concurrency:
77-
group: ${{ github.event.repository.name }}-dev-env
78-
cancel-in-progress: false
79-
steps:
80-
- name: Set up Node
81-
uses: actions/setup-node@v4
82-
with:
83-
node-version: 22.x
84-
- uses: actions/checkout@v4
85-
env:
86-
HUSKY: "0"
87-
- name: Set up Python 3.11 for testing
88-
uses: actions/setup-python@v5
89-
with:
90-
python-version: 3.11
92+
9193
- name: Run health check
9294
run: make dev_health_check
95+
9396
- name: Run live testing
9497
run: make test_live_integration
9598
env:
9699
JWT_KEY: ${{ secrets.JWT_KEY }}
100+
97101
- name: Run E2E testing
98102
run: make test_e2e
99103
env:

.github/workflows/deploy-prod.yml

Lines changed: 17 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,17 @@ jobs:
2424
python-version: 3.11
2525
- name: Run unit testing
2626
run: make test_unit
27-
deploy-dev:
27+
28+
deploy-test-dev:
2829
runs-on: ubuntu-latest
2930
concurrency:
3031
group: ${{ github.event.repository.name }}-dev
3132
cancel-in-progress: false
33+
permissions:
34+
id-token: write
35+
contents: read
3236
environment: "AWS DEV"
33-
name: Deploy to DEV
37+
name: Deploy to DEV and Run Tests
3438
needs:
3539
- test-unit
3640
steps:
@@ -48,46 +52,17 @@ jobs:
4852
uses: actions/setup-python@v5
4953
with:
5054
python-version: 3.11
51-
- uses: aws-actions/configure-aws-credentials@v2
55+
- uses: aws-actions/configure-aws-credentials@v4
5256
with:
53-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
54-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
57+
role-to-assume: arn:aws:iam::427040638965:role/GitHubActionsRole
58+
role-session-name: Core_Dev_Prod_Deployment
5559
aws-region: us-east-1
5660
- name: Publish to AWS
5761
run: make deploy_dev
5862
env:
5963
HUSKY: "0"
6064
VITE_RUN_ENVIRONMENT: dev
61-
- name: Publish to Cloudflare
62-
uses: cloudflare/pages-action@v1
63-
with:
64-
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
65-
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
66-
projectName: management-ui-dev
67-
directory: dist_ui/
68-
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
69-
branch: main
7065

71-
test-dev:
72-
runs-on: ubuntu-latest
73-
name: Run Live Tests
74-
needs:
75-
- deploy-dev
76-
concurrency:
77-
group: ${{ github.event.repository.name }}-dev
78-
cancel-in-progress: false
79-
steps:
80-
- name: Set up Node
81-
uses: actions/setup-node@v4
82-
with:
83-
node-version: 22.x
84-
- uses: actions/checkout@v4
85-
env:
86-
HUSKY: "0"
87-
- name: Set up Python 3.11 for testing
88-
uses: actions/setup-python@v5
89-
with:
90-
python-version: 3.11
9166
- name: Run live testing
9267
run: make test_live_integration
9368
env:
@@ -100,12 +75,15 @@ jobs:
10075

10176
deploy-prod:
10277
runs-on: ubuntu-latest
103-
name: Deploy to Prod
78+
name: Deploy to Prod and Run Health Check
10479
concurrency:
10580
group: ${{ github.event.repository.name }}-prod
10681
cancel-in-progress: false
82+
permissions:
83+
id-token: write
84+
contents: read
10785
needs:
108-
- test-dev
86+
- deploy-test-dev
10987
environment: "AWS PROD"
11088
steps:
11189
- name: Set up Node for testing
@@ -122,41 +100,15 @@ jobs:
122100
uses: actions/setup-python@v5
123101
with:
124102
python-version: 3.11
125-
- uses: aws-actions/configure-aws-credentials@v2
103+
- uses: aws-actions/configure-aws-credentials@v4
126104
with:
127-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
128-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
105+
role-to-assume: arn:aws:iam::298118738376:role/GitHubActionsRole
106+
role-session-name: Core_Dev_Prod_Deployment
129107
aws-region: us-east-1
130108
- name: Publish to AWS
131109
run: make deploy_prod
132110
env:
133111
HUSKY: "0"
134112
VITE_RUN_ENVIRONMENT: prod
135-
- name: Publish to Cloudflare
136-
uses: cloudflare/pages-action@v1
137-
with:
138-
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
139-
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
140-
projectName: management-ui-prod
141-
directory: dist_ui/
142-
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
143-
branch: main
144-
145-
health-check-prod:
146-
runs-on: ubuntu-latest
147-
name: Confirm services healthy
148-
needs:
149-
- deploy-prod
150-
concurrency:
151-
group: ${{ github.event.repository.name }}-prod
152-
cancel-in-progress: false
153-
steps:
154-
- name: Set up Node for testing
155-
uses: actions/setup-node@v4
156-
with:
157-
node-version: 22.x
158-
- uses: actions/checkout@v4
159-
env:
160-
HUSKY: "0"
161113
- name: Call the health check script
162114
run: make prod_health_check

.github/workflows/test.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: AWS STS Identity Check
2+
3+
on:
4+
workflow_dispatch:
5+
6+
jobs:
7+
check-aws-identity:
8+
runs-on: ubuntu-latest
9+
steps:
10+
- name: Checkout repository
11+
uses: actions/checkout@v4
12+
13+
- name: Configure AWS credentials
14+
uses: aws-actions/configure-aws-credentials@v4
15+
with:
16+
role-to-assume: arn:aws:iam::427040638965:role/GitHubActionsRole
17+
role-session-name: Core_Dev_Deployment
18+
aws-region: us-east-1
19+
20+
- name: Get AWS Caller Identity
21+
run: aws sts get-caller-identity

0 commit comments

Comments
 (0)