Skip to content

Commit 89740f3

Browse files
authored
Merge pull request #2957 from ustaxcourt/staging
Merge Staging into Prod
2 parents a113d96 + 7d7c5ae commit 89740f3

File tree

429 files changed

+41640
-42147
lines changed

Some content is hidden

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

429 files changed

+41640
-42147
lines changed

.circleci/config.yml

+93-130
Large diffs are not rendered by default.

.github/ISSUE_TEMPLATE/ustc-story-template.md

+9-12
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,17 @@ As a _______, so that ________, I need ________.
2222

2323
## Test Cases
2424

25-
26-
## Story Definition of Ready (Created on 9/26/21)
25+
## Story Definition of Ready (updated on 12/23/22)
2726
The following criteria must be met in order for the user story to be picked up by the Flexion development team.
2827
The user story must:
29-
- [ ] Be immediately actionable for the development team
30-
- [ ] Be focused on users
31-
- [ ] Include a narrative. “As a ____, so that I can ______, I need _____.”
32-
- [ ] Include user-centric acceptance criteria that expresses the users' needs
33-
- [ ] Include user-centric testing scenarios
34-
- [ ] Include preconditions (story dependencies)
35-
- [ ] Not include design or technical solutions
36-
- [ ] Include non-standard testing, deployment, documentation, browser, mobile or security requirements, as well as any requirements for 3rd-party integrations
37-
38-
Process: Flexion developers and designers will test if the story meets acceptance criteria and test cases in Flexion dev and staging environments (“standard testing”). If additional acceptance criteria or testing scenarios are discovered while the story is in progress, a new story should be created, added to the backlog and prioritized by the product owner.
28+
- [ ] Is framed in business/user need, the value has been addressed.
29+
- [ ] Includes acceptance criteria
30+
- [ ] Has been refined
31+
- [ ] Pre conditions have been satisfied.
32+
33+
**Process:**
34+
Flexion developers and designers will test if the story meets acceptance criteria and test cases in Flexion dev and staging environments (“standard testing”). If additional acceptance criteria or testing scenarios are discovered while the story is in progress, a new story should be created, added to the backlog and prioritized by the product owner.
35+
3936

4037
## Definition of Done (Updated 5-19-22)
4138
**Product Owner**

.github/workflows/api.yml

+3-10
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,19 @@
1-
name: Node.js CI - api
1+
name: Node.js CI - Api
22

33
on:
44
pull_request:
55
push:
66
branches:
77
- dependency-updates
8+
- test
89

910
jobs:
1011
API:
1112
runs-on: ubuntu-latest
1213

13-
strategy:
14-
matrix:
15-
node-version: [16.x]
16-
1714
steps:
1815
- uses: actions/checkout@v2
19-
- name: Use Node.js ${{ matrix.node-version }}
20-
uses: actions/setup-node@v1
21-
with:
22-
node-version: ${{ matrix.node-version }}
2316
- name: NPM Install
24-
run: npm ci --legacy-peer-dep && npm rebuild
17+
run: npm ci --legacy-peer-deps
2518
- name: API
2619
run: npm run test:api

.github/workflows/build-ts-api.yml

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Build API Typescript
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches:
7+
- dependency-updates
8+
- test
9+
10+
jobs:
11+
build_ts_api:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v2
15+
- name: build typescript api
16+
run: |
17+
npm ci --legacy-peer-deps
18+
npm run build:assets
19+
npm run build:lambda:api
+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: Client Integration
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches:
7+
- dependency-updates
8+
- test
9+
10+
jobs:
11+
client_integration:
12+
runs-on: ubuntu-latest
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
ci_node_total: [12]
17+
ci_node_index: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
18+
env:
19+
CI: true
20+
SKIP_CACHE_INVALIDATION: true
21+
TEMP_DOCUMENTS_BUCKET_NAME: noop-temp-documents-local-us-east-1
22+
QUARANTINE_BUCKET_NAME: noop-quarantine-local-us-east-1
23+
DOCUMENTS_BUCKET_NAME: noop-documents-local-us-east-1
24+
S3_ENDPOINT: http://localhost:9000
25+
MASTER_DYNAMODB_ENDPOINT: http://localhost:8000
26+
AWS_ACCESS_KEY_ID: S3RVER
27+
AWS_SECRET_ACCESS_KEY: S3RVER
28+
CIRCLECI: true
29+
CI_NODE_TOTAL: ${{ matrix.ci_node_total }}
30+
CI_NODE_INDEX: ${{ matrix.ci_node_index }}
31+
steps:
32+
- uses: actions/checkout@v2
33+
- name: Configure sysctl limits
34+
run: |
35+
sudo swapoff -a
36+
sudo sysctl -w vm.swappiness=1
37+
sudo sysctl -w fs.file-max=262144
38+
sudo sysctl -w vm.max_map_count=262144
39+
- name: Runs Elasticsearch
40+
uses: elastic/elastic-github-actions/elasticsearch@master
41+
with:
42+
stack-version: 7.10.2
43+
security-enabled: false
44+
- name: Setup DynamoDB Local
45+
uses: rrainn/dynamodb-action@v2.0.1
46+
with:
47+
port: 8000
48+
cors: '*'
49+
- name: Web Client - Integration Test
50+
run: |
51+
npm ci --legacy-peer-deps
52+
mkdir -p /tmp/web-client
53+
npm run start:api:ci > /tmp/web-client/server-output.txt &
54+
URL=http://localhost:4000/api/swagger ./wait-until.sh
55+
URL=http://localhost:9200 ./wait-until.sh
56+
URL=http://localhost:9000/ ./wait-until.sh
57+
URL=http://localhost:8000/shell ./wait-until.sh
58+
sleep 40 # figure out why we need to sleep here since we wait above ^
59+
export TESTFILES=$(node split-tests.js)
60+
npm run test:client:integration:ci
61+
- name: Store Video Artifacts
62+
uses: actions/upload-artifact@v3
63+
with:
64+
name: server log output
65+
path: /tmp/web-client/server-output.txt

