Skip to content

Commit

Permalink
Merge branch 'main' into arm-char-limits
Browse files Browse the repository at this point in the history
  • Loading branch information
cosu419 authored Jan 6, 2025
2 parents 70f22cd + 5b06ec8 commit bb5533c
Show file tree
Hide file tree
Showing 1,053 changed files with 46,699 additions and 16,555 deletions.
139 changes: 139 additions & 0 deletions .github/workflows/cd-deploy-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
name: Continuous Deploy Production Test Workflow

on:
workflow_dispatch:
inputs:
commit_sha:
description: Deploy specific commit
required: true

jobs:
get-workflow-environment:
runs-on: ubuntu-latest
outputs:
environment_name: ${{ steps.check-environment.outputs.env_name }}
steps:
- name: Check environment
id: check-environment
run: |
if [[ ${{ github.event_name }} == 'workflow_dispatch' ]]; then
echo env_name='production' >> $GITHUB_OUTPUT
else
echo env_name='' >> $GITHUB_OUTPUT
fi
deploy:
name: Deploy
if: ${{ github.event.client_payload.github_ref == 'refs/heads/main' }}
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@cd7d8d697e10461458bc61a30d094dc601a8b017
with:
fetch-depth: 0

- name: Install dependencies
uses: ./.github/workflows/install
timeout-minutes: 30
with:
key: ${{ hashFiles('yarn.lock') }}
yarn_cache_folder: .cache/yarn
path: |
.cache/yarn
node_modules
- name: Check if commit can be deployed
id: check-deployability
run: node ./script/github-actions/check-deployability.js
env:
BUILDTYPE: vagovprod

- name: Configure AWS credentials (1)
if: steps.check-deployability.outputs.is_deployable == 'true'
uses: ./.github/workflows/configure-aws-credentials
with:
aws_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws_region: us-gov-west-1


- name: Get AWS IAM role
if: steps.check-deployability.outputs.is_deployable == 'true'
uses: ./.github/workflows/inject-secrets
with:
ssm_parameter: /frontend-team/github-actions/parameters/AWS_FRONTEND_PROD_ROLE
env_variable_name: AWS_FRONTEND_PROD_ROLE

- name: Configure AWS Credentials (2)
if: steps.check-deployability.outputs.is_deployable == 'true'
uses: ./.github/workflows/configure-aws-credentials
with:
aws_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws_region: us-gov-west-1
role: ${{ env.AWS_FRONTEND_NONPROD_ROLE != '' && env.AWS_FRONTEND_NONPROD_ROLE || env.AWS_FRONTEND_PROD_ROLE }}
role_duration: 900
session_name: vsp-frontendteam-githubaction

- name: Deploy
if: steps.check-deployability.outputs.is_deployable == 'true'
run: ./script/github-actions/partial-deploy.sh -s $SRC -d $DEST -a $ASSET_DEST -v

env:
SRC: s3://vetsgov-website-builds-s3-upload/${{ github.event.client_payload.github_sha }}/vagovprod.tar.bz2
DEST: s3://www.va.gov
ASSET_DEST: s3://prod-va-gov-assets

notify-failure:
name: Notify Failure
runs-on: ubuntu-latest
if: ${{ github.ref == 'refs/heads/main' && (failure() || cancelled()) }}
needs: [deploy]
env:
ALERT_TEAMS: true # Alerts teams for single/grouped app builds when set to true
DEVOPS_CHANNEL_ID: C37M86Y8G #devops-deploys
VETS_WEBSITE_CHANNEL_ID: C02V265VCGH #status-vets-website

steps:
- name: Checkout
uses: actions/checkout@cd7d8d697e10461458bc61a30d094dc601a8b017
with:
fetch-depth: 0

- name: Install dependencies
if: env.ALERT_TEAMS == 'true'
uses: ./.github/workflows/install
timeout-minutes: 30
with:
key: ${{ hashFiles('yarn.lock') }}
yarn_cache_folder: .cache/yarn
path: |
.cache/yarn
node_modules
- name: Get changed applications
id: get-changed-apps
if: env.ALERT_TEAMS == 'true'
uses: ./.github/workflows/get-changed-apps
with:
output-type: 'slack_group'

