Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
141 commits
Select commit Hold shift + click to select a range
c6c5337
create cypress admin-feedback-reports tests
mattcoleanderson Feb 18, 2026
81df56c
accessibility tests for Feedback Reports
mattcoleanderson Feb 18, 2026
f1db76b
- First pass at Go parser architecture and benefits
elipe17 Feb 19, 2026
ae82b07
- Fix link
elipe17 Feb 19, 2026
ca2dd01
Merge branch 'develop' into 5421-e2e-tests-for-admin-feedback-reports
mattcoleanderson Feb 20, 2026
76ae730
- Add canary based routing for the migration strategy
elipe17 Feb 24, 2026
32bc721
- Remove rpt. month year validators from section 3/4 records
elipe17 Feb 25, 2026
f95e904
- Update compose to populate history
elipe17 Feb 25, 2026
5096e63
- Track Group changes
elipe17 Feb 25, 2026
e4876d5
- Track group m2m changes on permissions
elipe17 Feb 25, 2026
5867b94
- Re-register GroupAdmin with simple history
elipe17 Feb 25, 2026
7b5f9aa
- pre-commit
elipe17 Feb 25, 2026
0b117e4
- linting
elipe17 Feb 25, 2026
a1bd65c
- Fix mock_now return value to avoid F() functions
elipe17 Feb 25, 2026
810ae70
- update deploy script
elipe17 Feb 25, 2026
0e9c5b6
- Correct rollback strategy in open questions section
elipe17 Mar 2, 2026
ed330ff
make featureFlag selector
jtimpe Mar 2, 2026
6882b5a
implement featureFlag selector in PermissionGuard
jtimpe Mar 2, 2026
9a80aef
Merge branch 'develop' into 5421-e2e-tests-for-admin-feedback-reports
mattcoleanderson Mar 3, 2026
a8fb565
Merge branch 'develop' into 5421-e2e-tests-for-admin-feedback-reports
mattcoleanderson Mar 3, 2026
a674312
refer to cypress users by name and remove redundant tests
mattcoleanderson Mar 3, 2026
74c4400
- add tests for coverage
elipe17 Mar 4, 2026
7a9c78b
Merge branch 'develop' into 5421-e2e-tests-for-admin-feedback-reports
mattcoleanderson Mar 4, 2026
269afba
Add issue template for Release Tracker
kennymcnett Mar 4, 2026
451d584
Merge branch 'develop' into 5541-feature-flag-hooks
jtimpe Mar 4, 2026
9ef9215
logs
jtimpe Mar 4, 2026
75c30ce
tests
jtimpe Mar 4, 2026
aeff5b6
Update docs/Technical-Documentation/tech-memos/go-parser/architecture…
elipe17 Mar 5, 2026
aa5087b
- Fix up diagram
elipe17 Mar 5, 2026
f0f4ddc
- Add shadow table phase for go parser
elipe17 Mar 5, 2026
e43c633
- Update so that a unique path per datafile parse is generated to kee…
elipe17 Mar 5, 2026
24deeab
- keep file paths backwards compatible
elipe17 Mar 5, 2026
38c97eb
add reprocessed modal to fra submission history
jtimpe Mar 5, 2026
cdf611c
Update Release Tracker issue template for clarity
kennymcnett Mar 5, 2026
31aee8c
Merge branch 'develop' into 5644-remove-rpt-month-year-validators-s3-s4
elipe17 Mar 6, 2026
e3ee2b3
Merge pull request #5645 from raft-tech/5644-remove-rpt-month-year-va…
elipe17 Mar 6, 2026
1c90877
- Handy script to check cloud foundry memory usage
elipe17 Mar 6, 2026
9059460
- Remove rpt. month year validators from section 3/4 records
elipe17 Feb 25, 2026
d93ada3
implement regional feedback reports support
mattcoleanderson Mar 9, 2026
bd8271c
remove search button and add stt query param
mattcoleanderson Mar 9, 2026
58c4055
fix failing tests
mattcoleanderson Mar 9, 2026
307558b
fix frontend linting
mattcoleanderson Mar 9, 2026
5147ecd
- Add new digit sensitive role
elipe17 Mar 9, 2026
4200eb3
default empty array
jtimpe Mar 10, 2026
5d1098c
fix api name
jtimpe Mar 10, 2026
286d9a2
Merge branch 'develop' into 5541-feature-flag-hooks
jtimpe Mar 10, 2026
e15ca03
Merge branch '5541-feature-flag-hooks' into 5661-pia-feature-flag
jtimpe Mar 10, 2026
36d5613
add getFlagOrDefault helper
jtimpe Mar 10, 2026
69464d5
update PermissionGuard to use getFlagOrDefault
jtimpe Mar 10, 2026
071bf1c
fix yearInputValue update bug
jtimpe Mar 10, 2026
98f98c2
implement pia feature flag in Reports
jtimpe Mar 10, 2026
50be5c3
rm logs
jtimpe Mar 10, 2026
681a40d
- gate the 'all' switch
elipe17 Mar 10, 2026
c06362a
fix pia setvalue
jtimpe Mar 10, 2026
e77b3b5
Merge branch 'develop' into 5602-s3-log-file-per-parse
elipe17 Mar 10, 2026
cb28125
Merge pull request #5658 from raft-tech/5602-s3-log-file-per-parse
elipe17 Mar 10, 2026
1aad386
change column name from Generated On to Uploaded On & add proper know…
mattcoleanderson Mar 10, 2026
2c035e8
make feedback alert show up for regional staff and add stt query para…
mattcoleanderson Mar 10, 2026
53880d1
change feedback reports page to use stt.name instead of stt.id for qu…
mattcoleanderson Mar 10, 2026
c922d7b
fix linting error
mattcoleanderson Mar 10, 2026
9c5e9c1
pia feature flag config minYear/maxYear
jtimpe Mar 10, 2026
a55a0dd
restore tests
jtimpe Mar 10, 2026
fe2c9b0
fix reports tests
jtimpe Mar 10, 2026
cfac2ba
add select dropdown tests
jtimpe Mar 10, 2026
94c4557
Merge branch 'develop' into 5642-fra-reparse-indicator
jtimpe Mar 10, 2026
7da734e
- add gate for prod only views on admin views
elipe17 Mar 10, 2026
81f349c
Merge pull request #5659 from raft-tech/5642-fra-reparse-indicator
jtimpe Mar 11, 2026
c43d3d6
Merge branch 'develop' into 5421-e2e-tests-for-admin-feedback-reports
mattcoleanderson Mar 11, 2026
a280dd7
Merge branch 'develop' into 5541-feature-flag-hooks
jtimpe Mar 11, 2026
4df627e
Merge pull request #5637 from raft-tech/5421-e2e-tests-for-admin-feed…
mattcoleanderson Mar 11, 2026
707f04d
Merge branch 'develop' into 5621-add-regional-user-support-for-stt-fe…
mattcoleanderson Mar 11, 2026
9db09a1
Merge branch 'develop' into 5541-feature-flag-hooks
jtimpe Mar 11, 2026
b1d6004
Merge branch 'develop' into 5536-model-auditing-versioning
elipe17 Mar 11, 2026
55ca7ab
5508 migrate from npm to yarn (#5633)
raftmsohani Mar 11, 2026
a5ba329
Merge branch 'develop' into 5621-add-regional-user-support-for-stt-fe…
mattcoleanderson Mar 11, 2026
02286ef
Merge branch 'develop' into 5541-feature-flag-hooks
jtimpe Mar 11, 2026
b7c9326
Merge branch 'develop' into 5536-model-auditing-versioning
elipe17 Mar 11, 2026
62a4ec9
Merge pull request #5647 from raft-tech/5536-model-auditing-versioning
elipe17 Mar 11, 2026
123aad9
revert REDIS_URI back to using django's CELERY_BROKER_URL setting
mattcoleanderson Mar 11, 2026
1a648c5
trigger CI
mattcoleanderson Mar 11, 2026
ed6dd52
Merge branch 'develop' into 5541-feature-flag-hooks
jtimpe Mar 12, 2026
37a70ba
rm pia from env file
jtimpe Mar 12, 2026
47ce7fd
add date range validation and fallback
jtimpe Mar 12, 2026
4d59c68
Merge branch '5541-feature-flag-hooks' into 5661-pia-feature-flag
jtimpe Mar 12, 2026
f8d01be
PermissionGuard -> AccessGuard to capture more generic implementation
jtimpe Mar 13, 2026
42faa0e
Merge pull request #5650 from raft-tech/5541-feature-flag-hooks
jtimpe Mar 13, 2026
3c30bb3
Merge branch 'develop' into 5661-pia-feature-flag
jtimpe Mar 13, 2026
f266068
Merge branch 'develop' into chore/rename-permission-guard
jtimpe Mar 13, 2026
3f1960d
build redis uri from jq and get db number by running python method di…
mattcoleanderson Mar 13, 2026
6f9606f
add some logging to the celery_start.sh
mattcoleanderson Mar 13, 2026
d2645ca
Merge branch 'develop' into 5673-celery-metrics-unavailable
mattcoleanderson Mar 13, 2026
3496124
add level to the stage.labels block
mattcoleanderson Mar 13, 2026
1a52322
add level to stage.labels for local alloy config
mattcoleanderson Mar 13, 2026
77b41ae
fix cypress env variable override
jtimpe Mar 13, 2026
5511371
spacing
jtimpe Mar 13, 2026
8c56708
Merge branch 'develop' into kennymcnett-release-tracker-issue-template
kennymcnett Mar 13, 2026
5905276
change filename
kennymcnett Mar 13, 2026
20514fa
- Fix issue of not deleting log files after parsing
elipe17 Mar 13, 2026
10a2b65
fix failing e2e tests
mattcoleanderson Mar 16, 2026
9437134
restore fra ssp e2e
jtimpe Mar 16, 2026
eb4f6c1
Merge pull request #5671 from raft-tech/5661-pia-feature-flag
jtimpe Mar 16, 2026
7ce880f
- 'added indexes for parser errors
elipe17 Mar 16, 2026
e708786
- rename file
elipe17 Mar 16, 2026
4cd98e8
Merge branch 'develop' into 5562-missing-parser-error-db-indexes
elipe17 Mar 16, 2026
397b9d6
Merge branch 'develop' into chore/rename-permission-guard
jtimpe Mar 17, 2026
fa48e1d
Merge branch 'develop' into 5640-digit-sensitive-group
elipe17 Mar 17, 2026
41b4356
- Re-add update dfs command after parse and validate
elipe17 Mar 17, 2026
1d68f8b
Merge branch '5562-missing-parser-error-db-indexes' of https://github…
elipe17 Mar 17, 2026
b87cb2d
Merge branch 'develop' into 5634-go-parser-architecture-doc
elipe17 Mar 17, 2026
1e520af
Merge pull request #5667 from raft-tech/5640-digit-sensitive-group
elipe17 Mar 17, 2026
997e107
Merge branch 'develop' into 5562-missing-parser-error-db-indexes
elipe17 Mar 17, 2026
af9100d
Merge pull request #5684 from raft-tech/5562-missing-parser-error-db-…
elipe17 Mar 17, 2026
b7c4321
Merge branch 'develop' into 5634-go-parser-architecture-doc
elipe17 Mar 17, 2026
3efe313
Merge branch 'develop' into kennymcnett-release-tracker-issue-template
kennymcnett Mar 17, 2026
8d7d965
Merge pull request #5639 from raft-tech/5634-go-parser-architecture-doc
elipe17 Mar 17, 2026
0a6cda4
Merge branch 'develop' into 5681-log-file-cleanup
elipe17 Mar 18, 2026
061868e
Merge branch 'develop' into 5576-loki-dashboard-level-variable-not-di…
mattcoleanderson Mar 18, 2026
84634c3
Merge branch 'develop' into 5621-add-regional-user-support-for-stt-fe…
mattcoleanderson Mar 18, 2026
70e717e
Merge pull request #5682 from raft-tech/5681-log-file-cleanup
elipe17 Mar 18, 2026
f3ab654
Merge branch 'develop' into 5576-loki-dashboard-level-variable-not-di…
mattcoleanderson Mar 18, 2026
625939d
merge migrations
mattcoleanderson Mar 18, 2026
9c3367f
Merge branch 'develop' into 5673-celery-metrics-unavailable
mattcoleanderson Mar 18, 2026
7a655f9
Merge pull request #5678 from raft-tech/5576-loki-dashboard-level-var…
mattcoleanderson Mar 18, 2026
4a03a9c
Merge branch 'develop' into 5621-add-regional-user-support-for-stt-fe…
mattcoleanderson Mar 18, 2026
e0952c4
Merge branch 'develop' into 5673-celery-metrics-unavailable
mattcoleanderson Mar 18, 2026
70a3f4e
FeedbacReportAlert component is now read by screen reader and link is…
mattcoleanderson Mar 18, 2026
5882276
make FeedbackReportsAlert component focusable by screen readers with …
mattcoleanderson Mar 18, 2026
45c5d06
Merge pull request #5674 from raft-tech/5673-celery-metrics-unavailable
mattcoleanderson Mar 18, 2026
a6a3ffc
Merge branch 'develop' into chore/cypress-yarn-failures
jtimpe Mar 18, 2026
6b33149
5490 display requested changes in profile page (#5626)
raftmsohani Mar 18, 2026
5a908aa
Merge branch 'develop' into chore/cypress-yarn-failures
jtimpe Mar 18, 2026
fc97df8
Merge branch 'develop' into kennymcnett-release-tracker-issue-template
kennymcnett Mar 18, 2026
1bc73c7
Merge pull request #5656 from raft-tech/kennymcnett-release-tracker-i…
kennymcnett Mar 18, 2026
7e241d2
Merge branch 'develop' into chore/rename-permission-guard
jtimpe Mar 18, 2026
6060322
Merge branch 'develop' into chore/cypress-yarn-failures
jtimpe Mar 18, 2026
4daf358
Merge pull request #5677 from raft-tech/chore/rename-permission-guard
jtimpe Mar 18, 2026
d336fc5
Merge branch 'develop' into chore/cypress-yarn-failures
jtimpe Mar 18, 2026
1d29acc
Merge pull request #5680 from raft-tech/chore/cypress-yarn-failures
jtimpe Mar 18, 2026
3f39a42
Merge branch 'develop' into 5621-add-regional-user-support-for-stt-fe…
mattcoleanderson Mar 18, 2026
60d6de1
fix migration conflict
mattcoleanderson Mar 18, 2026
8825097
Merge pull request #5666 from raft-tech/5621-add-regional-user-suppor…
mattcoleanderson Mar 18, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 37 additions & 8 deletions .circleci/build-and-test/commands.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,16 +39,45 @@
sudo apt-get update
sudo apt-get install -y libgbm-dev
source /opt/circleci/.nvm/nvm.sh
nvm install v16.13
nvm alias default v16.13
nvm install v22.13.0
nvm alias default v22.13.0
echo 'export NVM_DIR="/opt/circleci/.nvm"' >> $BASH_ENV
echo "[ -s \"$NVM_DIR/nvm.sh\" ] && . \"$NVM_DIR/nvm.sh\"" >> $BASH_ENV
echo "nvm use v22.13.0" >> $BASH_ENV
nvm use v22.13.0
if command -v corepack >/dev/null 2>&1; then
corepack enable
corepack prepare yarn@4.6.0 --activate
else
npm install -g yarn@4.6.0
fi
node -v
yarn -v

disable-npm-audit:
install-yarn-packages:
description: Install frontend dependencies using Yarn.
parameters:
app-dir:
type: string
default: tdrs-frontend
steps:
- run:
name: Disable npm audit warnings in CI
command: npm set audit false

# This allows us to use the node orb to install packages within other commands
install-nodejs-packages: node/install-packages
name: Install Yarn packages
command: |
cd <<parameters.app-dir>>
if [ -z "$NVM_DIR" ]; then
export NVM_DIR="/opt/circleci/.nvm"
fi
if [ -s "$NVM_DIR/nvm.sh" ]; then
. "$NVM_DIR/nvm.sh"
nvm use v22.13.0
fi
if command -v corepack >/dev/null 2>&1; then
corepack enable
corepack prepare yarn@4.6.0 --activate
elif ! command -v yarn >/dev/null 2>&1; then
npm install -g yarn@4.6.0
fi
node -v
yarn -v
yarn install --immutable
14 changes: 6 additions & 8 deletions .circleci/build-and-test/jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,18 +25,17 @@
steps:
- checkout
- install-nodejs-machine
- disable-npm-audit
- install-nodejs-packages:
- install-yarn-packages:
app-dir: tdrs-frontend
- run:
name: Run ESLint
command: cd tdrs-frontend; npm run lint
command: cd tdrs-frontend; yarn lint
- run:
name: Run Pa11y Accessibility Tests
command: cd tdrs-frontend; mkdir pa11y-screenshots/; export NODE_OPTIONS=--openssl-legacy-provider; npm run test:accessibility
command: cd tdrs-frontend; mkdir pa11y-screenshots/; export NODE_OPTIONS=--openssl-legacy-provider; yarn test:accessibility
- run:
name: Run Jest Unit Tests
command: cd tdrs-frontend; npm run test:ci
command: cd tdrs-frontend; yarn test:ci
- upload-codecov:
component: frontend
coverage-report: ./tdrs-frontend/coverage/lcov.info
Expand All @@ -53,8 +52,7 @@
- docker-compose-up-backend
- docker-compose-up-frontend
- install-nodejs-machine
- disable-npm-audit
- install-nodejs-packages:
- install-yarn-packages:
app-dir: tdrs-frontend
- run:
name: Wait for backend to become available
Expand Down Expand Up @@ -82,7 +80,7 @@
docker-compose exec web python manage.py loaddata cypress/users cypress/data_files cypress/regions cypress/profile_editing_regions cypress/profile_editing_users
- run:
name: Run Cypress e2e tests
command: cd tdrs-frontend; npm run test:e2e-ci
command: cd tdrs-frontend; yarn test:e2e-ci
- store_artifacts:
path: tdrs-frontend/cypress/screenshots/
- store_artifacts:
Expand Down
9 changes: 5 additions & 4 deletions .circleci/deployment/commands.yml
Original file line number Diff line number Diff line change
Expand Up @@ -137,11 +137,12 @@
type: string
steps:
- install-nodejs:
node-version: "16.13"
- disable-npm-audit
- install-nodejs-packages:
node-version: "22.13.0"
- run:
name: Log Node version
command: node -v
- install-yarn-packages:
app-dir: tdrs-frontend
override-ci-command: npm ci --omit=dev --no-fund
- get-app-deploy-strategy:
appname: <<parameters.frontend-appname>>
- run:
Expand Down
5 changes: 2 additions & 3 deletions .circleci/deployment/jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -121,12 +121,11 @@
steps:
- checkout
- install-nodejs-machine
- disable-npm-audit
- install-nodejs-packages:
- install-yarn-packages:
app-dir: tdrs-frontend
- run:
name: Run Cypress e2e tests
command: cd tdrs-frontend; npm run test:e2e-ci -- --config baseUrl="https://tdp-frontend-develop.acf.hhs.gov" --env cypressToken=$CYPRESS_TOKEN,apiUrl="https://tdp-frontend-develop.acf.hhs.gov/v1",adminUrl="https://tdp-frontend-develop.acf.hhs.gov/admin"
command: cd tdrs-frontend; yarn test:e2e-ci --config baseUrl="https://tdp-frontend-develop.acf.hhs.gov" --env cypressToken=$CYPRESS_TOKEN,apiUrl="https://tdp-frontend-develop.acf.hhs.gov/v1",adminUrl="https://tdp-frontend-develop.acf.hhs.gov/admin"
- store_artifacts:
path: tdrs-frontend/cypress/screenshots/
- store_artifacts:
Expand Down
90 changes: 90 additions & 0 deletions .github/ISSUE_TEMPLATE/release-tracker-issue-template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
---
name: Release Tracker
about: Track the release handoff to OFA, staging validation, and production deployment.
title: Release Tracker vX.X.X
labels: ''
assignees: ''

---

# Release Tracker Issue Template

**TITLE:** Release vX.X.X

**CONTENT:**

### 🔗 Included Pull Requests (Dev Team)
*List the PRs included in this release. **Testing instructions for each feature must be located within these linked PRs.***
* #XXX - [Feature/Bugfix Title]
* #XXX - [Feature/Bugfix Title]

### ➡️ URL of GitHub Release Tag:
https://github.com/raft-tech/TANF-app/releases/tag/vX.X.X

---

### 📦 1. Preparation & Handoff (Dev / UX / PM)
*Ensuring the release branch is ready and documented before ACF takes over.*

- [ ] **Release Tagged:** `develop` branch tagged with the new release version.
- [ ] **Release Branch Created:** Branch cut from `develop`.
- [ ] **PR Opened to Staging:** PR opened from the release branch to `HHS:main`.
- [ ] **Testing Instructions Verified:** All linked PRs contain clear testing instructions for ACF validation.
- [ ] **UX/Documentation Check:** UX team has reviewed the PRs, confirmed user-facing changes, and started drafting Release Notes and Knowledge Center guidance.
- [ ] **Migration Flag:** Does this release include a database migration? **[Yes / No]** *(If Yes, rollback from production will be highly complex).*
- [ ] **Handoff Complete:** Issue assigned to @[Alex_username] for Staging validation.

---

### 🧪 2. Staging Validation & QASP (ACF / Alex)
*Tracking the status once ACF takes over deployment and testing.*

- [ ] **Staging Cleared:** Team notified that Staging is about to be updated/restarted.
- [ ] **Deployed to Staging:** PR merged and deployed to the Staging environment.
- [ ] **Feature Validation:** Testing instructions from the linked PRs have been executed and passed.
- [ ] **Regression Validation:** Core workflows (login, submissions, data integrity, etc.) remain functional.

**🐛 Bug Tracking Protocol (If issues are found in Staging):**
1. **Non-Dev Team:** Add a comment on this issue describing the bug/unexpected behavior.
2. **Dev Team:** Review the comment, investigate root cause, and open a formal GitHub Issue.
3. **Triage Decision:**
* *Revert:* If isolated to a new feature, revert the PR out of the release candidate.
* *Hotfix:* Warranted **only if** the bug blocks the release entirely AND the production release is needed ASAP. (Dev cuts hotfix PR against the release branch -> merged to `HHS:main` for re-testing).

- [ ] **Documentation Finalized:** UX team confirms all Release Notes and Knowledge Center updates are finalized and ready for launch.

---

### 🚦 3. Production-Ready Sign-Off
- [ ] ACF/Alex confirms all PRs are validated, no blocking bugs exist, documentation is finalized, and the release is approved for production deployment.

---

### 🛟 4. Rollback & Contingency Reference
*Review before production deployment.*

* **Pipeline/CircleCI Failure:** Retry the pipeline. If it fails again, requires a hotfix to unblock.
* **Missing Config/Secrets (App crashes on boot):** Do not rollback. ACF updates environment variables in the production console and restarts the app.
* **Third-Party API Blocked in Prod:** Dev provides an emergency hotfix to hide the broken UI component.
* **Performance/Database Lockup Under Load:** Dev writes an emergency hotfix for the offending query.
* **Critical Regression Post-Deploy:**
* *No migrations in release:* Rollback the deployment to the previous stable version.
* *Migrations in release:* Rollback is generally not possible; requires an emergency hotfix.

---

### 🚀 5. Production Deployment (ACF / Alex)
*The final deployment executed by ACF.*

- [ ] **Maintenance Mode:** Alex has enabled the maintenance page to ensure users are out of the system.
- [ ] **Deployed to Prod:** PR opened and merged to `HHS:master`, triggering deployment.
- [ ] **Post-Launch Verification:** Quick check that the production environment is stable post-deploy, and the maintenance page is deactivated.

---

### 📢 6. Post-Release Communication (PM / UX / ACF)
*Closing the loop with users and stakeholders.*

- [ ] **Release Notes Published:** (UX team) Plain-language, user-facing release notes and Knowledge Center guidance have been published.
- [ ] **Stakeholders Notified:** (ACF) Any required external communication regarding the new version has been sent.
- [ ] **Close this Issue:** (ACF / PM) The release is fully deployed and stable.
6 changes: 1 addition & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ tdrs-frontend/yarn-error.log*
tdrs-frontend/vars-frontend.yml
tdrs-frontend/pa11y-screenshots/*
tdrs-frontend/cypress/reports*
tdrs-frontend/test-results*.xml
.eslintcache
downloads/

Expand Down Expand Up @@ -125,8 +126,3 @@ cypress.env.json
tdrs-backend/*.pg
tdrs-backend/django.log

# Pytest cache
tdrs-backend/.pytest_cache/*

# frontend cypress test results
tdrs-frontend/test-results*.xml
47 changes: 38 additions & 9 deletions Taskfile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -227,21 +227,21 @@ tasks:
dir: tdrs-frontend
cmds:
- docker compose -f docker-compose.local.yml up -d --build tdp-frontend
- docker compose -f docker-compose.local.yml exec tdp-frontend sh -c "npm install"
- docker compose -f docker-compose.local.yml exec tdp-frontend sh -c "corepack prepare yarn@4.6.0 && corepack yarn install"
- docker compose -f docker-compose.local.yml down

frontend-install:
desc: Install frontend dependencies on host (uses local Node)
dir: tdrs-frontend
cmds:
- npm install
- corepack prepare yarn@4.6.0 --activate && yarn install

frontend-update:
desc: Rebuild frontend localdev image and install dependencies (no data wipe)
dir: tdrs-frontend
cmds:
- docker compose -f docker-compose.local.yml up -d --build tdp-frontend
- docker compose -f docker-compose.local.yml exec tdp-frontend sh -c "npm install"
- docker compose -f docker-compose.local.yml exec tdp-frontend sh -c "corepack prepare yarn@4.6.0 && corepack yarn install"

frontend-test-local:
desc: Run frontend unit tests on host (watch-less)
Expand All @@ -268,7 +268,7 @@ tasks:
JEST_ARGS: '{{.JEST_ARGS | default ""}}'
cmds:
- docker compose -f docker-compose.local.yml up -d --build tdp-frontend-test
- docker compose -f docker-compose.local.yml exec tdp-frontend-test sh -c "npm run test -- {{.JEST_ARGS}}"
- docker compose -f docker-compose.local.yml exec tdp-frontend-test sh -c "corepack prepare yarn@4.6.0 && corepack yarn install --mode=skip-build && CI=1 corepack yarn test --watchAll=false {{.JEST_ARGS}}"

frontend-test-cov:
desc: 'Run frontend unit tests with coverage in docker. E.g: task frontend-test-cov JEST_ARGS="--testPathPattern=FeedbackReports"'
Expand All @@ -277,14 +277,14 @@ tasks:
JEST_ARGS: '{{.JEST_ARGS | default ""}}'
cmds:
- docker compose -f docker-compose.local.yml up -d --build tdp-frontend-test
- docker compose -f docker-compose.local.yml exec tdp-frontend-test sh -c "npm run test:cov -- {{.JEST_ARGS}}"
- docker compose -f docker-compose.local.yml exec tdp-frontend-test sh -c "corepack prepare yarn@4.6.0 && corepack yarn install --mode=skip-build && corepack yarn test:cov {{.JEST_ARGS}}"

frontend-lint:
desc: Run eslint in the frontend test container
dir: tdrs-frontend
cmds:
- docker compose -f docker-compose.local.yml up -d --build tdp-frontend-test --quiet-pull
- docker compose -f docker-compose.local.yml exec -T tdp-frontend-test sh -c "npm run lint"
- docker compose -f docker-compose.local.yml exec -T tdp-frontend-test sh -c "corepack prepare yarn@4.6.0 && corepack yarn install --mode=skip-build && corepack yarn lint"

# E2E / Cypress helpers

Expand All @@ -293,15 +293,44 @@ tasks:
dir: tdrs-backend
cmds:
- export CYPRESS_TOKEN=local-cypress-token
- docker-compose exec web python manage.py delete_cypress_users -usernames new-cypress@teamraft.com cypress-admin@teamraft.com
- docker-compose exec web python manage.py loaddata cypress/users cypress/data_files cypress/regions cypress/profile_editing_regions cypress/profile_editing_users
- docker compose -f docker-compose.yml exec web python manage.py delete_cypress_users -usernames new-cypress@teamraft.com cypress-admin@teamraft.com cypress-data-analyst-dana@teamraft.com cypress-fra-data-analyst-derek@teamraft.com cypress-data-analyst-donna@teamraft.com cypress-fra-data-analyst-david@teamraft.com cypress-fra-ofa-regional-staff-rachel@acf.hhs.gov cypress-fra-ofa-regional-staff-robert@acf.hhs.gov cypress-fra-ofa-regional-staff-rita@acf.hhs.gov cypress-fra-ofa-regional-staff-ryan@acf.hhs.gov
- docker compose -f docker-compose.yml exec web python manage.py loaddata cypress/users cypress/data_files cypress/regions cypress/profile_editing_regions cypress/profile_editing_users

frontend-e2e-local:
desc: Run Cypress E2E tests locally (Cypress on host, app in docker)
dir: tdrs-frontend
cmds:
- docker compose -f docker-compose.local.yml up -d --build tdp-frontend
- npm run test:e2e
- |
if command -v corepack >/dev/null 2>&1; then
corepack prepare yarn@4.6.0 --activate && env -u ELECTRON_RUN_AS_NODE yarn test:e2e
else
env -u ELECTRON_RUN_AS_NODE npx --yes @yarnpkg/cli-dist@4.6.0 test:e2e
fi

frontend-e2e-ci-local:
desc: Run Cypress E2E tests in command-line mode (headless, app in docker)
dir: tdrs-frontend
vars:
CYPRESS_TOKEN: '{{.CYPRESS_TOKEN | default "local-cypress-token"}}'
cmds:
- task: backend-up
- task: e2e-env-var-setup
- docker compose -f docker-compose.local.yml up -d --build tdp-frontend
- env -u ELECTRON_RUN_AS_NODE npx cypress verify || env -u ELECTRON_RUN_AS_NODE npx cypress install --force
- |
if command -v corepack >/dev/null 2>&1; then
env -u ELECTRON_RUN_AS_NODE yarn test:e2e-ci
else
env -u ELECTRON_RUN_AS_NODE npx --yes @yarnpkg/cli-dist@4.6.0 test:e2e-ci
fi

frontend-e2e-cmd:
desc: Run Cypress E2E tests headlessly from the command line (app in docker)
dir: tdrs-frontend
cmds:
- docker compose -f docker-compose.yml up -d --build tdp-frontend
- CYPRESS_TOKEN=${CYPRESS_TOKEN:-local-cypress-token} npm run test:e2e-ci

k6:
desc: Run k6 performance tests
Expand Down
Loading