.github/workflows/client.yml

+4-11
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,19 @@
1-
name: Node.js CI - client
1+
name: Node.js CI - Client
22

33
on:
44
pull_request:
55
push:
66
branches:
77
- dependency-updates
8+
- test
89

910
jobs:
1011
Client:
1112
runs-on: ubuntu-latest
1213

13-
strategy:
14-
matrix:
15-
node-version: [16.x]
16-
1714
steps:
1815
- uses: actions/checkout@v2
19-
- name: Use Node.js ${{ matrix.node-version }}
20-
uses: actions/setup-node@v1
21-
with:
22-
node-version: ${{ matrix.node-version }}
2316
- name: NPM Install
24-
run: npm ci --legacy-peer-dep && npm rebuild
25-
- name: API
17+
run: npm ci --legacy-peer-dep
18+
- name: Test Client Unit
2619
run: npm run test:client:unit
+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: E2E Cypress Public
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches:
7+
- dependency-updates
8+
- test
9+
10+
jobs:
11+
e2e_cypress_public:
12+
runs-on: ubuntu-latest
13+
env:
14+
CI: true
15+
SKIP_CACHE_INVALIDATION: true
16+
TEMP_DOCUMENTS_BUCKET_NAME: noop-temp-documents-local-us-east-1
17+
QUARANTINE_BUCKET_NAME: noop-quarantine-local-us-east-1
18+
DOCUMENTS_BUCKET_NAME: noop-documents-local-us-east-1
19+
S3_ENDPOINT: http://localhost:9000
20+
MASTER_DYNAMODB_ENDPOINT: http://localhost:8000
21+
AWS_ACCESS_KEY_ID: S3RVER
22+
AWS_SECRET_ACCESS_KEY: S3RVER
23+
CHECK_DEPLOY_DATE_INTERVAL: 5000
24+
CIRCLECI: true
25+
steps:
26+
- uses: actions/checkout@v2
27+
- name: Configure sysctl limits
28+
run: |
29+
sudo swapoff -a
30+
sudo sysctl -w vm.swappiness=1
31+
sudo sysctl -w fs.file-max=262144
32+
sudo sysctl -w vm.max_map_count=262144
33+
- name: Runs Elasticsearch
34+
uses: elastic/elastic-github-actions/elasticsearch@master
35+
with:
36+
stack-version: 7.10.2
37+
security-enabled: false
38+
- name: Setup DynamoDB Local
39+
uses: rrainn/dynamodb-action@v2.0.1
40+
with:
41+
port: 8000
42+
cors: '*'
43+
- name: Run E2E Cypress
44+
run: |
45+
npm ci --legacy-peer-deps
46+
mkdir -p /tmp/cypress/
47+
npm run start:all >> /tmp/cypress/cypress-output.txt &
48+
./wait-until-services.sh
49+
URL=http://localhost:4000/api/swagger ./wait-until.sh
50+
sleep 5
51+
npm run cypress:integration:public
52+
- name: Store Video Artifacts
53+
uses: actions/upload-artifact@v3
54+
with:
55+
name: cypress-videos
56+
path: ${{ github.workspace }}/cypress-integration/videos/public
57+
- name: Store Logs
58+
uses: actions/upload-artifact@v3
59+
with:
60+
name: cypress-logs
61+
path: /tmp/cypress
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: E2E Cypress Smoketests Local
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches:
7+
- dependency-updates
8+
- test
9+
10+
jobs:
11+
e2e_cypress_smoketests_local:
12+
runs-on: ubuntu-latest
13+
env:
14+
CI: true
15+
SKIP_CACHE_INVALIDATION: true
16+
TEMP_DOCUMENTS_BUCKET_NAME: noop-temp-documents-local-us-east-1
17+
QUARANTINE_BUCKET_NAME: noop-quarantine-local-us-east-1
18+
DOCUMENTS_BUCKET_NAME: noop-documents-local-us-east-1
19+
S3_ENDPOINT: http://localhost:9000
20+
MASTER_DYNAMODB_ENDPOINT: http://localhost:8000
21+
AWS_ACCESS_KEY_ID: S3RVER
22+
AWS_SECRET_ACCESS_KEY: S3RVER
23+
CIRCLECI: true
24+
steps:
25+
- uses: actions/checkout@v2
26+
- name: Configure sysctl limits
27+
run: |
28+
sudo swapoff -a
29+
sudo sysctl -w vm.swappiness=1
30+
sudo sysctl -w fs.file-max=262144
31+
sudo sysctl -w vm.max_map_count=262144
32+
- name: Runs Elasticsearch
33+
uses: elastic/elastic-github-actions/elasticsearch@master
34+
with:
35+
stack-version: 7.10.2
36+
security-enabled: false
37+
- name: Setup DynamoDB Local
38+
uses: rrainn/dynamodb-action@v2.0.1
39+
with:
40+
port: 8000
41+
cors: '*'
42+
- name: Run E2E Cypress Smoketests
43+
run: |
44+
npm ci --legacy-peer-deps
45+
mkdir -p /tmp/cypress/
46+
npm run start:all >> /tmp/cypress/cypress-output.txt &
47+
./wait-until-services.sh
48+
URL=http://localhost:4000/api/swagger ./wait-until.sh
49+
sleep 5
50+
npm run cypress:smoketests:local
51+
- name: Store Video Artifacts
52+
uses: actions/upload-artifact@v3
53+
with:
54+
name: cypress-videos
55+
path: ${{ github.workspace }}/cypress-smoketests/videos
56+
- name: Store Logs
57+
uses: actions/upload-artifact@v3
58+
with:
59+
name: cypress-logs
60+
path: /tmp/cypress