- name: Notify application team in Slack
if: env.ALERT_TEAMS == 'true' && steps.get-changed-apps.outputs.slack_groups != ''
uses: department-of-veterans-affairs/platform-release-tools-actions/slack-notify@main
continue-on-error: true
with:
payload: '{"attachments": [{"color": "#FF0800","blocks": [{"type": "section","text": {"type": "mrkdwn","text": "${{steps.get-changed-apps.outputs.slack_groups}} CI for your application failed on the `main` branch in `vets-website`: <https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}|${{github.run_id}}>\n For help troubleshooting, see the <https://depo-platform-documentation.scrollhelp.site/developer-docs/Handling-failed-single%2Fgrouped-application-pipelines.2066645150.html|documentation> on failed workflow runs."}}]}]}'
channel_id: ${{ env.VETS_WEBSITE_CHANNEL_ID }}
aws_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}

- name: Notify Slack
if: steps.get-changed-apps.outputs.slack_groups == ''
uses: department-of-veterans-affairs/platform-release-tools-actions/slack-notify@main
continue-on-error: true
with:
payload: '{"attachments": [{"color": "#FF0800","blocks": [{"type": "section","text": {"type": "mrkdwn","text": "`main` branch CI in `vets-website` failed: <https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}|${{github.run_id}}>"}}]}]}'
channel_id: ${{ env.VETS_WEBSITE_CHANNEL_ID }}
aws_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
1 change: 0 additions & 1 deletion .github/workflows/continuous-deploy-production.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ on:
repository_dispatch:
types: [cd-production-deploy]


