- #127 - Intake Clerk: Search for case by Docket # to associate pay.gov filing fee ID with case
- added a search input on the top header which can be used for searching by a caseId or docketNumber
- added a button / input for petitionsclerk to enter the pay.gov id and mark the case as payed for
- a case can be validated without needing to be payed for
- Various Refactoring
- Pulling shared code between the UI and Backend into a "business" folder
- Added "Use Cases" which allow a shared ways to interact with the system
- CI/CD Refactoring
- Reduced the number of docker containers used during build by having most jobs share the same contained (utilizing docker caching)
- including another job for building this business folder (see management/jobs/ef-cms-shared)
- adding an ability to run the entire project via a single docker command:
`./docker-run.sh`
- adding shell scripts which can be used for running every stage of the build / test process (note: some of these might only work in Jenkins... we will try to make them work locally as well when we get a chance. The plan is to make it easy to run the exact build / deploy process that Jenkins run via a single script if necessary)
- these include:
- root dir
- `./docker-cerebral.sh`
- `./docker-pa11y.sh`
- `./docker-cypress.sh`
- efcms-service
- `./docker-init.sh'
- `./docker-audit.sh'
- `./docker-lint.sh'
- `./docker-test.sh'
- `./docker-shellcheck.sh'
- `./docker-smoketests.sh'
- `./docker-sonarqube.sh'
- `./docker-serverless.sh'
- `./docker-terraform.sh'
- `./docker-s3replication.sh'
- `./docker-globaltables.sh'
- `./docker-route53.sh'
- web-client
- `./docker-init.sh'
- `./docker-audit.sh'
- `./docker-lint.sh'
- `./docker-test.sh'
- `./docker-build.sh'
- `./docker-shellcheck.sh'
- `./docker-terraform.sh'
- `./docker-sonarqube.sh'
- business
- `./docker-init.sh`
- `./docker-audit.sh`
- `./docker-lint.sh`
- `./docker-shellcheck.sh`
- `./docker-sonarqube.sh`
- `./docker-test.sh`
- example, if you want to run cypress over our project, run the following:
`./docker-cypress.sh`
- increase the the Jenkins instance size to c5.xlarge (note, you could just re-run the management terraform, but this is much faster)
- go into AWS console
- go to EC2
- click on the jenkins instance
- stop the instance
- click on the instance, click actions -> instance settings -> change instance type -> c5.xlarge
- start the instance
- Increase Jenkins Swap (Our build uses too much memory and will crash Jenkins)
- ssh into the jenkins box and run the following:
- `sudo su -`
- `dd if=/dev/zero of=/root/bigswap bs=1M count=4096`
- `chmod 600 /root/bigswap`
- `mkswap /root/bigswap`
- `swapon /root/bigswap`
- `echo "/root/bigswap swap swap defaults 0 0" >> /etc/fstab`
- Inside Jenkins, you will need to create another job named "ef-cms-shared"
- click "New Item"
- type "ef-cms-shared" as the item named
- go to the bottom and type in "ef-cms-api" for "copy from"
- change "script path" near the bottom of the job to "business/Jenkinsfile"
- Due to disabling split stack for serverless, you need to delete the cloudformation for serverless (note: we won't be doing a solution like this if we are in prod)
- open the AWS console
- go to the s3 console
- select both
- ustc-case-mgmt.flexion.us-documents-dev-us-east-1
- ustc-case-mgmt.flexion.us-documents-dev-us-west-1
- empty the buckets
- go to the cloudformation console
- switch to the us-east-1 region
- find ef-cms-dev and delete it
- switch to the us-west-1
- find ef-cms-dev and delete it
- start up Jenkins (if it isn't already running)
- merge the PR into staging to kick off your deploy