.github/workflows/e2e-cypress.yml

+60
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: E2E Cypress
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches:
7+
- dependency-updates
8+
- test
9+
10+
jobs:
11+
e2e_cypress:
12+
runs-on: ubuntu-latest
13+
env:
14+
CI: true
15+
SKIP_CACHE_INVALIDATION: true
16+
TEMP_DOCUMENTS_BUCKET_NAME: noop-temp-documents-local-us-east-1
17+
QUARANTINE_BUCKET_NAME: noop-quarantine-local-us-east-1
18+
DOCUMENTS_BUCKET_NAME: noop-documents-local-us-east-1
19+
S3_ENDPOINT: http://localhost:9000
20+
MASTER_DYNAMODB_ENDPOINT: http://localhost:8000
21+
AWS_ACCESS_KEY_ID: S3RVER
22+
AWS_SECRET_ACCESS_KEY: S3RVER
23+
CIRCLECI: true
24+
steps:
25+
- uses: actions/checkout@v2
26+
- name: Configure sysctl limits
27+
run: |
28+
sudo swapoff -a
29+
sudo sysctl -w vm.swappiness=1
30+
sudo sysctl -w fs.file-max=262144
31+
sudo sysctl -w vm.max_map_count=262144
32+
- name: Runs Elasticsearch
33+
uses: elastic/elastic-github-actions/elasticsearch@master
34+
with:
35+
stack-version: 7.10.2
36+
security-enabled: false
37+
- name: Setup DynamoDB Local
38+
uses: rrainn/dynamodb-action@v2.0.1
39+
with:
40+
port: 8000
41+
cors: '*'
42+
- name: Run E2E Cypress
43+
run: |
44+
npm ci --legacy-peer-deps
45+
mkdir -p /tmp/cypress/
46+
npm run start:all >> /tmp/cypress/cypress-output.txt &
47+
./wait-until-services.sh
48+
URL=http://localhost:4000/api/swagger ./wait-until.sh
49+
sleep 5
50+
npm run cypress:integration
51+
- name: Store Video Artifacts
52+
uses: actions/upload-artifact@v3
53+
with:
54+
name: cypress-videos
55+
path: ${{ github.workspace }}/cypress/videos/
56+
- name: Store Logs
57+
uses: actions/upload-artifact@v3
58+
with:
59+
name: cypress-logs
60+
path: /tmp/cypress

0 commit comments

Comments
 (0)