jobs:
deploy:
name: Deploy
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -663,7 +663,7 @@ jobs:
cypress-tests:
name: Cypress E2E Tests
runs-on: ubuntu-16-cores-latest
timeout-minutes: 60
timeout-minutes: 120
needs: [build, tests-prep, fetch-ecr-credentials]
if: |
needs.build.result == 'success' &&
Expand Down
1 change: 1 addition & 0 deletions babel.config.json
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,7 @@
"test": {
"presets": ["@babel/env", "@babel/preset-react"],
"plugins": [
["babel-plugin-transform-import-ignore", { "patterns": [".scss", ".css", ".sass"] }],
["istanbul", { "exclude": ["**/tests/**/*", "**/mocks/**/*"] }],
"transform-class-properties",
"dynamic-import-node",
Expand Down
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,7 @@
"babel-plugin-lodash": "^3.2.8",
"babel-plugin-module-resolver": "^5.0.0",
"babel-plugin-transform-class-properties": "^6.24.1",
"babel-plugin-transform-import-ignore": "^1.1.0",
"babel-plugin-transform-react-remove-prop-types": "^0.4.24",
"babel-polyfill": "^6.26.0",
"browserify-zlib": "^0.2.0",
Expand Down Expand Up @@ -261,7 +262,7 @@
"@babel/runtime": "^7.15.4",
"@datadog/browser-logs": "^5.8.0",
"@datadog/browser-rum": "^4.49.0",
"@department-of-veterans-affairs/component-library": "^48.2.0",
"@department-of-veterans-affairs/component-library": "^48.3.0",
"@department-of-veterans-affairs/css-library": "^0.16.1",
"@department-of-veterans-affairs/react-jsonschema-form": "^1.2.5",
"@department-of-veterans-affairs/va-forms-system-core": "1.6.1",
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
26 changes: 26 additions & 0 deletions src/applications/686c-674/components/GetFormHelp.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import React from 'react';

const GetFormHelp = () => (
<>
<p className="help-talk">
<strong>If you have trouble using this online form</strong>, call us at{' '}
<va-telephone contact="8006982411" /> (<va-telephone tty contact="711" />
). We’re here 24/7.
</p>
<p>
<strong>
If you need help gathering your information or filling out your form
</strong>
, contact a local Veterans Service Organization (VSO).
</p>
<va-link
text="Find a local
Veterans Service Organization"
label="Find a local
Veterans Service Organization"
href="/get-help-from-accredited-representative"
/>
</>
);

export default GetFormHelp;
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import React from 'react';

export const schema = {
type: 'object',
properties: {
'view:additionalQuestionsMessage': {
type: 'object',
properties: {},
},
},
};

export const uiSchema = {
'view:additionalQuestionsMessage': {
'ui:description': (
<p className="vads-u-margin-y--6">
Now we’ll ask you about each of your spouse’s former marriages.
</p>
),
'ui:options': {
hideOnReview: true,
},
},
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
import React from 'react';
import {
titleUI,
yesNoUI,
yesNoSchema,
} from 'platform/forms-system/src/js/web-component-patterns';

export const additionalInformationPartOne = {
uiSchema: {
...titleUI('Additional information about this child'),

doesChildLiveWithYou: yesNoUI({
title: 'Does this child live with you?',
required: () => true,
errorMessages: {
required: 'You must answer this question.',
},
}),

hasChildEverBeenMarried: yesNoUI({
title: 'Has this child ever been married?',
required: () => true,
errorMessages: {
required: 'You must answer this question.',
},
}),

isChildPermanentlyUnableToSupport: yesNoUI({
title:
'Is this child permanently unable to support themselves because they developed a permanent mental or physical disability before they turned 18 years old?',
required: formData => {
const { addDisabledChild } =
formData?.['view:selectable686Options'] ?? {};
return addDisabledChild;
},
errorMessages: {
required: 'You must answer this question.',
},
hideIf: (formData, _index) => {
const { addDisabledChild } =
formData?.['view:selectable686Options'] ?? {};
return !addDisabledChild;
},
}),

'view:documentSubmissionInfo': {
'ui:description': (
<div>
<p>
We’ll ask you to submit these documents at the end of this form:
</p>
<ul>
<li>
Copies of medical records that document your child’s permanent
physical disability, <strong>and</strong>
</li>
<li>
A statement from your child’s doctor that shows the type{' '}
<strong>and</strong> severity of their physical or mental
disability.
</li>
</ul>
</div>
),
'ui:options': {
hideIf: (formData, index) => {
return formData?.childrenToAdd?.[index]
?.isChildPermanentlyUnableToSupport;
},
},
},
},
schema: {
type: 'object',
properties: {
doesChildLiveWithYou: yesNoSchema,
hasChildEverBeenMarried: yesNoSchema,
isChildPermanentlyUnableToSupport: yesNoSchema,
'view:documentSubmissionInfo': {
type: 'object',
properties: {},
},
},
},
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import {
titleUI,
yesNoUI,
yesNoSchema,
} from 'platform/forms-system/src/js/web-component-patterns';

export const additionalInformationPartTwo = {
uiSchema: {
...titleUI('Additional information about this child'),
incomeInLastYear: yesNoUI({
title:
'Did this child have income in the last 365 days? Answer this question only if you are adding this dependent to your pension.',
required: () => true,
labels: {
Y: 'Yes',
N: 'No',
},
errorMessages: {
required: 'Please select an option.',
},
}),
},
schema: {
type: 'object',
properties: {
incomeInLastYear: yesNoSchema,
},
},
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import {
addressUI,
addressSchema,
titleUI,
} from 'platform/forms-system/src/js/web-component-patterns';

export const childAddressPartOne = {
uiSchema: {
...titleUI({
title: 'Child’s address',
}),
address: {
...addressUI(),
},
},
schema: {
type: 'object',
properties: {
address: addressSchema(),
},
required: ['address'],
},
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import {
titleUI,
fullNameNoSuffixUI,
fullNameNoSuffixSchema,
} from 'platform/forms-system/src/js/web-component-patterns';

export const childAddressPartTwo = {
uiSchema: {
...titleUI({
title: 'Who does this child live with?',
}),
livingWith: fullNameNoSuffixUI(),
},
schema: {
type: 'object',
properties: {
livingWith: fullNameNoSuffixSchema,
},
required: ['livingWith'],
},
};
Loading

0 comments on commit bb5533c

Please sign in to comment.