From 7c90ab1fbd5b26be9fac4e01d965735f3fc16ec2 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Fri, 25 Oct 2024 15:29:29 -0500 Subject: [PATCH 01/67] create release ticket with assignee members --- .github/workflows/release_branch_issue.yml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release_branch_issue.yml b/.github/workflows/release_branch_issue.yml index 40db9d7f871..da9b6167c35 100644 --- a/.github/workflows/release_branch_issue.yml +++ b/.github/workflows/release_branch_issue.yml @@ -32,7 +32,16 @@ jobs: echo 'TABLE<> $GITHUB_ENV echo "${table}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - - uses: JasonEtco/create-an-issue@v2 + # Fetch GitHub Group Members + - name: Fetch GitHub Group Members + run: | + TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-admin/members --jq '.[].login') + ASSIGNEES=$(echo $TEAM_MEMBERS | tr '\n' ',') + ASSIGNEES=${ASSIGNEES%,} + echo "ASSIGNEES=$ASSIGNEES" >> $GITHUB_ENV + # Create Release Ticket with auto-assigned members + - name: Create Release Ticket + uses: JasonEtco/create-an-issue@v2 with: filename: .github/ISSUE_TEMPLATE/release_ticket.md env: @@ -42,6 +51,7 @@ jobs: vaDueDate: ${{env.VA_DUE_DATE}} releaseDate: ${{ env.RELEASE_DATE }} issues: ${{ env.TABLE }} + assignees: ${{ env.ASSIGNEES }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} id: create-issue create_testrail_milestone: From 6fdf95f6481e9403d923b14729ade0e3c870dfeb Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Fri, 25 Oct 2024 15:59:37 -0500 Subject: [PATCH 02/67] testing --- .github/workflows/test9.yml | 138 ++++++++++++++++++++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 .github/workflows/test9.yml diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml new file mode 100644 index 00000000000..60a73071233 --- /dev/null +++ b/.github/workflows/test9.yml @@ -0,0 +1,138 @@ + +# test build + +name: '[test] testing' + +on: + push: + branches: + - chanel-6808-create-system-for-updating-names-on-release-tickets + +jobs: + + release_ticket: + runs-on: ubuntu-latest + outputs: + ticketNumber: ${{steps.create-issue.outputs.number}} + versionNumber: ${{env.VERSION}} + releaseDate: ${{env.RELEASE_DATE}} + qaDueDate: ${{env.QA_DUE_DATE}} + prodDueDate: ${{env.PROD_DUE_DATE}} + vaDueDate: ${{env.VA_DUE_DATE}} + steps: + - run: echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV + - run: echo "QA_DUE_DATE=$(date -d "+2 days" '+%A %b %d, %Y')" >> $GITHUB_ENV + - run: echo "PROD_DUE_DATE=$(date -d "+5 days" '+%A %b %d, %Y')" >> $GITHUB_ENV + - run: echo "VA_DUE_DATE=$(date -d "+6 days" '+%A %b %d, %Y')" >> $GITHUB_ENV + - run: echo "RELEASE_DATE=$(date -d "+13 days" '+%A %b %d, %Y')" >> $GITHUB_ENV + - uses: actions/checkout@v3 + - run: echo "${{ secrets.GITHUB_TOKEN }}" >> token.txt + - run: gh auth login --with-token < token.txt + - run: | + sev1=$(gh issue list -l "sev-1" --jq 'map("|#\(.number)|\(.title)|") | join("\n") ' --json number,title) + sev2=$(gh issue list -l "sev-2" --jq 'map("|#\(.number)|\(.title)|") | join("\n") ' --json number,title) + header='| Issue | Title | Notes | + |-------|-------|-------| + ' + table="${header}${sev1}${sev2}" + echo 'TABLE<> $GITHUB_ENV + echo "${table}" >> $GITHUB_ENV + echo 'EOF' >> $GITHUB_ENV + # Fetch GitHub Group Members + - name: Fetch GitHub Group Members + run: | + TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-admin/members --jq '.[].login') + ASSIGNEES=$(echo $TEAM_MEMBERS | tr '\n' ',') + ASSIGNEES=${ASSIGNEES%,} + echo "ASSIGNEES=$ASSIGNEES" >> $GITHUB_ENV + # Create Release Ticket with auto-assigned members + - name: Create Release Ticket + uses: JasonEtco/create-an-issue@v2 + with: + filename: .github/ISSUE_TEMPLATE/release_ticket.md + env: + versionNumber: ${{ env.VERSION }} + qaDueDate: ${{env.QA_DUE_DATE}} + prodDueDate: ${{env.PROD_DUE_DATE}} + vaDueDate: ${{env.VA_DUE_DATE}} + releaseDate: ${{ env.RELEASE_DATE }} + issues: ${{ env.TABLE }} + assignees: ${{ env.ASSIGNEES }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + id: create-issue + start_slack_thread: + name: Start Slack thread + needs: release_ticket + uses: ./.github/workflows/start_slack_thread.yml + secrets: inherit + with: + channel_name: va-mobile-app-automation-test-channel + message: '*Release v2.37 Coordination :thread:* build started by ${{ github.actor }}: \"${{ inputs.notes }}\" (:git: `${{ github.ref_name }}`). See <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|workflow run> for results.' + release_coordination: + name: release coordination + if: ${{ success() }} + needs: [start_slack_thread, release_ticket] + runs-on: ubuntu-latest + steps: + - name: Map GitHub usernames to Slack IDs + id: map_slack_ids + run: | + + declare -A GITHUB_TO_SLACK_MAP + GITHUB_TO_SLACK_MAP["DJUltraTom"]="U02BBL9L0CU" + GITHUB_TO_SLACK_MAP["kellylein"]="UJHA49K6X" + GITHUB_TO_SLACK_MAP["dumathane"]="U02RC1BRZBP" + GITHUB_TO_SLACK_MAP["timwright12"]="U01DBDAJZ18" + GITHUB_TO_SLACK_MAP["ala-yna"]="UQC180926" + GITHUB_TO_SLACK_MAP["ajsarkar28"]="U05BNQLJ9UZ" + GITHUB_TO_SLACK_MAP["rachelhanster"]="U047Q1LKDFY" + GITHUB_TO_SLACK_MAP["DonMcCaugheyUSDS"]="U06PCD1R0EL" + GITHUB_TO_SLACK_MAP["IsraelleHub"]="U06N7M2QSUA" + GITHUB_TO_SLACK_MAP["rtwell"]="UEY4D750B" + # Example: Convert mapping to environment variables + for key in "${!GITHUB_TO_SLACK_MAP[@]}"; do + echo "${key}=${GITHUB_TO_SLACK_MAP[$key]}" >> $GITHUB_ENV + done + - name: Notify Slack for release coordination + env: + SLACK_API_TOKEN: ${{ secrets.SLACK_API_TOKEN }} + SLACK_DJUltraTom: $DJUltraTom + SLACK_kellylein: $kellylein + SLACK_dumathane: $dumathane + SLACK_timwright12: $timwright12 + SLACK_ala-yna: $ala-yna + SLACK_ajsarkar28: $ajsarkar28 + SLACK_rachelhanster: $rachelhanster + SLACK_DonMcCaugheyUSDS: $DonMcCaugheyUSDS + SLACK_IsraelleHub: $IsraelleHub + SLACK_rtwel: $rtwel + run: | + SLACK_MESSAGE=$(cat <\n\ + *Release Report:* Github Report Link to be provided\n\ + *Release Date:* ${{ needs.release_ticket.outputs.releaseDate }}\n\n\ + *Approval Timing:*\n\ + - *QA Approval Due:* ${{ needs.release_ticket.outputs.qaDueDate }}\n\ + - *Product Approval Due:* ${{ needs.release_ticket.outputs.prodDueDate }}\n\ + - *Release Manager Approval Due:* ${{ needs.release_ticket.outputs.vaDueDate }}\n\ + - *Tickets Tagged Appropriately:* ${{ needs.release_ticket.outputs.qaDueDate }}\n\n\ + *Contacts:*\n\ + - *Release Testing:* <@${SLACK_IsraelleHub}>\n\ + - *Release Manager:* <@${SLACK_IsraelleHub}>\n\ + - *Release Ticket Validation:* <@${SLACK_IsraelleHub}>\n\ + - *Engineering:* <@${SLACK_IsraelleHub}>, <@${SLACK_IsraelleHub}>\n\ + - *Mobile Product Approvers:* H&B and Global - <@${SLACK_IsraelleHub}> Global - <@${SLACK_IsraelleHub}>\n\ + - *VA PO for awareness:* <@${SLACK_IsraelleHub}> CC: <@${SLACK_IsraelleHub}>, <@${SLACK_IsraelleHub}>.", + "thread_ts": "${{ needs.start_slack_thread.outputs.thread_ts }}", + "unfurl_links": false, + "unfurl_media": false + } + EOF + ) + echo "$SLACK_MESSAGE" | envsubst | curl -X POST \ + -H 'Authorization: Bearer '"$SLACK_API_TOKEN" \ + -H 'Content-type: application/json' \ + -d @- \ + https://slack.com/api/chat.postMessage \ No newline at end of file From 0bd60ccdd8bb46d3c6dff66de4c8420c69ec3883 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Fri, 25 Oct 2024 16:09:16 -0500 Subject: [PATCH 03/67] testing with qa group --- .github/workflows/test9.yml | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index 60a73071233..f642f8c2f1a 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -28,20 +28,12 @@ jobs: - uses: actions/checkout@v3 - run: echo "${{ secrets.GITHUB_TOKEN }}" >> token.txt - run: gh auth login --with-token < token.txt - - run: | - sev1=$(gh issue list -l "sev-1" --jq 'map("|#\(.number)|\(.title)|") | join("\n") ' --json number,title) - sev2=$(gh issue list -l "sev-2" --jq 'map("|#\(.number)|\(.title)|") | join("\n") ' --json number,title) - header='| Issue | Title | Notes | - |-------|-------|-------| - ' - table="${header}${sev1}${sev2}" - echo 'TABLE<> $GITHUB_ENV - echo "${table}" >> $GITHUB_ENV - echo 'EOF' >> $GITHUB_ENV + - run: gh --version + # Fetch GitHub Group Members - name: Fetch GitHub Group Members run: | - TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-admin/members --jq '.[].login') + TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-qa/members --jq '.[].login') ASSIGNEES=$(echo $TEAM_MEMBERS | tr '\n' ',') ASSIGNEES=${ASSIGNEES%,} echo "ASSIGNEES=$ASSIGNEES" >> $GITHUB_ENV From 1f8c6afc02a63e2bc12996125608a2291bdd3b75 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Mon, 28 Oct 2024 11:45:52 -0500 Subject: [PATCH 04/67] check user permission --- .github/workflows/test9.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index f642f8c2f1a..652996a2a08 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -1,4 +1,3 @@ - # test build name: '[test] testing' @@ -29,6 +28,10 @@ jobs: - run: echo "${{ secrets.GITHUB_TOKEN }}" >> token.txt - run: gh auth login --with-token < token.txt - run: gh --version + - run: gh auth status + - run: gh issue list -L 1 # List a single issue to verify permissions + - run: gh api user # Check user authentication and permissions + # Fetch GitHub Group Members - name: Fetch GitHub Group Members From 870da1b0e0f39442998b7dc53c214077dc2b1ddb Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Mon, 28 Oct 2024 12:56:58 -0500 Subject: [PATCH 05/67] use personal access token --- .github/workflows/test9.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index 652996a2a08..a71e58b441b 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -25,7 +25,9 @@ jobs: - run: echo "VA_DUE_DATE=$(date -d "+6 days" '+%A %b %d, %Y')" >> $GITHUB_ENV - run: echo "RELEASE_DATE=$(date -d "+13 days" '+%A %b %d, %Y')" >> $GITHUB_ENV - uses: actions/checkout@v3 - - run: echo "${{ secrets.GITHUB_TOKEN }}" >> token.txt + + - run: echo "${{ secrets.GH_ACTIONS_PAT }}" > token.txt + - run: gh auth login --with-token < token.txt - run: gh --version - run: gh auth status From cc94c0166a13ef7b5b713c65a28d0100547aba20 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Mon, 28 Oct 2024 13:53:06 -0500 Subject: [PATCH 06/67] fect group members --- .github/workflows/test9.yml | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index a71e58b441b..ec834b6b8c8 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -25,16 +25,8 @@ jobs: - run: echo "VA_DUE_DATE=$(date -d "+6 days" '+%A %b %d, %Y')" >> $GITHUB_ENV - run: echo "RELEASE_DATE=$(date -d "+13 days" '+%A %b %d, %Y')" >> $GITHUB_ENV - uses: actions/checkout@v3 - - run: echo "${{ secrets.GH_ACTIONS_PAT }}" > token.txt - - run: gh auth login --with-token < token.txt - - run: gh --version - - run: gh auth status - - run: gh issue list -L 1 # List a single issue to verify permissions - - run: gh api user # Check user authentication and permissions - - # Fetch GitHub Group Members - name: Fetch GitHub Group Members run: | @@ -55,7 +47,7 @@ jobs: releaseDate: ${{ env.RELEASE_DATE }} issues: ${{ env.TABLE }} assignees: ${{ env.ASSIGNEES }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GH_ACTIONS_PAT}} id: create-issue start_slack_thread: name: Start Slack thread From 731fff68491550bbdc787574244731a5ba6c2415 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Tue, 29 Oct 2024 11:55:03 -0500 Subject: [PATCH 07/67] clone release isssue template --- .../ISSUE_TEMPLATE/update_release_issue.md | 53 +++++++++ .github/workflows/test9.yml | 104 ++++-------------- 2 files changed, 72 insertions(+), 85 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/update_release_issue.md diff --git a/.github/ISSUE_TEMPLATE/update_release_issue.md b/.github/ISSUE_TEMPLATE/update_release_issue.md new file mode 100644 index 00000000000..dcd31098071 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/update_release_issue.md @@ -0,0 +1,53 @@ +--- +name: Testing Release Review Template +about: Testing Template for requesting a production release for VA mobile app +title: "{{ env.releaseDate }} Release Sign-Off: {{ env.versionNumber }}" +labels: devops +assignees: IsraelleHub + +--- + +# Release for {{ env.releaseDate }} +This ticket is to control for all the requirements for the upcoming release before the Pull Request is opened. This should hold any tasks or bug fixes unique to the release branch. It should also collect any text for What's New and any content changes for the app stores. + +This ticket should be complete by {{ env.vaDueDate }} +## Release Checklist + +- [ ] What's new content (App Store) - *required* +- [ ] What's new content (In app/Alert Box) - *optional* +- [ ] Content updates + +## Sign-offs: + +- [ ] QA **Due {{ env.qaDueDate }}** +- [ ] Product **Due {{ env.prodDueDate }}** +- [ ] Mobile Release Manager **Due after 10am EST {{ env.vaDueDate }}** + +## Release version + +{{ env.versionNumber }} + +## What's New content (App Store) - *required* + +If there aren't any new features, use standard messaging: We added general improvements and fixed a few bugs. + +If a Flagship team decides to update the App Stores What's New content, their work should be done in a ticket and provided to the release manager, who will then update this section. If not provided, it's assumed not to be used. + +## What's New content (In App/Alert Box) - *optional* + +This work is to be completed by Flagship teams before RC branch is cut and completed by engineering. Flagship team to provide release manager with the ticket this work was completed in for reference. + +## App Store content changes? +All changes should be made to the files in the repo and not directly to the stores. +Indicate NA if no changes. + +- [ ] Images: +- [ ] Content: +- [ ] Other (Privacy Policy, Promotions etc.): + +## Severe bugs: + +{{ env.issues }} + +## Regression Testing +[QA Testrail Regression Test Run Here](^^^Testrail-url^^^) \ No newline at end of file diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index ec834b6b8c8..c026abfd1fa 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -30,98 +30,32 @@ jobs: # Fetch GitHub Group Members - name: Fetch GitHub Group Members run: | - TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-qa/members --jq '.[].login') + TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq '.[].login') + echo "Team Members: $TEAM_MEMBERS" ASSIGNEES=$(echo $TEAM_MEMBERS | tr '\n' ',') ASSIGNEES=${ASSIGNEES%,} echo "ASSIGNEES=$ASSIGNEES" >> $GITHUB_ENV - # Create Release Ticket with auto-assigned members + - name: Debug - Output Team Members + run: | + echo "Team Members: $ASSIGNEES" + + - name: Update Release Ticket Template with Assignees + run: | + # Update the assignees line in the template file with the fetched team members + sed -i "s/^assignees:.*$/assignees: $ASSIGNEES/" .github/ISSUE_TEMPLATE/release_ticket.md + - name: Create Release Ticket uses: JasonEtco/create-an-issue@v2 with: - filename: .github/ISSUE_TEMPLATE/release_ticket.md + filename: .github/ISSUE_TEMPLATE/update_release_issue.md env: - versionNumber: ${{ env.VERSION }} - qaDueDate: ${{env.QA_DUE_DATE}} - prodDueDate: ${{env.PROD_DUE_DATE}} - vaDueDate: ${{env.VA_DUE_DATE}} - releaseDate: ${{ env.RELEASE_DATE }} - issues: ${{ env.TABLE }} - assignees: ${{ env.ASSIGNEES }} - GITHUB_TOKEN: ${{ secrets.GH_ACTIONS_PAT}} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} id: create-issue - start_slack_thread: - name: Start Slack thread - needs: release_ticket - uses: ./.github/workflows/start_slack_thread.yml - secrets: inherit - with: - channel_name: va-mobile-app-automation-test-channel - message: '*Release v2.37 Coordination :thread:* build started by ${{ github.actor }}: \"${{ inputs.notes }}\" (:git: `${{ github.ref_name }}`). See <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|workflow run> for results.' - release_coordination: - name: release coordination - if: ${{ success() }} - needs: [start_slack_thread, release_ticket] - runs-on: ubuntu-latest - steps: - - name: Map GitHub usernames to Slack IDs - id: map_slack_ids + + - name: Verify Assignees on Ticket run: | - - declare -A GITHUB_TO_SLACK_MAP - GITHUB_TO_SLACK_MAP["DJUltraTom"]="U02BBL9L0CU" - GITHUB_TO_SLACK_MAP["kellylein"]="UJHA49K6X" - GITHUB_TO_SLACK_MAP["dumathane"]="U02RC1BRZBP" - GITHUB_TO_SLACK_MAP["timwright12"]="U01DBDAJZ18" - GITHUB_TO_SLACK_MAP["ala-yna"]="UQC180926" - GITHUB_TO_SLACK_MAP["ajsarkar28"]="U05BNQLJ9UZ" - GITHUB_TO_SLACK_MAP["rachelhanster"]="U047Q1LKDFY" - GITHUB_TO_SLACK_MAP["DonMcCaugheyUSDS"]="U06PCD1R0EL" - GITHUB_TO_SLACK_MAP["IsraelleHub"]="U06N7M2QSUA" - GITHUB_TO_SLACK_MAP["rtwell"]="UEY4D750B" - # Example: Convert mapping to environment variables - for key in "${!GITHUB_TO_SLACK_MAP[@]}"; do - echo "${key}=${GITHUB_TO_SLACK_MAP[$key]}" >> $GITHUB_ENV - done - - name: Notify Slack for release coordination + # Output the ticket number and check if the assignees were applied correctly + TICKET_NUM=${{ steps.create-issue.outputs.number }} + gh issue view $TICKET_NUM --json assignees --jq '.assignees' env: - SLACK_API_TOKEN: ${{ secrets.SLACK_API_TOKEN }} - SLACK_DJUltraTom: $DJUltraTom - SLACK_kellylein: $kellylein - SLACK_dumathane: $dumathane - SLACK_timwright12: $timwright12 - SLACK_ala-yna: $ala-yna - SLACK_ajsarkar28: $ajsarkar28 - SLACK_rachelhanster: $rachelhanster - SLACK_DonMcCaugheyUSDS: $DonMcCaugheyUSDS - SLACK_IsraelleHub: $IsraelleHub - SLACK_rtwel: $rtwel - run: | - SLACK_MESSAGE=$(cat <\n\ - *Release Report:* Github Report Link to be provided\n\ - *Release Date:* ${{ needs.release_ticket.outputs.releaseDate }}\n\n\ - *Approval Timing:*\n\ - - *QA Approval Due:* ${{ needs.release_ticket.outputs.qaDueDate }}\n\ - - *Product Approval Due:* ${{ needs.release_ticket.outputs.prodDueDate }}\n\ - - *Release Manager Approval Due:* ${{ needs.release_ticket.outputs.vaDueDate }}\n\ - - *Tickets Tagged Appropriately:* ${{ needs.release_ticket.outputs.qaDueDate }}\n\n\ - *Contacts:*\n\ - - *Release Testing:* <@${SLACK_IsraelleHub}>\n\ - - *Release Manager:* <@${SLACK_IsraelleHub}>\n\ - - *Release Ticket Validation:* <@${SLACK_IsraelleHub}>\n\ - - *Engineering:* <@${SLACK_IsraelleHub}>, <@${SLACK_IsraelleHub}>\n\ - - *Mobile Product Approvers:* H&B and Global - <@${SLACK_IsraelleHub}> Global - <@${SLACK_IsraelleHub}>\n\ - - *VA PO for awareness:* <@${SLACK_IsraelleHub}> CC: <@${SLACK_IsraelleHub}>, <@${SLACK_IsraelleHub}>.", - "thread_ts": "${{ needs.start_slack_thread.outputs.thread_ts }}", - "unfurl_links": false, - "unfurl_media": false - } - EOF - ) - echo "$SLACK_MESSAGE" | envsubst | curl -X POST \ - -H 'Authorization: Bearer '"$SLACK_API_TOKEN" \ - -H 'Content-type: application/json' \ - -d @- \ - https://slack.com/api/chat.postMessage \ No newline at end of file + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From 978a1a3a2cb57a2d46c2145898d95ce0d6579666 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Tue, 29 Oct 2024 14:50:31 -0500 Subject: [PATCH 08/67] change md file --- .github/workflows/test9.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index c026abfd1fa..5bc26f3f7b3 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -42,7 +42,7 @@ jobs: - name: Update Release Ticket Template with Assignees run: | # Update the assignees line in the template file with the fetched team members - sed -i "s/^assignees:.*$/assignees: $ASSIGNEES/" .github/ISSUE_TEMPLATE/release_ticket.md + sed -i "s/^assignees:.*$/assignees: $ASSIGNEES/" .github/ISSUE_TEMPLATE/update_release_issue.md - name: Create Release Ticket uses: JasonEtco/create-an-issue@v2 From 7e9ad1a7e5e018c0ac777d6c4d41ef5bc0aca30b Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Tue, 29 Oct 2024 15:30:49 -0500 Subject: [PATCH 09/67] assignees formatting --- .github/workflows/test9.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index 5bc26f3f7b3..f8417c85853 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -30,9 +30,10 @@ jobs: # Fetch GitHub Group Members - name: Fetch GitHub Group Members run: | - TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq '.[].login') + TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/ + members --jq '.[].login' -H "Authorization: token ${{ secrets.GH_ACTIONS_PAT }}")) echo "Team Members: $TEAM_MEMBERS" - ASSIGNEES=$(echo $TEAM_MEMBERS | tr '\n' ',') + ASSIGNEES=$(echo $TEAM_MEMBERS | tr '\n' ','| tr -d ' ') ASSIGNEES=${ASSIGNEES%,} echo "ASSIGNEES=$ASSIGNEES" >> $GITHUB_ENV - name: Debug - Output Team Members From 51e5797ca28c530d703a50f471050b8d4b99e582 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Tue, 29 Oct 2024 15:32:36 -0500 Subject: [PATCH 10/67] fix formatting --- .github/workflows/test9.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index f8417c85853..064c93ebf6a 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -31,7 +31,7 @@ jobs: - name: Fetch GitHub Group Members run: | TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/ - members --jq '.[].login' -H "Authorization: token ${{ secrets.GH_ACTIONS_PAT }}")) + members --jq '.[].login' -H "Authorization: token ${{ secrets.GH_ACTIONS_PAT }}") echo "Team Members: $TEAM_MEMBERS" ASSIGNEES=$(echo $TEAM_MEMBERS | tr '\n' ','| tr -d ' ') ASSIGNEES=${ASSIGNEES%,} From 0dd42b8a54f685a22646cb0d1be5d55fe3060327 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Tue, 29 Oct 2024 15:42:56 -0500 Subject: [PATCH 11/67] roolback --- .github/workflows/test9.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index 064c93ebf6a..3b895d0d263 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -30,8 +30,7 @@ jobs: # Fetch GitHub Group Members - name: Fetch GitHub Group Members run: | - TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/ - members --jq '.[].login' -H "Authorization: token ${{ secrets.GH_ACTIONS_PAT }}") + TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq '.[].login') echo "Team Members: $TEAM_MEMBERS" ASSIGNEES=$(echo $TEAM_MEMBERS | tr '\n' ','| tr -d ' ') ASSIGNEES=${ASSIGNEES%,} From f5a60832d4ffb8fc361db5e23024779ad9bdb7ac Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Tue, 29 Oct 2024 15:49:51 -0500 Subject: [PATCH 12/67] fetch team member into md --- .github/workflows/test9.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index 3b895d0d263..d7449d33f3c 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -32,7 +32,7 @@ jobs: run: | TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq '.[].login') echo "Team Members: $TEAM_MEMBERS" - ASSIGNEES=$(echo $TEAM_MEMBERS | tr '\n' ','| tr -d ' ') + ASSIGNEES=$(echo $TEAM_MEMBERS | tr '\n' ',') ASSIGNEES=${ASSIGNEES%,} echo "ASSIGNEES=$ASSIGNEES" >> $GITHUB_ENV - name: Debug - Output Team Members @@ -42,7 +42,7 @@ jobs: - name: Update Release Ticket Template with Assignees run: | # Update the assignees line in the template file with the fetched team members - sed -i "s/^assignees:.*$/assignees: $ASSIGNEES/" .github/ISSUE_TEMPLATE/update_release_issue.md + sed -i "s/^assignees:.*$/assignees: $TEAM_MEMBERS/" .github/ISSUE_TEMPLATE/update_release_issue.md - name: Create Release Ticket uses: JasonEtco/create-an-issue@v2 From 25d792a9fec90e21588c8292284f07d9db335771 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Tue, 29 Oct 2024 15:56:37 -0500 Subject: [PATCH 13/67] fix issue title --- .github/workflows/test9.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index d7449d33f3c..68f360e8984 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -49,6 +49,12 @@ jobs: with: filename: .github/ISSUE_TEMPLATE/update_release_issue.md env: + versionNumber: ${{ env.VERSION }} + qaDueDate: ${{ env.QA_DUE_DATE }} + prodDueDate: ${{ env.PROD_DUE_DATE }} + vaDueDate: ${{ env.VA_DUE_DATE }} + releaseDate: ${{ env.RELEASE_DATE }} + issues: ${{ env.TABLE }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} id: create-issue From 749067be5d313bec0ca98ac5dedc55ff1650dcf2 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Wed, 30 Oct 2024 11:28:37 -0500 Subject: [PATCH 14/67] format fix --- .github/ISSUE_TEMPLATE/update_release_issue.md | 2 +- .github/workflows/test9.yml | 8 +------- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/update_release_issue.md b/.github/ISSUE_TEMPLATE/update_release_issue.md index dcd31098071..bd7ca63bc00 100644 --- a/.github/ISSUE_TEMPLATE/update_release_issue.md +++ b/.github/ISSUE_TEMPLATE/update_release_issue.md @@ -3,7 +3,7 @@ name: Testing Release Review Template about: Testing Template for requesting a production release for VA mobile app title: "{{ env.releaseDate }} Release Sign-Off: {{ env.versionNumber }}" labels: devops -assignees: IsraelleHub +assignees: IsraelleHub, IsraelleHub --- diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index 68f360e8984..81daccb8edf 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -42,19 +42,13 @@ jobs: - name: Update Release Ticket Template with Assignees run: | # Update the assignees line in the template file with the fetched team members - sed -i "s/^assignees:.*$/assignees: $TEAM_MEMBERS/" .github/ISSUE_TEMPLATE/update_release_issue.md + sed -i "s/^assignees:.*$/assignees: $$ASSIGNEES/" .github/ISSUE_TEMPLATE/update_release_issue.md - name: Create Release Ticket uses: JasonEtco/create-an-issue@v2 with: filename: .github/ISSUE_TEMPLATE/update_release_issue.md env: - versionNumber: ${{ env.VERSION }} - qaDueDate: ${{ env.QA_DUE_DATE }} - prodDueDate: ${{ env.PROD_DUE_DATE }} - vaDueDate: ${{ env.VA_DUE_DATE }} - releaseDate: ${{ env.RELEASE_DATE }} - issues: ${{ env.TABLE }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} id: create-issue From 66aae7fb884f1593d135c0c3ecdd9435a4496709 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Wed, 30 Oct 2024 11:34:54 -0500 Subject: [PATCH 15/67] wrap username in backet --- .github/ISSUE_TEMPLATE/update_release_issue.md | 2 +- .github/workflows/test9.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/update_release_issue.md b/.github/ISSUE_TEMPLATE/update_release_issue.md index bd7ca63bc00..3e09a8e7d41 100644 --- a/.github/ISSUE_TEMPLATE/update_release_issue.md +++ b/.github/ISSUE_TEMPLATE/update_release_issue.md @@ -3,7 +3,7 @@ name: Testing Release Review Template about: Testing Template for requesting a production release for VA mobile app title: "{{ env.releaseDate }} Release Sign-Off: {{ env.versionNumber }}" labels: devops -assignees: IsraelleHub, IsraelleHub +assignees: [IsraelleHub] --- diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index 81daccb8edf..ed7cc4c134f 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -33,7 +33,7 @@ jobs: TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq '.[].login') echo "Team Members: $TEAM_MEMBERS" ASSIGNEES=$(echo $TEAM_MEMBERS | tr '\n' ',') - ASSIGNEES=${ASSIGNEES%,} + ASSIGNEES="[${ASSIGNEES%,}]" echo "ASSIGNEES=$ASSIGNEES" >> $GITHUB_ENV - name: Debug - Output Team Members run: | From fb35aec0fdc86730f1149b3b816b589bdb425441 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Wed, 30 Oct 2024 11:41:00 -0500 Subject: [PATCH 16/67] roll back --- .github/workflows/test9.yml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index ed7cc4c134f..c85b2bc23c7 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -33,7 +33,7 @@ jobs: TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq '.[].login') echo "Team Members: $TEAM_MEMBERS" ASSIGNEES=$(echo $TEAM_MEMBERS | tr '\n' ',') - ASSIGNEES="[${ASSIGNEES%,}]" + ASSIGNEES=${ASSIGNEES%,} echo "ASSIGNEES=$ASSIGNEES" >> $GITHUB_ENV - name: Debug - Output Team Members run: | @@ -44,18 +44,18 @@ jobs: # Update the assignees line in the template file with the fetched team members sed -i "s/^assignees:.*$/assignees: $$ASSIGNEES/" .github/ISSUE_TEMPLATE/update_release_issue.md + # Create Release Ticket with auto-assigned members - name: Create Release Ticket uses: JasonEtco/create-an-issue@v2 with: filename: .github/ISSUE_TEMPLATE/update_release_issue.md env: + versionNumber: ${{ env.VERSION }} + qaDueDate: ${{env.QA_DUE_DATE}} + prodDueDate: ${{env.PROD_DUE_DATE}} + vaDueDate: ${{env.VA_DUE_DATE}} + releaseDate: ${{ env.RELEASE_DATE }} + issues: ${{ env.TABLE }} + assignees: ${{ env.ASSIGNEES }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - id: create-issue - - - name: Verify Assignees on Ticket - run: | - # Output the ticket number and check if the assignees were applied correctly - TICKET_NUM=${{ steps.create-issue.outputs.number }} - gh issue view $TICKET_NUM --json assignees --jq '.assignees' - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + id: create-issue \ No newline at end of file From 7e2c2c17683f4b4615cd1fb31536eeacca7a7cc8 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Wed, 30 Oct 2024 12:33:16 -0500 Subject: [PATCH 17/67] formatted assignees --- .github/workflows/test9.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index c85b2bc23c7..b853b08491a 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -31,10 +31,10 @@ jobs: - name: Fetch GitHub Group Members run: | TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq '.[].login') - echo "Team Members: $TEAM_MEMBERS" - ASSIGNEES=$(echo $TEAM_MEMBERS | tr '\n' ',') + ASSIGNEES=$(echo $TEAM_MEMBERS | paste -sd "," -) ASSIGNEES=${ASSIGNEES%,} echo "ASSIGNEES=$ASSIGNEES" >> $GITHUB_ENV + echo "Formatted Assignees: $ASSIGNEES" - name: Debug - Output Team Members run: | echo "Team Members: $ASSIGNEES" From 1787939e2ab84f36f4a627758cdbdba794a1e8e7 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Wed, 30 Oct 2024 12:37:15 -0500 Subject: [PATCH 18/67] remove line 34 --- .github/workflows/test9.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index b853b08491a..a6202c8cebe 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -32,7 +32,6 @@ jobs: run: | TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq '.[].login') ASSIGNEES=$(echo $TEAM_MEMBERS | paste -sd "," -) - ASSIGNEES=${ASSIGNEES%,} echo "ASSIGNEES=$ASSIGNEES" >> $GITHUB_ENV echo "Formatted Assignees: $ASSIGNEES" - name: Debug - Output Team Members From 55e8d84c8b5015d65d50b20382a995004b3cee99 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Thu, 31 Oct 2024 20:33:10 -0500 Subject: [PATCH 19/67] update name of md --- ...{update_release_issue.md => update_releaseissue.md} | 2 +- .github/workflows/test9.yml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) rename .github/ISSUE_TEMPLATE/{update_release_issue.md => update_releaseissue.md} (98%) diff --git a/.github/ISSUE_TEMPLATE/update_release_issue.md b/.github/ISSUE_TEMPLATE/update_releaseissue.md similarity index 98% rename from .github/ISSUE_TEMPLATE/update_release_issue.md rename to .github/ISSUE_TEMPLATE/update_releaseissue.md index 3e09a8e7d41..dcd31098071 100644 --- a/.github/ISSUE_TEMPLATE/update_release_issue.md +++ b/.github/ISSUE_TEMPLATE/update_releaseissue.md @@ -3,7 +3,7 @@ name: Testing Release Review Template about: Testing Template for requesting a production release for VA mobile app title: "{{ env.releaseDate }} Release Sign-Off: {{ env.versionNumber }}" labels: devops -assignees: [IsraelleHub] +assignees: IsraelleHub --- diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index a6202c8cebe..4e3ee6c8653 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -30,24 +30,24 @@ jobs: # Fetch GitHub Group Members - name: Fetch GitHub Group Members run: | - TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq '.[].login') + TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq 'map(.login) | join(",")') ASSIGNEES=$(echo $TEAM_MEMBERS | paste -sd "," -) echo "ASSIGNEES=$ASSIGNEES" >> $GITHUB_ENV - echo "Formatted Assignees: $ASSIGNEES" + echo "Formatted Assignees: $TEAM_MEMBERS" - name: Debug - Output Team Members run: | - echo "Team Members: $ASSIGNEES" + echo "Formatted Assignees: $ASSIGNEES" - name: Update Release Ticket Template with Assignees run: | # Update the assignees line in the template file with the fetched team members - sed -i "s/^assignees:.*$/assignees: $$ASSIGNEES/" .github/ISSUE_TEMPLATE/update_release_issue.md + sed -i "s/^assignees:.*$/assignees: $ASSIGNEES/" .github/ISSUE_TEMPLATE/update_releaseissue.md # Create Release Ticket with auto-assigned members - name: Create Release Ticket uses: JasonEtco/create-an-issue@v2 with: - filename: .github/ISSUE_TEMPLATE/update_release_issue.md + filename: .github/ISSUE_TEMPLATE/update_releaseissue.md env: versionNumber: ${{ env.VERSION }} qaDueDate: ${{env.QA_DUE_DATE}} From cce3b9d23dab573bbd88fb480ae6bdc3ffea695f Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Thu, 31 Oct 2024 21:16:12 -0500 Subject: [PATCH 20/67] fix formatremoved sed --- .github/workflows/test9.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index 4e3ee6c8653..26b55b1b1c3 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -38,11 +38,7 @@ jobs: run: | echo "Formatted Assignees: $ASSIGNEES" - - name: Update Release Ticket Template with Assignees - run: | - # Update the assignees line in the template file with the fetched team members - sed -i "s/^assignees:.*$/assignees: $ASSIGNEES/" .github/ISSUE_TEMPLATE/update_releaseissue.md - + # Create Release Ticket with auto-assigned members - name: Create Release Ticket uses: JasonEtco/create-an-issue@v2 From 5c19575ffc80f51464791dbee440bb24f25803fa Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Thu, 31 Oct 2024 22:18:01 -0500 Subject: [PATCH 21/67] Pass ASSIGNEES to the create-an-issue Action --- .github/workflows/test9.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index 26b55b1b1c3..4771a62a9ab 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -44,6 +44,7 @@ jobs: uses: JasonEtco/create-an-issue@v2 with: filename: .github/ISSUE_TEMPLATE/update_releaseissue.md + assignees: ${{ env.ASSIGNEES }} env: versionNumber: ${{ env.VERSION }} qaDueDate: ${{env.QA_DUE_DATE}} From 1203f26fba10d7fded6b6024ce274270a67e5154 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Thu, 31 Oct 2024 22:33:16 -0500 Subject: [PATCH 22/67] update assignees on markdown --- .github/workflows/test9.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index 4771a62a9ab..a128c40b51b 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -34,6 +34,8 @@ jobs: ASSIGNEES=$(echo $TEAM_MEMBERS | paste -sd "," -) echo "ASSIGNEES=$ASSIGNEES" >> $GITHUB_ENV echo "Formatted Assignees: $TEAM_MEMBERS" + # Update the markdown file to use the new assignees list + sed -i "s/^assignees:.*$/assignees: [$ASSIGNEES]/" .github/ISSUE_TEMPLATE/update_release_issue.md - name: Debug - Output Team Members run: | echo "Formatted Assignees: $ASSIGNEES" @@ -44,7 +46,6 @@ jobs: uses: JasonEtco/create-an-issue@v2 with: filename: .github/ISSUE_TEMPLATE/update_releaseissue.md - assignees: ${{ env.ASSIGNEES }} env: versionNumber: ${{ env.VERSION }} qaDueDate: ${{env.QA_DUE_DATE}} From 12fde75d919c71912ffb99ca2ba14f76a082bad7 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Thu, 31 Oct 2024 22:34:39 -0500 Subject: [PATCH 23/67] fix format --- .github/workflows/test9.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index a128c40b51b..a4592d67655 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -35,7 +35,7 @@ jobs: echo "ASSIGNEES=$ASSIGNEES" >> $GITHUB_ENV echo "Formatted Assignees: $TEAM_MEMBERS" # Update the markdown file to use the new assignees list - sed -i "s/^assignees:.*$/assignees: [$ASSIGNEES]/" .github/ISSUE_TEMPLATE/update_release_issue.md + sed -i "s/^assignees:.*$/assignees: [$ASSIGNEES]/" .github/ISSUE_TEMPLATE/update_releaseissue.md - name: Debug - Output Team Members run: | echo "Formatted Assignees: $ASSIGNEES" From 6e97c20eadf4148bf0d1c0dfc5195cece640dac7 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Fri, 1 Nov 2024 10:26:01 -0500 Subject: [PATCH 24/67] shell --- .github/workflows/test9.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index a4592d67655..d67943d819b 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -33,9 +33,9 @@ jobs: TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq 'map(.login) | join(",")') ASSIGNEES=$(echo $TEAM_MEMBERS | paste -sd "," -) echo "ASSIGNEES=$ASSIGNEES" >> $GITHUB_ENV - echo "Formatted Assignees: $TEAM_MEMBERS" # Update the markdown file to use the new assignees list sed -i "s/^assignees:.*$/assignees: [$ASSIGNEES]/" .github/ISSUE_TEMPLATE/update_releaseissue.md + shell: bash - name: Debug - Output Team Members run: | echo "Formatted Assignees: $ASSIGNEES" From 757d02857dea510fbe3f40cd8da367ec009a9dfe Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Fri, 1 Nov 2024 10:27:03 -0500 Subject: [PATCH 25/67] remove bracket --- .github/workflows/test9.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index d67943d819b..92d99266d76 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -34,8 +34,7 @@ jobs: ASSIGNEES=$(echo $TEAM_MEMBERS | paste -sd "," -) echo "ASSIGNEES=$ASSIGNEES" >> $GITHUB_ENV # Update the markdown file to use the new assignees list - sed -i "s/^assignees:.*$/assignees: [$ASSIGNEES]/" .github/ISSUE_TEMPLATE/update_releaseissue.md - shell: bash + sed -i "s/^assignees:.*$/assignees: $ASSIGNEES/" .github/ISSUE_TEMPLATE/update_releaseissue.md - name: Debug - Output Team Members run: | echo "Formatted Assignees: $ASSIGNEES" From 7090838a43d2499e1c4f25d0fab702bb0ab7a246 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Fri, 1 Nov 2024 10:29:19 -0500 Subject: [PATCH 26/67] assignee format in markdown --- .github/ISSUE_TEMPLATE/update_releaseissue.md | 2 +- .github/workflows/test9.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/update_releaseissue.md b/.github/ISSUE_TEMPLATE/update_releaseissue.md index dcd31098071..3e09a8e7d41 100644 --- a/.github/ISSUE_TEMPLATE/update_releaseissue.md +++ b/.github/ISSUE_TEMPLATE/update_releaseissue.md @@ -3,7 +3,7 @@ name: Testing Release Review Template about: Testing Template for requesting a production release for VA mobile app title: "{{ env.releaseDate }} Release Sign-Off: {{ env.versionNumber }}" labels: devops -assignees: IsraelleHub +assignees: [IsraelleHub] --- diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index 92d99266d76..19945e70ec8 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -34,7 +34,7 @@ jobs: ASSIGNEES=$(echo $TEAM_MEMBERS | paste -sd "," -) echo "ASSIGNEES=$ASSIGNEES" >> $GITHUB_ENV # Update the markdown file to use the new assignees list - sed -i "s/^assignees:.*$/assignees: $ASSIGNEES/" .github/ISSUE_TEMPLATE/update_releaseissue.md + sed -i "s/^assignees:.*$/assignees: [$ASSIGNEES]/" .github/ISSUE_TEMPLATE/update_releaseissue.md - name: Debug - Output Team Members run: | echo "Formatted Assignees: $ASSIGNEES" From ed6fbc7503ab6fa2256de7c721c099a201dff675 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Fri, 1 Nov 2024 11:02:57 -0500 Subject: [PATCH 27/67] push assignee to md --- .github/workflows/test9.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index 19945e70ec8..90e83e831a4 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -35,6 +35,16 @@ jobs: echo "ASSIGNEES=$ASSIGNEES" >> $GITHUB_ENV # Update the markdown file to use the new assignees list sed -i "s/^assignees:.*$/assignees: [$ASSIGNEES]/" .github/ISSUE_TEMPLATE/update_releaseissue.md + echo "Updated Markdown File Content:" + cat .github/ISSUE_TEMPLATE/update_releaseissue.md + + - name: Commit and Push Assignees Update to Markdown + run: | + git config --global user.email "actions@github.com" + git config --global user.name "GitHub Action" + git add .github/ISSUE_TEMPLATE/update_releaseissue.md + git commit -m "Update assignees in release issue template" + git push - name: Debug - Output Team Members run: | echo "Formatted Assignees: $ASSIGNEES" From 0a72daf5de09bec26473142c01327e1490b724c6 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Fri, 1 Nov 2024 16:03:13 +0000 Subject: [PATCH 28/67] Update assignees in release issue template --- .github/ISSUE_TEMPLATE/update_releaseissue.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/update_releaseissue.md b/.github/ISSUE_TEMPLATE/update_releaseissue.md index 3e09a8e7d41..0e21ece8e8c 100644 --- a/.github/ISSUE_TEMPLATE/update_releaseissue.md +++ b/.github/ISSUE_TEMPLATE/update_releaseissue.md @@ -3,7 +3,7 @@ name: Testing Release Review Template about: Testing Template for requesting a production release for VA mobile app title: "{{ env.releaseDate }} Release Sign-Off: {{ env.versionNumber }}" labels: devops -assignees: [IsraelleHub] +assignees: [timwright12,narin,IsraelleHub] --- From 67dc48b9367bf0362115fd87c988c2fa63f3563d Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Fri, 1 Nov 2024 11:06:38 -0500 Subject: [PATCH 29/67] no bracket --- .github/ISSUE_TEMPLATE/update_releaseissue.md | 2 +- .github/workflows/test9.yml | 7 ------- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/update_releaseissue.md b/.github/ISSUE_TEMPLATE/update_releaseissue.md index 3e09a8e7d41..dcd31098071 100644 --- a/.github/ISSUE_TEMPLATE/update_releaseissue.md +++ b/.github/ISSUE_TEMPLATE/update_releaseissue.md @@ -3,7 +3,7 @@ name: Testing Release Review Template about: Testing Template for requesting a production release for VA mobile app title: "{{ env.releaseDate }} Release Sign-Off: {{ env.versionNumber }}" labels: devops -assignees: [IsraelleHub] +assignees: IsraelleHub --- diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index 90e83e831a4..dbfeec5c91b 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -38,13 +38,6 @@ jobs: echo "Updated Markdown File Content:" cat .github/ISSUE_TEMPLATE/update_releaseissue.md - - name: Commit and Push Assignees Update to Markdown - run: | - git config --global user.email "actions@github.com" - git config --global user.name "GitHub Action" - git add .github/ISSUE_TEMPLATE/update_releaseissue.md - git commit -m "Update assignees in release issue template" - git push - name: Debug - Output Team Members run: | echo "Formatted Assignees: $ASSIGNEES" From 0c08e9000ad63b9798e5ab44a104d85d8e3e5eb5 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Fri, 1 Nov 2024 11:18:54 -0500 Subject: [PATCH 30/67] update md with fetched assignee --- .github/ISSUE_TEMPLATE/update_releaseissue.md | 4 ---- .github/workflows/test9.yml | 19 +------------------ 2 files changed, 1 insertion(+), 22 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/update_releaseissue.md b/.github/ISSUE_TEMPLATE/update_releaseissue.md index 5c31ac6de85..dcd31098071 100644 --- a/.github/ISSUE_TEMPLATE/update_releaseissue.md +++ b/.github/ISSUE_TEMPLATE/update_releaseissue.md @@ -3,11 +3,7 @@ name: Testing Release Review Template about: Testing Template for requesting a production release for VA mobile app title: "{{ env.releaseDate }} Release Sign-Off: {{ env.versionNumber }}" labels: devops -<<<<<<< HEAD assignees: IsraelleHub -======= -assignees: [timwright12,narin,IsraelleHub] ->>>>>>> 0a72daf5de09bec26473142c01327e1490b724c6 --- diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index dbfeec5c91b..1f7e4248ff7 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -40,21 +40,4 @@ jobs: - name: Debug - Output Team Members run: | - echo "Formatted Assignees: $ASSIGNEES" - - - # Create Release Ticket with auto-assigned members - - name: Create Release Ticket - uses: JasonEtco/create-an-issue@v2 - with: - filename: .github/ISSUE_TEMPLATE/update_releaseissue.md - env: - versionNumber: ${{ env.VERSION }} - qaDueDate: ${{env.QA_DUE_DATE}} - prodDueDate: ${{env.PROD_DUE_DATE}} - vaDueDate: ${{env.VA_DUE_DATE}} - releaseDate: ${{ env.RELEASE_DATE }} - issues: ${{ env.TABLE }} - assignees: ${{ env.ASSIGNEES }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - id: create-issue \ No newline at end of file + echo "Formatted Assignees: $ASSIGNEES" \ No newline at end of file From e5d946bdde9ff53217da29627650a91afa0f47bb Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Fri, 1 Nov 2024 11:25:51 -0500 Subject: [PATCH 31/67] push changed to md --- .github/workflows/test9.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index 1f7e4248ff7..f5b1d4d6526 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -37,6 +37,13 @@ jobs: sed -i "s/^assignees:.*$/assignees: [$ASSIGNEES]/" .github/ISSUE_TEMPLATE/update_releaseissue.md echo "Updated Markdown File Content:" cat .github/ISSUE_TEMPLATE/update_releaseissue.md + - name: Commit and Push Assignees Update to Markdown + run: | + git config --global user.email "actions@github.com" + git config --global user.name "GitHub Action" + git add .github/ISSUE_TEMPLATE/update_release_issue.md + git commit -m "Update assignees in release issue template" + git push - name: Debug - Output Team Members run: | From cd9d00a8d18cbb83e558be1aa6c04f7ba995ad08 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Fri, 1 Nov 2024 11:26:42 -0500 Subject: [PATCH 32/67] fix md format --- .github/workflows/test9.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index f5b1d4d6526..5decd20d099 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -41,7 +41,7 @@ jobs: run: | git config --global user.email "actions@github.com" git config --global user.name "GitHub Action" - git add .github/ISSUE_TEMPLATE/update_release_issue.md + git add .github/ISSUE_TEMPLATE/update_releaseissue.md git commit -m "Update assignees in release issue template" git push From 15c698e7ab5c2d59017d7b446d23c86a5cdc9a69 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Fri, 1 Nov 2024 16:26:57 +0000 Subject: [PATCH 33/67] Update assignees in release issue template --- .github/ISSUE_TEMPLATE/update_releaseissue.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/update_releaseissue.md b/.github/ISSUE_TEMPLATE/update_releaseissue.md index dcd31098071..0e21ece8e8c 100644 --- a/.github/ISSUE_TEMPLATE/update_releaseissue.md +++ b/.github/ISSUE_TEMPLATE/update_releaseissue.md @@ -3,7 +3,7 @@ name: Testing Release Review Template about: Testing Template for requesting a production release for VA mobile app title: "{{ env.releaseDate }} Release Sign-Off: {{ env.versionNumber }}" labels: devops -assignees: IsraelleHub +assignees: [timwright12,narin,IsraelleHub] --- From ae0d6f82949281e3ad7df10e95f01735c41de7a0 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Fri, 1 Nov 2024 12:03:44 -0500 Subject: [PATCH 34/67] test check --- .github/workflows/test9.yml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index 5decd20d099..530060beb60 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -32,19 +32,12 @@ jobs: run: | TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq 'map(.login) | join(",")') ASSIGNEES=$(echo $TEAM_MEMBERS | paste -sd "," -) - echo "ASSIGNEES=$ASSIGNEES" >> $GITHUB_ENV # Update the markdown file to use the new assignees list sed -i "s/^assignees:.*$/assignees: [$ASSIGNEES]/" .github/ISSUE_TEMPLATE/update_releaseissue.md - echo "Updated Markdown File Content:" - cat .github/ISSUE_TEMPLATE/update_releaseissue.md - name: Commit and Push Assignees Update to Markdown run: | git config --global user.email "actions@github.com" git config --global user.name "GitHub Action" git add .github/ISSUE_TEMPLATE/update_releaseissue.md git commit -m "Update assignees in release issue template" - git push - - - name: Debug - Output Team Members - run: | - echo "Formatted Assignees: $ASSIGNEES" \ No newline at end of file + git push \ No newline at end of file From 4eb2c05f0dbb7073290a33b6c1a723016b12512f Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Fri, 1 Nov 2024 12:12:57 -0500 Subject: [PATCH 35/67] if nothing to commit --- .github/workflows/test9.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index 530060beb60..54a785422ac 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -32,6 +32,8 @@ jobs: run: | TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq 'map(.login) | join(",")') ASSIGNEES=$(echo $TEAM_MEMBERS | paste -sd "," -) + # Debug output just for testing + echo "Formatted Assignees: $ASSIGNEES" # Update the markdown file to use the new assignees list sed -i "s/^assignees:.*$/assignees: [$ASSIGNEES]/" .github/ISSUE_TEMPLATE/update_releaseissue.md - name: Commit and Push Assignees Update to Markdown @@ -39,5 +41,10 @@ jobs: git config --global user.email "actions@github.com" git config --global user.name "GitHub Action" git add .github/ISSUE_TEMPLATE/update_releaseissue.md - git commit -m "Update assignees in release issue template" - git push \ No newline at end of file + # Check if there are any changes to commit + if git diff-index --quiet HEAD; then + echo "No changes to commit." + else + git commit -m "Update assignees in release issue template" + git push + fi \ No newline at end of file From 12d52de6dac2f7ac4474d0253c65c40de099dd21 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Mon, 4 Nov 2024 08:31:43 -0600 Subject: [PATCH 36/67] test1 --- .github/workflows/release_branch_issue.yml | 29 ++++++++++++++++------ .github/workflows/test9.yml | 21 +++++++++++++--- 2 files changed, 39 insertions(+), 11 deletions(-) diff --git a/.github/workflows/release_branch_issue.yml b/.github/workflows/release_branch_issue.yml index da9b6167c35..6b0acd5e738 100644 --- a/.github/workflows/release_branch_issue.yml +++ b/.github/workflows/release_branch_issue.yml @@ -20,7 +20,7 @@ jobs: - run: echo "VA_DUE_DATE=$(date -d "+6 days" '+%A %b %d, %Y')" >> $GITHUB_ENV - run: echo "RELEASE_DATE=$(date -d "+13 days" '+%A %b %d, %Y')" >> $GITHUB_ENV - uses: actions/checkout@v3 - - run: echo "${{ secrets.GITHUB_TOKEN }}" >> token.txt + - run: echo "${{ secrets.GH_ACTIONS_PAT }}" > token.txt - run: gh auth login --with-token < token.txt - run: | sev1=$(gh issue list -l "sev-1" --jq 'map("|#\(.number)|\(.title)|") | join("\n") ' --json number,title) @@ -32,14 +32,27 @@ jobs: echo 'TABLE<> $GITHUB_ENV echo "${table}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - # Fetch GitHub Group Members - - name: Fetch GitHub Group Members + - name: Format Assignees and Update Markdown + run: | + # Fetch GitHub Group Members + TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq 'map(.login) | join(",")') + ASSIGNEES=$(echo $TEAM_MEMBERS | paste -sd "," -) + # Debug output just for testing + echo "Formatted Assignees: $ASSIGNEES" + # Update the markdown file to use the new assignees list + sed -i "s/^assignees:.*$/assignees: [$ASSIGNEES]/" .github/ISSUE_TEMPLATE/release_ticket.md + - name: Commit and Push Assignees Update to Markdown run: | - TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-admin/members --jq '.[].login') - ASSIGNEES=$(echo $TEAM_MEMBERS | tr '\n' ',') - ASSIGNEES=${ASSIGNEES%,} - echo "ASSIGNEES=$ASSIGNEES" >> $GITHUB_ENV - # Create Release Ticket with auto-assigned members + git config --global user.email "actions@github.com" + git config --global user.name "GitHub Action" + git add .github/ISSUE_TEMPLATE/release_ticket.md + # Check if there are any changes to commit + if git diff-index --quiet HEAD; then + echo "No changes to commit." + else + git commit -m "Update assignees in release issue template" + git push + fi - name: Create Release Ticket uses: JasonEtco/create-an-issue@v2 with: diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml index 54a785422ac..0eaee3e8998 100644 --- a/.github/workflows/test9.yml +++ b/.github/workflows/test9.yml @@ -27,9 +27,9 @@ jobs: - uses: actions/checkout@v3 - run: echo "${{ secrets.GH_ACTIONS_PAT }}" > token.txt - run: gh auth login --with-token < token.txt - # Fetch GitHub Group Members - - name: Fetch GitHub Group Members + - name: Format Assignees and Update Markdown run: | + # Fetch GitHub Group Members TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq 'map(.login) | join(",")') ASSIGNEES=$(echo $TEAM_MEMBERS | paste -sd "," -) # Debug output just for testing @@ -47,4 +47,19 @@ jobs: else git commit -m "Update assignees in release issue template" git push - fi \ No newline at end of file + fi + # Create Release Ticket with auto-assigned members + - name: Create Release Ticket + uses: JasonEtco/create-an-issue@v2 + with: + filename: .github/ISSUE_TEMPLATE/update_releaseissue.md + env: + versionNumber: ${{ env.VERSION }} + qaDueDate: ${{env.QA_DUE_DATE}} + prodDueDate: ${{env.PROD_DUE_DATE}} + vaDueDate: ${{env.VA_DUE_DATE}} + releaseDate: ${{ env.RELEASE_DATE }} + issues: ${{ env.TABLE }} + assignees: ${{ env.ASSIGNEES }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + id: create-issue \ No newline at end of file From 73fc87d2aadbd874d96c0580adaf7f6efc539c98 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Mon, 4 Nov 2024 10:27:47 -0600 Subject: [PATCH 37/67] ready for review --- .github/ISSUE_TEMPLATE/update_releaseissue.md | 53 --------------- .github/workflows/test9.yml | 65 ------------------- 2 files changed, 118 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/update_releaseissue.md delete mode 100644 .github/workflows/test9.yml diff --git a/.github/ISSUE_TEMPLATE/update_releaseissue.md b/.github/ISSUE_TEMPLATE/update_releaseissue.md deleted file mode 100644 index 0e21ece8e8c..00000000000 --- a/.github/ISSUE_TEMPLATE/update_releaseissue.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -name: Testing Release Review Template -about: Testing Template for requesting a production release for VA mobile app -title: "{{ env.releaseDate }} Release Sign-Off: {{ env.versionNumber }}" -labels: devops -assignees: [timwright12,narin,IsraelleHub] - ---- - -# Release for {{ env.releaseDate }} -This ticket is to control for all the requirements for the upcoming release before the Pull Request is opened. This should hold any tasks or bug fixes unique to the release branch. It should also collect any text for What's New and any content changes for the app stores. - -This ticket should be complete by {{ env.vaDueDate }} -## Release Checklist - -- [ ] What's new content (App Store) - *required* -- [ ] What's new content (In app/Alert Box) - *optional* -- [ ] Content updates - -## Sign-offs: - -- [ ] QA **Due {{ env.qaDueDate }}** -- [ ] Product **Due {{ env.prodDueDate }}** -- [ ] Mobile Release Manager **Due after 10am EST {{ env.vaDueDate }}** - -## Release version - -{{ env.versionNumber }} - -## What's New content (App Store) - *required* - -If there aren't any new features, use standard messaging: We added general improvements and fixed a few bugs. - -If a Flagship team decides to update the App Stores What's New content, their work should be done in a ticket and provided to the release manager, who will then update this section. If not provided, it's assumed not to be used. - -## What's New content (In App/Alert Box) - *optional* - -This work is to be completed by Flagship teams before RC branch is cut and completed by engineering. Flagship team to provide release manager with the ticket this work was completed in for reference. - -## App Store content changes? -All changes should be made to the files in the repo and not directly to the stores. -Indicate NA if no changes. - -- [ ] Images: -- [ ] Content: -- [ ] Other (Privacy Policy, Promotions etc.): - -## Severe bugs: - -{{ env.issues }} - -## Regression Testing -[QA Testrail Regression Test Run Here](^^^Testrail-url^^^) \ No newline at end of file diff --git a/.github/workflows/test9.yml b/.github/workflows/test9.yml deleted file mode 100644 index 0eaee3e8998..00000000000 --- a/.github/workflows/test9.yml +++ /dev/null @@ -1,65 +0,0 @@ -# test build - -name: '[test] testing' - -on: - push: - branches: - - chanel-6808-create-system-for-updating-names-on-release-tickets - -jobs: - - release_ticket: - runs-on: ubuntu-latest - outputs: - ticketNumber: ${{steps.create-issue.outputs.number}} - versionNumber: ${{env.VERSION}} - releaseDate: ${{env.RELEASE_DATE}} - qaDueDate: ${{env.QA_DUE_DATE}} - prodDueDate: ${{env.PROD_DUE_DATE}} - vaDueDate: ${{env.VA_DUE_DATE}} - steps: - - run: echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV - - run: echo "QA_DUE_DATE=$(date -d "+2 days" '+%A %b %d, %Y')" >> $GITHUB_ENV - - run: echo "PROD_DUE_DATE=$(date -d "+5 days" '+%A %b %d, %Y')" >> $GITHUB_ENV - - run: echo "VA_DUE_DATE=$(date -d "+6 days" '+%A %b %d, %Y')" >> $GITHUB_ENV - - run: echo "RELEASE_DATE=$(date -d "+13 days" '+%A %b %d, %Y')" >> $GITHUB_ENV - - uses: actions/checkout@v3 - - run: echo "${{ secrets.GH_ACTIONS_PAT }}" > token.txt - - run: gh auth login --with-token < token.txt - - name: Format Assignees and Update Markdown - run: | - # Fetch GitHub Group Members - TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq 'map(.login) | join(",")') - ASSIGNEES=$(echo $TEAM_MEMBERS | paste -sd "," -) - # Debug output just for testing - echo "Formatted Assignees: $ASSIGNEES" - # Update the markdown file to use the new assignees list - sed -i "s/^assignees:.*$/assignees: [$ASSIGNEES]/" .github/ISSUE_TEMPLATE/update_releaseissue.md - - name: Commit and Push Assignees Update to Markdown - run: | - git config --global user.email "actions@github.com" - git config --global user.name "GitHub Action" - git add .github/ISSUE_TEMPLATE/update_releaseissue.md - # Check if there are any changes to commit - if git diff-index --quiet HEAD; then - echo "No changes to commit." - else - git commit -m "Update assignees in release issue template" - git push - fi - # Create Release Ticket with auto-assigned members - - name: Create Release Ticket - uses: JasonEtco/create-an-issue@v2 - with: - filename: .github/ISSUE_TEMPLATE/update_releaseissue.md - env: - versionNumber: ${{ env.VERSION }} - qaDueDate: ${{env.QA_DUE_DATE}} - prodDueDate: ${{env.PROD_DUE_DATE}} - vaDueDate: ${{env.VA_DUE_DATE}} - releaseDate: ${{ env.RELEASE_DATE }} - issues: ${{ env.TABLE }} - assignees: ${{ env.ASSIGNEES }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - id: create-issue \ No newline at end of file From bcd7967f6d9663b5085cbf529c93335b0f761e3c Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Mon, 4 Nov 2024 10:28:33 -0600 Subject: [PATCH 38/67] ready --- .github/workflows/release_branch_issue.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release_branch_issue.yml b/.github/workflows/release_branch_issue.yml index 6b0acd5e738..081bb42c6dc 100644 --- a/.github/workflows/release_branch_issue.yml +++ b/.github/workflows/release_branch_issue.yml @@ -171,4 +171,4 @@ jobs: -H 'Authorization: Bearer '"$SLACK_API_TOKEN" \ -H 'Content-type: application/json' \ -d @- \ - https://slack.com/api/chat.postMessage + https://slack.com/api/chat.postMessage \ No newline at end of file From 6a338301865d5159ce0a785b1f33a25a9c31f5fb Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Tue, 5 Nov 2024 15:33:51 -0600 Subject: [PATCH 39/67] removed debug line --- .github/workflows/release_branch_issue.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/release_branch_issue.yml b/.github/workflows/release_branch_issue.yml index 081bb42c6dc..0e32ecea153 100644 --- a/.github/workflows/release_branch_issue.yml +++ b/.github/workflows/release_branch_issue.yml @@ -37,8 +37,6 @@ jobs: # Fetch GitHub Group Members TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq 'map(.login) | join(",")') ASSIGNEES=$(echo $TEAM_MEMBERS | paste -sd "," -) - # Debug output just for testing - echo "Formatted Assignees: $ASSIGNEES" # Update the markdown file to use the new assignees list sed -i "s/^assignees:.*$/assignees: [$ASSIGNEES]/" .github/ISSUE_TEMPLATE/release_ticket.md - name: Commit and Push Assignees Update to Markdown From ef597755ef7add9a72a3fbfda9ba7390f4ae06ce Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Wed, 6 Nov 2024 10:58:54 -0600 Subject: [PATCH 40/67] code update --- .github/workflows/release_branch_issue.yml | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/.github/workflows/release_branch_issue.yml b/.github/workflows/release_branch_issue.yml index 0e32ecea153..1b0054b3ced 100644 --- a/.github/workflows/release_branch_issue.yml +++ b/.github/workflows/release_branch_issue.yml @@ -32,25 +32,11 @@ jobs: echo 'TABLE<> $GITHUB_ENV echo "${table}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - - name: Format Assignees and Update Markdown + # Fetch GitHub Group Members + - name: Fetch GitHub Group Members run: | - # Fetch GitHub Group Members TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq 'map(.login) | join(",")') ASSIGNEES=$(echo $TEAM_MEMBERS | paste -sd "," -) - # Update the markdown file to use the new assignees list - sed -i "s/^assignees:.*$/assignees: [$ASSIGNEES]/" .github/ISSUE_TEMPLATE/release_ticket.md - - name: Commit and Push Assignees Update to Markdown - run: | - git config --global user.email "actions@github.com" - git config --global user.name "GitHub Action" - git add .github/ISSUE_TEMPLATE/release_ticket.md - # Check if there are any changes to commit - if git diff-index --quiet HEAD; then - echo "No changes to commit." - else - git commit -m "Update assignees in release issue template" - git push - fi - name: Create Release Ticket uses: JasonEtco/create-an-issue@v2 with: From 10fd96bc7e5605cc9de81f0c89bd03dab3e5a294 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Wed, 6 Nov 2024 12:42:43 -0600 Subject: [PATCH 41/67] test1 --- .../ISSUE_TEMPLATE/update_release_issue.md | 53 +++++++++++++++++++ .github/workflows/test10.yml | 51 ++++++++++++++++++ 2 files changed, 104 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/update_release_issue.md create mode 100644 .github/workflows/test10.yml diff --git a/.github/ISSUE_TEMPLATE/update_release_issue.md b/.github/ISSUE_TEMPLATE/update_release_issue.md new file mode 100644 index 00000000000..3ec9fe883e0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/update_release_issue.md @@ -0,0 +1,53 @@ +--- +name: Testing Release Review Template +about: Testing Template for requesting a production release for VA mobile app +title: "{{ env.releaseDate }} Release Sign-Off: {{ env.versionNumber }}" +labels: devops +assignees: [timwright12,IsraelleHub] + +--- + +# Release for {{ env.releaseDate }} +This ticket is to control for all the requirements for the upcoming release before the Pull Request is opened. This should hold any tasks or bug fixes unique to the release branch. It should also collect any text for What's New and any content changes for the app stores. + +This ticket should be complete by {{ env.vaDueDate }} +## Release Checklist + +- [ ] What's new content (App Store) - *required* +- [ ] What's new content (In app/Alert Box) - *optional* +- [ ] Content updates + +## Sign-offs: + +- [ ] QA **Due {{ env.qaDueDate }}** +- [ ] Product **Due {{ env.prodDueDate }}** +- [ ] Mobile Release Manager **Due after 10am EST {{ env.vaDueDate }}** + +## Release version + +{{ env.versionNumber }} + +## What's New content (App Store) - *required* + +If there aren't any new features, use standard messaging: We added general improvements and fixed a few bugs. + +If a Flagship team decides to update the App Stores What's New content, their work should be done in a ticket and provided to the release manager, who will then update this section. If not provided, it's assumed not to be used. + +## What's New content (In App/Alert Box) - *optional* + +This work is to be completed by Flagship teams before RC branch is cut and completed by engineering. Flagship team to provide release manager with the ticket this work was completed in for reference. + +## App Store content changes? +All changes should be made to the files in the repo and not directly to the stores. +Indicate NA if no changes. + +- [ ] Images: +- [ ] Content: +- [ ] Other (Privacy Policy, Promotions etc.): + +## Severe bugs: + +{{ env.issues }} + +## Regression Testing +[QA Testrail Regression Test Run Here](^^^Testrail-url^^^) \ No newline at end of file diff --git a/.github/workflows/test10.yml b/.github/workflows/test10.yml new file mode 100644 index 00000000000..3a48df55897 --- /dev/null +++ b/.github/workflows/test10.yml @@ -0,0 +1,51 @@ + +# test build + +name: '[test] testing' + +on: + push: + branches: + - chanel-6808-create-system-for-updating-names-on-release-tickets + +jobs: + + release_ticket: + runs-on: ubuntu-latest + outputs: + ticketNumber: ${{steps.create-issue.outputs.number}} + versionNumber: ${{env.VERSION}} + releaseDate: ${{env.RELEASE_DATE}} + qaDueDate: ${{env.QA_DUE_DATE}} + prodDueDate: ${{env.PROD_DUE_DATE}} + vaDueDate: ${{env.VA_DUE_DATE}} + steps: + - run: echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV + - run: echo "QA_DUE_DATE=$(date -d "+2 days" '+%A %b %d, %Y')" >> $GITHUB_ENV + - run: echo "PROD_DUE_DATE=$(date -d "+5 days" '+%A %b %d, %Y')" >> $GITHUB_ENV + - run: echo "VA_DUE_DATE=$(date -d "+6 days" '+%A %b %d, %Y')" >> $GITHUB_ENV + - run: echo "RELEASE_DATE=$(date -d "+13 days" '+%A %b %d, %Y')" >> $GITHUB_ENV + - uses: actions/checkout@v3 + - run: echo "${{ secrets.GH_ACTIONS_PAT }}" > token.txt + - run: gh auth login --with-token < token.txt + - name: Fetch GitHub Group Members + run: | + TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq 'map(.login) | join(",")') + ASSIGNEES=$(echo $TEAM_MEMBERS | paste -sd "," -) + # Debug output just for testing + echo "Formatted Assignees: $ASSIGNEES" + # Create Release Ticket with auto-assigned members + - name: Create Release Ticket + uses: JasonEtco/create-an-issue@v2 + with: + filename: .github/ISSUE_TEMPLATE/update_release_issue.md + env: + versionNumber: ${{ env.VERSION }} + qaDueDate: ${{env.QA_DUE_DATE}} + prodDueDate: ${{env.PROD_DUE_DATE}} + vaDueDate: ${{env.VA_DUE_DATE}} + releaseDate: ${{ env.RELEASE_DATE }} + issues: ${{ env.TABLE }} + assignees: ${{ env.ASSIGNEES }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + id: create-issue \ No newline at end of file From a29e90eb55b2c31ccdc278e431ac6922c4b37759 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Wed, 6 Nov 2024 14:06:06 -0600 Subject: [PATCH 42/67] parse assignee to ticket --- .github/ISSUE_TEMPLATE/update_release_issue.md | 2 +- .github/workflows/test10.yml | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/update_release_issue.md b/.github/ISSUE_TEMPLATE/update_release_issue.md index 3ec9fe883e0..dcd31098071 100644 --- a/.github/ISSUE_TEMPLATE/update_release_issue.md +++ b/.github/ISSUE_TEMPLATE/update_release_issue.md @@ -3,7 +3,7 @@ name: Testing Release Review Template about: Testing Template for requesting a production release for VA mobile app title: "{{ env.releaseDate }} Release Sign-Off: {{ env.versionNumber }}" labels: devops -assignees: [timwright12,IsraelleHub] +assignees: IsraelleHub --- diff --git a/.github/workflows/test10.yml b/.github/workflows/test10.yml index 3a48df55897..5e547e8bb1b 100644 --- a/.github/workflows/test10.yml +++ b/.github/workflows/test10.yml @@ -39,6 +39,7 @@ jobs: uses: JasonEtco/create-an-issue@v2 with: filename: .github/ISSUE_TEMPLATE/update_release_issue.md + assignees: ${{ env.ASSIGNEES }} env: versionNumber: ${{ env.VERSION }} qaDueDate: ${{env.QA_DUE_DATE}} @@ -46,6 +47,6 @@ jobs: vaDueDate: ${{env.VA_DUE_DATE}} releaseDate: ${{ env.RELEASE_DATE }} issues: ${{ env.TABLE }} - assignees: ${{ env.ASSIGNEES }} + ASSIGNEES: $ASSIGNEES GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} id: create-issue \ No newline at end of file From 599dbbea85f280741deab803d704590c1ba1c702 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Wed, 6 Nov 2024 20:43:54 -0600 Subject: [PATCH 43/67] add assignee to release ticket --- .github/workflows/test10.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test10.yml b/.github/workflows/test10.yml index 5e547e8bb1b..23ba2d71834 100644 --- a/.github/workflows/test10.yml +++ b/.github/workflows/test10.yml @@ -39,7 +39,6 @@ jobs: uses: JasonEtco/create-an-issue@v2 with: filename: .github/ISSUE_TEMPLATE/update_release_issue.md - assignees: ${{ env.ASSIGNEES }} env: versionNumber: ${{ env.VERSION }} qaDueDate: ${{env.QA_DUE_DATE}} @@ -47,6 +46,12 @@ jobs: vaDueDate: ${{env.VA_DUE_DATE}} releaseDate: ${{ env.RELEASE_DATE }} issues: ${{ env.TABLE }} - ASSIGNEES: $ASSIGNEES GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - id: create-issue \ No newline at end of file + id: create-issue + - name: Assign Users to Release Ticket + if: ${{ success() }} + run: | + ISSUE_NUMBER=${{ steps.create_issue.outputs.number }} + gh issue edit $ISSUE_NUMBER --add-assignees $ASSIGNEES + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From fac63499354978a89764215c25bd0ec9472cb04f Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Wed, 6 Nov 2024 20:47:51 -0600 Subject: [PATCH 44/67] fix typo --- .github/workflows/test10.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test10.yml b/.github/workflows/test10.yml index 23ba2d71834..db88e5cecb9 100644 --- a/.github/workflows/test10.yml +++ b/.github/workflows/test10.yml @@ -52,6 +52,6 @@ jobs: if: ${{ success() }} run: | ISSUE_NUMBER=${{ steps.create_issue.outputs.number }} - gh issue edit $ISSUE_NUMBER --add-assignees $ASSIGNEES + gh issue edit $ISSUE_NUMBER --add-assignee $ASSIGNEES env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From 9b1dec7a4ea248bcf9fcb6f38fd928a82b4428da Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Wed, 6 Nov 2024 20:55:47 -0600 Subject: [PATCH 45/67] test1 --- .github/workflows/test10.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test10.yml b/.github/workflows/test10.yml index db88e5cecb9..c9bbfd15832 100644 --- a/.github/workflows/test10.yml +++ b/.github/workflows/test10.yml @@ -47,11 +47,11 @@ jobs: releaseDate: ${{ env.RELEASE_DATE }} issues: ${{ env.TABLE }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - id: create-issue + id: create_issue - name: Assign Users to Release Ticket if: ${{ success() }} run: | ISSUE_NUMBER=${{ steps.create_issue.outputs.number }} - gh issue edit $ISSUE_NUMBER --add-assignee $ASSIGNEES + gh issue edit $ISSUE_NUMBER --add-assignee "$ASSIGNEES" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From c87c553d4158ac88b078e3b37229158265bee79e Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Thu, 7 Nov 2024 16:15:42 -0600 Subject: [PATCH 46/67] assign teams --- .github/workflows/test10.yml | 30 ++++++------------------------ 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/.github/workflows/test10.yml b/.github/workflows/test10.yml index c9bbfd15832..0061d6b0086 100644 --- a/.github/workflows/test10.yml +++ b/.github/workflows/test10.yml @@ -28,30 +28,12 @@ jobs: - uses: actions/checkout@v3 - run: echo "${{ secrets.GH_ACTIONS_PAT }}" > token.txt - run: gh auth login --with-token < token.txt - - name: Fetch GitHub Group Members + - name: Create Release Ticket and Assign Team Members run: | - TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq 'map(.login) | join(",")') - ASSIGNEES=$(echo $TEAM_MEMBERS | paste -sd "," -) - # Debug output just for testing - echo "Formatted Assignees: $ASSIGNEES" - # Create Release Ticket with auto-assigned members - - name: Create Release Ticket - uses: JasonEtco/create-an-issue@v2 - with: - filename: .github/ISSUE_TEMPLATE/update_release_issue.md + # Create the release ticket and capture its issue number + ISSUE_NUMBER=$(gh issue create --title "Release Ticket" --body "Generated release ticket" --json number --jq '.number') + + # Add team members as assignees to the created release ticket + gh issue edit "$ISSUE_NUMBER" $(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq 'map("--add-assignee " + .login) | join(" ")') env: - versionNumber: ${{ env.VERSION }} - qaDueDate: ${{env.QA_DUE_DATE}} - prodDueDate: ${{env.PROD_DUE_DATE}} - vaDueDate: ${{env.VA_DUE_DATE}} - releaseDate: ${{ env.RELEASE_DATE }} - issues: ${{ env.TABLE }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - id: create_issue - - name: Assign Users to Release Ticket - if: ${{ success() }} - run: | - ISSUE_NUMBER=${{ steps.create_issue.outputs.number }} - gh issue edit $ISSUE_NUMBER --add-assignee "$ASSIGNEES" - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From 1ca358d6800e3f81687cd3896c81d606fa6339f6 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Thu, 7 Nov 2024 16:22:37 -0600 Subject: [PATCH 47/67] no json --- .github/workflows/test10.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test10.yml b/.github/workflows/test10.yml index 0061d6b0086..3fe1f563944 100644 --- a/.github/workflows/test10.yml +++ b/.github/workflows/test10.yml @@ -30,9 +30,14 @@ jobs: - run: gh auth login --with-token < token.txt - name: Create Release Ticket and Assign Team Members run: | - # Create the release ticket and capture its issue number - ISSUE_NUMBER=$(gh issue create --title "Release Ticket" --body "Generated release ticket" --json number --jq '.number') + # Create release ticket using content from markdown file + ISSUE_URL=$(gh issue create --title "Release Ticket" --body-file .github/ISSUE_TEMPLATE/update_release_issue.md) + + # Extract issue number from URL + ISSUE_NUMBER=${ISSUE_URL##*/} + - name: Assign Team Members to Release Ticket + run: | # Add team members as assignees to the created release ticket gh issue edit "$ISSUE_NUMBER" $(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq 'map("--add-assignee " + .login) | join(" ")') env: From 470b4b5c7af6274ca4227940d80fa6c8a9c80cc7 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Thu, 7 Nov 2024 16:31:31 -0600 Subject: [PATCH 48/67] test2 --- .github/workflows/test10.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test10.yml b/.github/workflows/test10.yml index 3fe1f563944..f04132ac235 100644 --- a/.github/workflows/test10.yml +++ b/.github/workflows/test10.yml @@ -42,3 +42,4 @@ jobs: gh issue edit "$ISSUE_NUMBER" $(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq 'map("--add-assignee " + .login) | join(" ")') env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_REPO: ${{ github.repository }} From 201e7014009b7e3b1816d650bd811207c5b1bcec Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Thu, 7 Nov 2024 16:33:30 -0600 Subject: [PATCH 49/67] TEST3 --- .github/workflows/test10.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test10.yml b/.github/workflows/test10.yml index f04132ac235..29c3638b780 100644 --- a/.github/workflows/test10.yml +++ b/.github/workflows/test10.yml @@ -39,7 +39,8 @@ jobs: - name: Assign Team Members to Release Ticket run: | # Add team members as assignees to the created release ticket - gh issue edit "$ISSUE_NUMBER" $(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq 'map("--add-assignee " + .login) | join(" ")') + TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq 'map(.login) | join(",")') + gh issue edit "$ISSUE_NUMBER" --add-assignee "$TEAM_MEMBERS" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GH_REPO: ${{ github.repository }} From de9ee0a4290d3fde1b9314a4ddbb9adf9c79be71 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Thu, 7 Nov 2024 16:58:05 -0600 Subject: [PATCH 50/67] USE FOR LOOP --- .github/workflows/test10.yml | 39 ++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/.github/workflows/test10.yml b/.github/workflows/test10.yml index 29c3638b780..e1d9b372354 100644 --- a/.github/workflows/test10.yml +++ b/.github/workflows/test10.yml @@ -28,19 +28,32 @@ jobs: - uses: actions/checkout@v3 - run: echo "${{ secrets.GH_ACTIONS_PAT }}" > token.txt - run: gh auth login --with-token < token.txt - - name: Create Release Ticket and Assign Team Members + - name: Fetch GitHub Group Members run: | - # Create release ticket using content from markdown file - ISSUE_URL=$(gh issue create --title "Release Ticket" --body-file .github/ISSUE_TEMPLATE/update_release_issue.md) - - # Extract issue number from URL - ISSUE_NUMBER=${ISSUE_URL##*/} - - - name: Assign Team Members to Release Ticket - run: | - # Add team members as assignees to the created release ticket - TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq 'map(.login) | join(",")') - gh issue edit "$ISSUE_NUMBER" --add-assignee "$TEAM_MEMBERS" + TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq 'map(.login) | join(",")') + ASSIGNEES=$(echo $TEAM_MEMBERS | paste -sd "," -) + # Debug output just for testing + echo "Formatted Assignees: $ASSIGNEES" + # Create Release Ticket with auto-assigned members + - name: Create Release Ticket + uses: JasonEtco/create-an-issue@v2 + with: + filename: .github/ISSUE_TEMPLATE/update_release_issue.md env: + versionNumber: ${{ env.VERSION }} + qaDueDate: ${{env.QA_DUE_DATE}} + prodDueDate: ${{env.PROD_DUE_DATE}} + vaDueDate: ${{env.VA_DUE_DATE}} + releaseDate: ${{ env.RELEASE_DATE }} + issues: ${{ env.TABLE }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GH_REPO: ${{ github.repository }} + id: create_issue + - name: Assign Users to Release Ticket + if: ${{ success() }} + run: | + ISSUE_NUMBER=${{ steps.create_issue.outputs.number }} + for user in $ASSIGNEES; do + gh issue edit $ISSUE_NUMBER --add-assignee "$user" + done + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From 2ff6f672cd12dc992f2765b3c253c329000b0e58 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Thu, 7 Nov 2024 17:02:50 -0600 Subject: [PATCH 51/67] use personal access token --- .github/workflows/test10.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test10.yml b/.github/workflows/test10.yml index e1d9b372354..01ffe705e5d 100644 --- a/.github/workflows/test10.yml +++ b/.github/workflows/test10.yml @@ -56,4 +56,4 @@ jobs: gh issue edit $ISSUE_NUMBER --add-assignee "$user" done env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + GITHUB_TOKEN: ${{ secrets.GH_ACTIONS_PAT }} \ No newline at end of file From cf7df1b7b21150734b44b059e3b0312be4978e39 Mon Sep 17 00:00:00 2001 From: ATeal Date: Tue, 12 Nov 2024 09:47:54 -0500 Subject: [PATCH 52/67] chore: update military info screen tests with i18n --- .../IncorrectServiceInfo.test.tsx | 31 ++++++---------- .../MilitaryInformationScreen.test.tsx | 35 ++++++++++--------- .../NoMilitaryInformationAccess.test.tsx | 9 ++--- 3 files changed, 32 insertions(+), 43 deletions(-) diff --git a/VAMobile/src/screens/HomeScreen/ProfileScreen/MilitaryInformationScreen/IncorrectServiceInfo/IncorrectServiceInfo.test.tsx b/VAMobile/src/screens/HomeScreen/ProfileScreen/MilitaryInformationScreen/IncorrectServiceInfo/IncorrectServiceInfo.test.tsx index 735b85f1cae..de5acc94de5 100644 --- a/VAMobile/src/screens/HomeScreen/ProfileScreen/MilitaryInformationScreen/IncorrectServiceInfo/IncorrectServiceInfo.test.tsx +++ b/VAMobile/src/screens/HomeScreen/ProfileScreen/MilitaryInformationScreen/IncorrectServiceInfo/IncorrectServiceInfo.test.tsx @@ -2,8 +2,10 @@ import React from 'react' import { Linking } from 'react-native' import { fireEvent, screen } from '@testing-library/react-native' +import { t } from 'i18next' import { context, mockNavProps, render } from 'testUtils' +import { displayedTextPhoneNumber } from 'utils/formattingUtils' import IncorrectServiceInfo from './index' @@ -14,29 +16,16 @@ context('IncorrectServiceInfo', () => { }) it('initializes correctly', () => { - expect( - screen.getByRole('header', { name: "What if my military service information doesn't look right?" }), - ).toBeTruthy() - expect( - screen.getByText( - 'Some Veterans have reported seeing military service information in their VA.gov profiles that doesn’t seem right. When this happens, it’s because there’s an error in the information we’re pulling into VA.gov from the Defense Enrollment Eligibility Reporting System (DEERS).', - ), - ).toBeTruthy() - expect( - screen.getByText( - 'If the military service information in your profile doesn’t look right, please call the Defense Manpower Data Center (DMDC). They’ll work with you to update your information in DEERS.', - ), - ).toBeTruthy() - expect( - screen.getByText( - 'To reach the DMDC, call Monday through Friday (except federal holidays), 8:00 a.m. to 8:00 p.m. ET.', - ), - ).toBeTruthy() - expect(screen.getByRole('link', { name: '800-538-9552' })).toBeTruthy() + expect(screen.getByRole('header', { name: t('militaryInformation.incorrectServiceInfo') })).toBeTruthy() + expect(screen.getByText(t('militaryInformation.incorrectServiceInfo.body.1'))).toBeTruthy() + expect(screen.getByText(t('militaryInformation.incorrectServiceInfo.body.2'))).toBeTruthy() + expect(screen.getByText(t('militaryInformation.incorrectServiceInfo.body.3'))).toBeTruthy() + expect(screen.getByRole('link', { name: displayedTextPhoneNumber(t('8005389552')) })).toBeTruthy() }) it('should call DMDC on press', () => { - fireEvent.press(screen.getByRole('link', { name: '800-538-9552' })) - expect(Linking.openURL).toHaveBeenCalledWith('tel:8005389552') + const i18nPhoneNumber = t('8005389552') + fireEvent.press(screen.getByRole('link', { name: displayedTextPhoneNumber(i18nPhoneNumber) })) + expect(Linking.openURL).toHaveBeenCalledWith(`tel:${i18nPhoneNumber}`) }) }) diff --git a/VAMobile/src/screens/HomeScreen/ProfileScreen/MilitaryInformationScreen/MilitaryInformationScreen.test.tsx b/VAMobile/src/screens/HomeScreen/ProfileScreen/MilitaryInformationScreen/MilitaryInformationScreen.test.tsx index e4e36edd4cd..07866181580 100644 --- a/VAMobile/src/screens/HomeScreen/ProfileScreen/MilitaryInformationScreen/MilitaryInformationScreen.test.tsx +++ b/VAMobile/src/screens/HomeScreen/ProfileScreen/MilitaryInformationScreen/MilitaryInformationScreen.test.tsx @@ -2,6 +2,7 @@ import React from 'react' import { screen } from '@testing-library/react-native' import { waitFor } from '@testing-library/react-native' +import { t } from 'i18next' import { authorizedServicesKeys } from 'api/authorizedServices/queryKeys' import { militaryServiceHistoryKeys } from 'api/militaryService' @@ -12,16 +13,19 @@ import { QueriesData, context, mockNavProps, render, when } from 'testUtils' import MilitaryInformationScreen from './index' context('MilitaryInformationScreen', () => { + const serviceHistoryMockAtributes = { + branchOfService: BranchesOfServiceConstants.MarineCorps, + beginDate: '1993-06-04', + endDate: '1995-07-10', + formattedBeginDate: 'June 04, 1993', + formattedEndDate: 'July 10, 1995', + characterOfDischarge: 'Honorable', + honorableServiceIndicator: 'Y', + } const serviceHistoryMock: ServiceHistoryAttributes = { serviceHistory: [ { - branchOfService: BranchesOfServiceConstants.MarineCorps, - beginDate: '1993-06-04', - endDate: '1995-07-10', - formattedBeginDate: 'June 04, 1993', - formattedEndDate: 'July 10, 1995', - characterOfDischarge: 'Honorable', - honorableServiceIndicator: 'Y', + ...serviceHistoryMockAtributes, }, ], } @@ -82,7 +86,7 @@ context('MilitaryInformationScreen', () => { .calledWith('/v0/military-service-history') .mockResolvedValue(militaryServiceHistoryData) initializeTestInstance(undefined, false) - await waitFor(() => expect(screen.getByText("We can't access your military information")).toBeTruthy()) + await waitFor(() => expect(screen.getByText(t('militaryInformation.noMilitaryInfoAccess.title'))).toBeTruthy()) }) }) @@ -101,7 +105,7 @@ context('MilitaryInformationScreen', () => { .calledWith('/v0/military-service-history') .mockResolvedValue(militaryServiceHistoryData) initializeTestInstance({} as ServiceHistoryAttributes) - await waitFor(() => expect(screen.getByText("We can't access your military information")).toBeTruthy()) + await waitFor(() => expect(screen.getByText(t('militaryInformation.noMilitaryInfoAccess.title'))).toBeTruthy()) }) }) @@ -116,15 +120,14 @@ context('MilitaryInformationScreen', () => { when(api.get as jest.Mock) .calledWith('/v0/military-service-history') .mockResolvedValue(militaryServiceHistoryData) + const { branchOfService, formattedBeginDate, formattedEndDate } = serviceHistoryMockAtributes initializeTestInstance() - await waitFor(() => expect(screen.queryByText("We can't access your military information")).toBeFalsy()) - await waitFor(() => expect(screen.getByText('Period of service')).toBeTruthy()) - await waitFor(() => expect(screen.getByText('United States Marine Corps')).toBeTruthy()) - await waitFor(() => expect(screen.getByText('June 04, 1993 – July 10, 1995')).toBeTruthy()) + await waitFor(() => expect(screen.queryByText(t('militaryInformation.noMilitaryInfoAccess.title'))).toBeFalsy()) + await waitFor(() => expect(screen.getByText(t('militaryInformation.periodOfService'))).toBeTruthy()) + await waitFor(() => expect(screen.getByText(branchOfService)).toBeTruthy()) + await waitFor(() => expect(screen.getByText(`${formattedBeginDate} – ${formattedEndDate}`)).toBeTruthy()) await waitFor(() => - expect( - screen.getByRole('link', { name: "What if my military service information doesn't look right?" }), - ).toBeTruthy(), + expect(screen.getByRole('link', { name: t('militaryInformation.incorrectServiceInfo') })).toBeTruthy(), ) }) }) diff --git a/VAMobile/src/screens/HomeScreen/ProfileScreen/MilitaryInformationScreen/NoMilitaryInformationAccess.test.tsx b/VAMobile/src/screens/HomeScreen/ProfileScreen/MilitaryInformationScreen/NoMilitaryInformationAccess.test.tsx index 5d7c27e399e..24cec38bd7a 100644 --- a/VAMobile/src/screens/HomeScreen/ProfileScreen/MilitaryInformationScreen/NoMilitaryInformationAccess.test.tsx +++ b/VAMobile/src/screens/HomeScreen/ProfileScreen/MilitaryInformationScreen/NoMilitaryInformationAccess.test.tsx @@ -1,6 +1,7 @@ import React from 'react' import { screen } from '@testing-library/react-native' +import { t } from 'i18next' import { context, render } from 'testUtils' @@ -9,11 +10,7 @@ import NoMilitaryInformationAccess from './NoMilitaryInformationAccess' context('NoMilitaryInformationAccess', () => { it('should render text fields correctly', () => { render() - expect(screen.getByRole('header', { name: "We can't access your military information" })).toBeTruthy() - expect( - screen.getByText( - "We're sorry. We can't access your military service records. If you think you should be able to review your service information here, please file a request to change or correct your DD214 or other military records.", - ), - ).toBeTruthy() + expect(screen.getByRole('header', { name: t('militaryInformation.noMilitaryInfoAccess.title') })).toBeTruthy() + expect(screen.getByText(t('militaryInformation.noMilitaryInfoAccess.body'))).toBeTruthy() }) }) From 204128aa13a4bcee533b4a34d403d633c8e9f3ae Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Tue, 12 Nov 2024 14:05:39 -0600 Subject: [PATCH 53/67] debug assignee --- .github/workflows/test10.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test10.yml b/.github/workflows/test10.yml index 01ffe705e5d..d40c2f81cd8 100644 --- a/.github/workflows/test10.yml +++ b/.github/workflows/test10.yml @@ -50,10 +50,10 @@ jobs: id: create_issue - name: Assign Users to Release Ticket if: ${{ success() }} + run: | + echo "Formatted Assignees: $ASSIGNEES" ISSUE_NUMBER=${{ steps.create_issue.outputs.number }} - for user in $ASSIGNEES; do - gh issue edit $ISSUE_NUMBER --add-assignee "$user" - done + gh issue edit $ISSUE_NUMBER --add-assignee "$ASSIGNEES" env: GITHUB_TOKEN: ${{ secrets.GH_ACTIONS_PAT }} \ No newline at end of file From 455c99e1a000bc923ea01525845ea8576de3b07f Mon Sep 17 00:00:00 2001 From: ATeal Date: Tue, 12 Nov 2024 15:08:34 -0500 Subject: [PATCH 54/67] Update test with requested changes avoiding the const --- .../IncorrectServiceInfo/IncorrectServiceInfo.test.tsx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/VAMobile/src/screens/HomeScreen/ProfileScreen/MilitaryInformationScreen/IncorrectServiceInfo/IncorrectServiceInfo.test.tsx b/VAMobile/src/screens/HomeScreen/ProfileScreen/MilitaryInformationScreen/IncorrectServiceInfo/IncorrectServiceInfo.test.tsx index de5acc94de5..8bd395d198f 100644 --- a/VAMobile/src/screens/HomeScreen/ProfileScreen/MilitaryInformationScreen/IncorrectServiceInfo/IncorrectServiceInfo.test.tsx +++ b/VAMobile/src/screens/HomeScreen/ProfileScreen/MilitaryInformationScreen/IncorrectServiceInfo/IncorrectServiceInfo.test.tsx @@ -24,8 +24,7 @@ context('IncorrectServiceInfo', () => { }) it('should call DMDC on press', () => { - const i18nPhoneNumber = t('8005389552') - fireEvent.press(screen.getByRole('link', { name: displayedTextPhoneNumber(i18nPhoneNumber) })) - expect(Linking.openURL).toHaveBeenCalledWith(`tel:${i18nPhoneNumber}`) + fireEvent.press(screen.getByRole('link', { name: displayedTextPhoneNumber(t('8005389552')) })) + expect(Linking.openURL).toHaveBeenCalledWith(`tel:${t('8005389552')}`) }) }) From e0f8f884529c80956f31c688bb0810aa35044d0f Mon Sep 17 00:00:00 2001 From: Patrick Saxton <7376126+lexicalninja@users.noreply.github.com> Date: Tue, 12 Nov 2024 14:15:40 -0600 Subject: [PATCH 55/67] test new logic --- .github/workflows/test10.yml | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/.github/workflows/test10.yml b/.github/workflows/test10.yml index 01ffe705e5d..b0b3390424d 100644 --- a/.github/workflows/test10.yml +++ b/.github/workflows/test10.yml @@ -28,13 +28,6 @@ jobs: - uses: actions/checkout@v3 - run: echo "${{ secrets.GH_ACTIONS_PAT }}" > token.txt - run: gh auth login --with-token < token.txt - - name: Fetch GitHub Group Members - run: | - TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq 'map(.login) | join(",")') - ASSIGNEES=$(echo $TEAM_MEMBERS | paste -sd "," -) - # Debug output just for testing - echo "Formatted Assignees: $ASSIGNEES" - # Create Release Ticket with auto-assigned members - name: Create Release Ticket uses: JasonEtco/create-an-issue@v2 with: @@ -51,9 +44,12 @@ jobs: - name: Assign Users to Release Ticket if: ${{ success() }} run: | + TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq 'map(.login) | join(",")') + ASSIGNEES=$(echo $TEAM_MEMBERS | paste -sd "," -) + # Debug output just for testing + echo "Formatted Assignees: $ASSIGNEES" ISSUE_NUMBER=${{ steps.create_issue.outputs.number }} - for user in $ASSIGNEES; do - gh issue edit $ISSUE_NUMBER --add-assignee "$user" - done + gh issue edit $ISSUE_NUMBER --add-assignee "ASSIGNEES" + env: - GITHUB_TOKEN: ${{ secrets.GH_ACTIONS_PAT }} \ No newline at end of file + GITHUB_TOKEN: ${{ secrets.GH_ACTIONS_PAT }} From 1de88866f36925b370d7d7b1ce909a9951c5bf20 Mon Sep 17 00:00:00 2001 From: Patrick Saxton <7376126+lexicalninja@users.noreply.github.com> Date: Tue, 12 Nov 2024 14:19:05 -0600 Subject: [PATCH 56/67] no quotes --- .github/workflows/test10.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test10.yml b/.github/workflows/test10.yml index fb85c2457bb..a0a9f7c7c5f 100644 --- a/.github/workflows/test10.yml +++ b/.github/workflows/test10.yml @@ -52,6 +52,6 @@ jobs: gh issue edit $ISSUE_NUMBER --add-assignee "ASSIGNEES" echo "Formatted Assignees: $ASSIGNEES" ISSUE_NUMBER=${{ steps.create_issue.outputs.number }} - gh issue edit $ISSUE_NUMBER --add-assignee "$ASSIGNEES" + gh issue edit $ISSUE_NUMBER --add-assignee $ASSIGNEES env: GITHUB_TOKEN: ${{ secrets.GH_ACTIONS_PAT }} From d7bead2ef868ab539a33a9d833e711dc98dfea55 Mon Sep 17 00:00:00 2001 From: Patrick Saxton <7376126+lexicalninja@users.noreply.github.com> Date: Tue, 12 Nov 2024 14:20:05 -0600 Subject: [PATCH 57/67] remove double code --- .github/workflows/test10.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/test10.yml b/.github/workflows/test10.yml index a0a9f7c7c5f..46595289317 100644 --- a/.github/workflows/test10.yml +++ b/.github/workflows/test10.yml @@ -49,9 +49,6 @@ jobs: # Debug output just for testing echo "Formatted Assignees: $ASSIGNEES" ISSUE_NUMBER=${{ steps.create_issue.outputs.number }} - gh issue edit $ISSUE_NUMBER --add-assignee "ASSIGNEES" - echo "Formatted Assignees: $ASSIGNEES" - ISSUE_NUMBER=${{ steps.create_issue.outputs.number }} gh issue edit $ISSUE_NUMBER --add-assignee $ASSIGNEES env: GITHUB_TOKEN: ${{ secrets.GH_ACTIONS_PAT }} From ff6aa6f7efbc3664efb32fc524d01ed36eb6d71e Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Tue, 12 Nov 2024 14:30:01 -0600 Subject: [PATCH 58/67] updated release branch issue workflow --- .github/workflows/release_branch_issue.yml | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/.github/workflows/release_branch_issue.yml b/.github/workflows/release_branch_issue.yml index 1b0054b3ced..42b5d70a1f8 100644 --- a/.github/workflows/release_branch_issue.yml +++ b/.github/workflows/release_branch_issue.yml @@ -32,11 +32,6 @@ jobs: echo 'TABLE<> $GITHUB_ENV echo "${table}" >> $GITHUB_ENV echo 'EOF' >> $GITHUB_ENV - # Fetch GitHub Group Members - - name: Fetch GitHub Group Members - run: | - TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq 'map(.login) | join(",")') - ASSIGNEES=$(echo $TEAM_MEMBERS | paste -sd "," -) - name: Create Release Ticket uses: JasonEtco/create-an-issue@v2 with: @@ -48,9 +43,20 @@ jobs: vaDueDate: ${{env.VA_DUE_DATE}} releaseDate: ${{ env.RELEASE_DATE }} issues: ${{ env.TABLE }} - assignees: ${{ env.ASSIGNEES }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - id: create-issue + id: create_issue + - name: Assign Users to Release Ticket + if: ${{ success() }} + run: | + #Fetch GitHub Group Members + TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq 'map(.login) | join(",")') + ASSIGNEES=$(echo $TEAM_MEMBERS | paste -sd "," -) + # Debug output just for testing + echo "Formatted Assignees: $ASSIGNEES" + ISSUE_NUMBER=${{ steps.create_issue.outputs.number }} + gh issue edit $ISSUE_NUMBER --add-assignee $ASSIGNEES + env: + GITHUB_TOKEN: ${{ secrets.GH_ACTIONS_PAT }} create_testrail_milestone: uses: department-of-veterans-affairs/va-mobile-app/.github/workflows/create_testrail_milestone.yml@develop needs: release_ticket From 4d0d209a811413bac67e6410984c3535c5021e9d Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Tue, 12 Nov 2024 14:31:40 -0600 Subject: [PATCH 59/67] delete clone release issue template --- .../ISSUE_TEMPLATE/update_release_issue.md | 53 ------------------- 1 file changed, 53 deletions(-) delete mode 100644 .github/ISSUE_TEMPLATE/update_release_issue.md diff --git a/.github/ISSUE_TEMPLATE/update_release_issue.md b/.github/ISSUE_TEMPLATE/update_release_issue.md deleted file mode 100644 index dcd31098071..00000000000 --- a/.github/ISSUE_TEMPLATE/update_release_issue.md +++ /dev/null @@ -1,53 +0,0 @@ ---- -name: Testing Release Review Template -about: Testing Template for requesting a production release for VA mobile app -title: "{{ env.releaseDate }} Release Sign-Off: {{ env.versionNumber }}" -labels: devops -assignees: IsraelleHub - ---- - -# Release for {{ env.releaseDate }} -This ticket is to control for all the requirements for the upcoming release before the Pull Request is opened. This should hold any tasks or bug fixes unique to the release branch. It should also collect any text for What's New and any content changes for the app stores. - -This ticket should be complete by {{ env.vaDueDate }} -## Release Checklist - -- [ ] What's new content (App Store) - *required* -- [ ] What's new content (In app/Alert Box) - *optional* -- [ ] Content updates - -## Sign-offs: - -- [ ] QA **Due {{ env.qaDueDate }}** -- [ ] Product **Due {{ env.prodDueDate }}** -- [ ] Mobile Release Manager **Due after 10am EST {{ env.vaDueDate }}** - -## Release version - -{{ env.versionNumber }} - -## What's New content (App Store) - *required* - -If there aren't any new features, use standard messaging: We added general improvements and fixed a few bugs. - -If a Flagship team decides to update the App Stores What's New content, their work should be done in a ticket and provided to the release manager, who will then update this section. If not provided, it's assumed not to be used. - -## What's New content (In App/Alert Box) - *optional* - -This work is to be completed by Flagship teams before RC branch is cut and completed by engineering. Flagship team to provide release manager with the ticket this work was completed in for reference. - -## App Store content changes? -All changes should be made to the files in the repo and not directly to the stores. -Indicate NA if no changes. - -- [ ] Images: -- [ ] Content: -- [ ] Other (Privacy Policy, Promotions etc.): - -## Severe bugs: - -{{ env.issues }} - -## Regression Testing -[QA Testrail Regression Test Run Here](^^^Testrail-url^^^) \ No newline at end of file From 1406d9d8b918c9cb3944bb88a4f955da163f5367 Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Tue, 12 Nov 2024 14:35:39 -0600 Subject: [PATCH 60/67] delete test workflow --- .github/workflows/test10.yml | 54 ------------------------------------ 1 file changed, 54 deletions(-) delete mode 100644 .github/workflows/test10.yml diff --git a/.github/workflows/test10.yml b/.github/workflows/test10.yml deleted file mode 100644 index 46595289317..00000000000 --- a/.github/workflows/test10.yml +++ /dev/null @@ -1,54 +0,0 @@ - -# test build - -name: '[test] testing' - -on: - push: - branches: - - chanel-6808-create-system-for-updating-names-on-release-tickets - -jobs: - - release_ticket: - runs-on: ubuntu-latest - outputs: - ticketNumber: ${{steps.create-issue.outputs.number}} - versionNumber: ${{env.VERSION}} - releaseDate: ${{env.RELEASE_DATE}} - qaDueDate: ${{env.QA_DUE_DATE}} - prodDueDate: ${{env.PROD_DUE_DATE}} - vaDueDate: ${{env.VA_DUE_DATE}} - steps: - - run: echo "VERSION=${GITHUB_REF##*/}" >> $GITHUB_ENV - - run: echo "QA_DUE_DATE=$(date -d "+2 days" '+%A %b %d, %Y')" >> $GITHUB_ENV - - run: echo "PROD_DUE_DATE=$(date -d "+5 days" '+%A %b %d, %Y')" >> $GITHUB_ENV - - run: echo "VA_DUE_DATE=$(date -d "+6 days" '+%A %b %d, %Y')" >> $GITHUB_ENV - - run: echo "RELEASE_DATE=$(date -d "+13 days" '+%A %b %d, %Y')" >> $GITHUB_ENV - - uses: actions/checkout@v3 - - run: echo "${{ secrets.GH_ACTIONS_PAT }}" > token.txt - - run: gh auth login --with-token < token.txt - - name: Create Release Ticket - uses: JasonEtco/create-an-issue@v2 - with: - filename: .github/ISSUE_TEMPLATE/update_release_issue.md - env: - versionNumber: ${{ env.VERSION }} - qaDueDate: ${{env.QA_DUE_DATE}} - prodDueDate: ${{env.PROD_DUE_DATE}} - vaDueDate: ${{env.VA_DUE_DATE}} - releaseDate: ${{ env.RELEASE_DATE }} - issues: ${{ env.TABLE }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - id: create_issue - - name: Assign Users to Release Ticket - if: ${{ success() }} - run: | - TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq 'map(.login) | join(",")') - ASSIGNEES=$(echo $TEAM_MEMBERS | paste -sd "," -) - # Debug output just for testing - echo "Formatted Assignees: $ASSIGNEES" - ISSUE_NUMBER=${{ steps.create_issue.outputs.number }} - gh issue edit $ISSUE_NUMBER --add-assignee $ASSIGNEES - env: - GITHUB_TOKEN: ${{ secrets.GH_ACTIONS_PAT }} From d7c3ae91e3825c49404cea6265454a3f3e88cb2b Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Wed, 13 Nov 2024 10:36:56 -0600 Subject: [PATCH 61/67] remove debug code line --- .github/workflows/release_branch_issue.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/release_branch_issue.yml b/.github/workflows/release_branch_issue.yml index 42b5d70a1f8..a04afeb6ad8 100644 --- a/.github/workflows/release_branch_issue.yml +++ b/.github/workflows/release_branch_issue.yml @@ -48,11 +48,9 @@ jobs: - name: Assign Users to Release Ticket if: ${{ success() }} run: | - #Fetch GitHub Group Members + # Fetch GitHub Group Members TEAM_MEMBERS=$(gh api orgs/department-of-veterans-affairs/teams/flagship-mobile-release-approvers/members --jq 'map(.login) | join(",")') ASSIGNEES=$(echo $TEAM_MEMBERS | paste -sd "," -) - # Debug output just for testing - echo "Formatted Assignees: $ASSIGNEES" ISSUE_NUMBER=${{ steps.create_issue.outputs.number }} gh issue edit $ISSUE_NUMBER --add-assignee $ASSIGNEES env: From 7b40269d12b3d226aab4a5986fee0c75ed1e324a Mon Sep 17 00:00:00 2001 From: IsraelleHub <145595240+IsraelleHub@users.noreply.github.com> Date: Wed, 13 Nov 2024 11:47:06 -0600 Subject: [PATCH 62/67] add more reviewers --- .github/workflows/qa_required_approvals.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/qa_required_approvals.yml b/.github/workflows/qa_required_approvals.yml index 5169cc6ada4..fea9c5a5f57 100644 --- a/.github/workflows/qa_required_approvals.yml +++ b/.github/workflows/qa_required_approvals.yml @@ -50,10 +50,10 @@ jobs: if [[ $(jq '. | length' <<< "$approvals") -ge $required_approval_count ]] then - if [[ $(jq '[.[] | select(. | IN("timwright12", "alexandec", "theodur", "dumathane", "cadibemma", "Sparowhawk"))] | length' <<< "$approvals") -gt 0 ]] + if [[ $(jq '[.[] | select(. | IN("timwright12", "alexandec", "theodur", "dumathane", "cadibemma", "Sparowhawk", "narin"))] | length' <<< "$approvals") -gt 0 ]] then echo 'This PR has at least one engineer approval. Now checking for QA approval...' - if [[ $(jq '[.[] | select(. | IN("timwright12", "IsraelleHub", "rbontrager", "DJUltraTom", "TKDickson"))] | length' <<< "$approvals") -gt 0 ]] + if [[ $(jq '[.[] | select(. | IN("timwright12", "IsraelleHub", "rbontrager", "DJUltraTom", "TKDickson", "brea11y", "narin"))] | length' <<< "$approvals") -gt 0 ]] then echo 'This PR has QA and engineer approval to merge' exit 0 From 4d3f1653491dd36d47ae63e2f9594640ea96dbc9 Mon Sep 17 00:00:00 2001 From: Therese <94404065+TKDickson@users.noreply.github.com> Date: Wed, 13 Nov 2024 13:30:42 -0600 Subject: [PATCH 63/67] CU/9849-TKD-detox-Nav-bytext-removal (#10156) --- VAMobile/e2e/tests/Claims.e2e.ts | 19 ++++----- VAMobile/e2e/tests/Navigation.e2e.ts | 18 ++++---- VAMobile/e2e/tests/Prescriptions.e2e.ts | 57 ++++++++++++------------- VAMobile/e2e/tests/utils.ts | 9 ++-- 4 files changed, 52 insertions(+), 51 deletions(-) diff --git a/VAMobile/e2e/tests/Claims.e2e.ts b/VAMobile/e2e/tests/Claims.e2e.ts index c5ff4d13984..3e1cbe51138 100644 --- a/VAMobile/e2e/tests/Claims.e2e.ts +++ b/VAMobile/e2e/tests/Claims.e2e.ts @@ -48,7 +48,6 @@ export const ClaimsE2eIdConstants = { TAKE_OR_SELECT_PHOTOS_TEXT: 'Take or select photos', ACCEPTED_FILE_TYPES_TEXT: 'PDF (unlocked), GIF, JPEG, JPG, BMP, TXT', MAXIMUM_FILE_SIZE_LABEL: '50 megabytes', - CLAIMS_DETAILS_SCREEN_ID: 'ClaimDetailsScreen', CLAIMS_HISTORY_SCREEN_ID: 'claimsHistoryID', CLAIMS_DETAILS_BACK_ID: 'claimsDetailsBackTestID', CLAIMS_STATUS_ID: 'claimsStatusID', @@ -97,7 +96,7 @@ describe('Claims Screen', () => { await expect(element(by.id(ClaimsE2eIdConstants.CLAIM_4_STATUS_STEP_6_ID))).toExist() await expect(element(by.id(ClaimsE2eIdConstants.CLAIM_4_STATUS_STEP_7_ID))).toExist() await expect(element(by.id(ClaimsE2eIdConstants.CLAIM_4_STATUS_STEP_8_ID))).toExist() - await element(by.id(ClaimsE2eIdConstants.CLAIMS_DETAILS_SCREEN_ID)).scrollTo('top') + await element(by.id(CommonE2eIdConstants.CLAIMS_DETAILS_SCREEN_ID)).scrollTo('top') await element(by.id(ClaimsE2eIdConstants.CLAIMS_DETAILS_BACK_ID)).tap() }) @@ -126,7 +125,7 @@ describe('Claims Screen', () => { await setTimeout(2000) await waitFor(element(by.id(ClaimsE2eIdConstants.CLAIM_3_STATUS_STEP_2_ID))) .toBeVisible() - .whileElement(by.id(ClaimsE2eIdConstants.CLAIMS_DETAILS_SCREEN_ID)) + .whileElement(by.id(CommonE2eIdConstants.CLAIMS_DETAILS_SCREEN_ID)) .scroll(100, 'down') await setTimeout(2000) await element(by.text('Step 2')).tap() @@ -139,7 +138,7 @@ describe('Claims Screen', () => { }) it('Verify what you claimed section', async () => { - await element(by.id(ClaimsE2eIdConstants.CLAIMS_DETAILS_SCREEN_ID)).scrollTo('bottom') + await element(by.id(CommonE2eIdConstants.CLAIMS_DETAILS_SCREEN_ID)).scrollTo('bottom') await expect(element(by.text("What you've claimed"))).toExist() }) @@ -241,7 +240,7 @@ describe('Claims Screen', () => { //flag has been turned off per slack convo in DSVA, commenting tests out until it is turned back on // it('should verify submit evidence button exists', async () => { - // await element(by.id(ClaimsE2eIdConstants.CLAIMS_DETAILS_SCREEN_ID)).scrollTo('top') + // await element(by.id(CommonE2eIdConstants.CLAIMS_DETAILS_SCREEN_ID)).scrollTo('top') // await element(by.text('Submit evidence')).tap() // }) @@ -330,7 +329,7 @@ describe('Claims Screen', () => { element(by.id('Step 3 of 5. Evidence gathering, review, and decision. Current step. Step 1 through 2 complete.')), ) .toBeVisible() - .whileElement(by.id(ClaimsE2eIdConstants.CLAIMS_DETAILS_SCREEN_ID)) + .whileElement(by.id(CommonE2eIdConstants.CLAIMS_DETAILS_SCREEN_ID)) .scroll(100, 'down') await element( by.id('Step 3 of 5. Evidence gathering, review, and decision. Current step. Step 1 through 2 complete.'), @@ -361,7 +360,7 @@ describe('Claims Screen', () => { it('should verify details of claim on step 5', async () => { await element(by.id(ClaimsE2eIdConstants.CLAIMS_HISTORY_SCREEN_ID)).scrollTo('top') await element(by.id(ClaimsE2eIdConstants.CLAIM_2_ID)).tap() - await element(by.id(ClaimsE2eIdConstants.CLAIMS_DETAILS_SCREEN_ID)).scrollTo('bottom') + await element(by.id(CommonE2eIdConstants.CLAIMS_DETAILS_SCREEN_ID)).scrollTo('bottom') await element(by.id('Step 5 of 5. Complete. Complete.')).tap() await expect(element(by.text('Complete')).atIndex(1)).toExist() await element(by.id(ClaimsE2eIdConstants.CLAIMS_DETAILS_BACK_ID)).tap() @@ -393,7 +392,7 @@ describe('Claims Screen', () => { }) it('Verify what should I do if disagreement information', async () => { - await element(by.id(ClaimsE2eIdConstants.CLAIMS_DETAILS_SCREEN_ID)).scrollTo('bottom') + await element(by.id(CommonE2eIdConstants.CLAIMS_DETAILS_SCREEN_ID)).scrollTo('bottom') await element(by.id(ClaimsE2eIdConstants.CLAIMS_LEARN_WHAT_TO_DO)).atIndex(0).tap() await expect(element(by.text('What to do if you disagree with our decision')).atIndex(0)).toExist() await element(by.id(ClaimsE2eIdConstants.CLAIMS_DECISION_REVIEW_OPTIONS)).tap() @@ -411,7 +410,7 @@ describe('Claims Screen', () => { ).toExist() await expect(element(by.id(CommonE2eIdConstants.CALL_VA_PHONE_NUMBER_ID))).toExist() if (device.getPlatform() === 'android') { - await element(by.id(ClaimsE2eIdConstants.CLAIMS_DETAILS_SCREEN_ID)).scrollTo('bottom') + await element(by.id(CommonE2eIdConstants.CLAIMS_DETAILS_SCREEN_ID)).scrollTo('bottom') await device.disableSynchronization() await element(by.id(CommonE2eIdConstants.CALL_VA_PHONE_NUMBER_ID)).tap() await setTimeout(5000) @@ -422,7 +421,7 @@ describe('Claims Screen', () => { }) it('verify files tab infomation', async () => { - await element(by.id(ClaimsE2eIdConstants.CLAIMS_DETAILS_SCREEN_ID)).scrollTo('top') + await element(by.id(CommonE2eIdConstants.CLAIMS_DETAILS_SCREEN_ID)).scrollTo('top') await element(by.id(ClaimsE2eIdConstants.CLAIMS_FILES_ID)).tap() await expect(element(by.text("This claim doesn't have any files yet."))).toExist() }) diff --git a/VAMobile/e2e/tests/Navigation.e2e.ts b/VAMobile/e2e/tests/Navigation.e2e.ts index f98f8f7d516..7288c8f382b 100644 --- a/VAMobile/e2e/tests/Navigation.e2e.ts +++ b/VAMobile/e2e/tests/Navigation.e2e.ts @@ -216,17 +216,17 @@ const navigateToPage = async (key, navigationDicValue) => { const subNavigationArray = navigationArray[1] for (let k = 0; k < subNavigationArray.length - 1; k++) { if (subNavigationArray[k] === 'Review file requests') { - await waitFor(element(by.text('Review file requests'))) + await waitFor(element(by.id(CommonE2eIdConstants.ALERT_FILE_REQUEST_BUTTON_ID))) .toBeVisible() - .whileElement(by.id('ClaimDetailsScreen')) + .whileElement(by.id(CommonE2eIdConstants.CLAIMS_DETAILS_SCREEN_ID)) .scroll(100, 'up') } else if (subNavigationArray[k] === 'Received July 17, 2008') { await waitFor(element(by.text('Received July 17, 2008'))) .toBeVisible() - .whileElement(by.id('claimsHistoryID')) + .whileElement(by.id(CommonE2eIdConstants.CLAIMS_HISTORY_SCROLL_ID)) .scroll(100, 'down') } else if (subNavigationArray[k] === 'Files') { - await element(by.id('ClaimsDetailsScreen')).scrollTo('top') + await element(by.id(CommonE2eIdConstants.CLAIMS_DETAILS_SCREEN_ID)).scrollTo('top') } if (k == 0 && key in featureID) { @@ -248,22 +248,22 @@ const navigateToPage = async (key, navigationDicValue) => { } if (subNavigationArray.slice(-1)[0] === 'Review file requests') { - await waitFor(element(by.text('Review file requests'))) + await waitFor(element(by.id(CommonE2eIdConstants.ALERT_FILE_REQUEST_BUTTON_ID))) .toBeVisible() - .whileElement(by.id('ClaimDetailsScreen')) + .whileElement(by.id(CommonE2eIdConstants.CLAIMS_DETAILS_SCREEN_ID)) .scroll(100, 'up') } else if (subNavigationArray.slice(-1)[0] === 'Get prescription details') { await waitFor(element(by.label('CAPECITABINE 500MG TAB.'))) .toBeVisible() - .whileElement(by.id('PrescriptionHistory')) + .whileElement(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)) .scroll(50, 'down') } else if (subNavigationArray.slice(-1)[0] === 'Received June 12, 2008') { await waitFor(element(by.text('Received June 12, 2008'))) .toBeVisible() - .whileElement(by.id('claimsHistoryID')) + .whileElement(by.id(CommonE2eIdConstants.CLAIMS_HISTORY_SCROLL_ID)) .scroll(100, 'down') } else if (subNavigationArray.slice(-1)[0] === 'Files' || subNavigationArray.slice(-1)[0] === 'Submit evidence') { - await element(by.id('ClaimDetailsScreen')).scrollTo('top') + await element(by.id(CommonE2eIdConstants.CLAIMS_DETAILS_SCREEN_ID)).scrollTo('top') } if (subNavigationArray.slice(-1)[0] in featureID) { diff --git a/VAMobile/e2e/tests/Prescriptions.e2e.ts b/VAMobile/e2e/tests/Prescriptions.e2e.ts index c490c1f424d..23eced83151 100644 --- a/VAMobile/e2e/tests/Prescriptions.e2e.ts +++ b/VAMobile/e2e/tests/Prescriptions.e2e.ts @@ -48,7 +48,6 @@ export const PrescriptionsE2eIdConstants = { 'If you have questions about the status of your refill, contact your provider or local V-A pharmacy.', PRESCRIPTION_REFILL_REQUEST_SUMMARY_PENDING_BUTTON_TEXT: 'Go to all pending refills', PRESCRIPTION_BACK_ID: 'prescriptionsBackTestID', - PRESCRIPTION_HISTORY_SCROLL_ID: 'PrescriptionHistory', FILTER_PRESCRIPTIONS_TEST_ID: 'filterSortWrapperBoxTestID', PRESCRIPTION_GO_TO_MY_VA_HEALTH_LINK_ID: 'goToMyVAHealthPrescriptionHistoryID', PRESCRIPTION_DETAILS_BACK_ID: 'prescriptionsDetailsBackTestID', @@ -83,23 +82,23 @@ export async function validateSort( ) { it('should sort prescription data by ' + name, async () => { if (firstInstance) { - await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).scrollTo('top') + await element(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).scrollTo('top') await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_FILTER_BUTTON_ID)).tap() await element(by.text('All (31)')).atIndex(0).tap() await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_FILTER_APPLY_ID)).tap() } else { - await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) - await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) + await element(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) + await element(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) await element(by.id(CommonE2eIdConstants.PREVIOUS_PAGE_ID)).tap() - await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) - await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) - await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) + await element(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) + await element(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) + await element(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) await element(by.id(CommonE2eIdConstants.PREVIOUS_PAGE_ID)).tap() - await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) - await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) - await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) + await element(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) + await element(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) + await element(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) await element(by.id(CommonE2eIdConstants.PREVIOUS_PAGE_ID)).tap() - await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).scrollTo('top') + await element(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).scrollTo('top') } await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_FILTER_BUTTON_ID)).tap() await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_FILTER_MODAL_ID)).scrollTo('bottom') @@ -113,17 +112,17 @@ export async function validateSort( await element(by.text(name)).tap() await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_FILTER_APPLY_ID)).tap() await expect(element(by.text(firstPrescription)).atIndex(0)).toBeVisible() - await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) - await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) - await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) + await element(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) + await element(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) + await element(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) await element(by.id(CommonE2eIdConstants.NEXT_PAGE_ID)).tap() - await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) - await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) - await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) + await element(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) + await element(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) + await element(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) await element(by.id(CommonE2eIdConstants.NEXT_PAGE_ID)).tap() - await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) - await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) - await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) + await element(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) + await element(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) + await element(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).swipe('up', 'fast', 1.0) await element(by.id(CommonE2eIdConstants.NEXT_PAGE_ID)).tap() await expect(element(by.text(lastPrescription))).toBeVisible() }) @@ -161,7 +160,7 @@ describe('Prescriptions Screen', () => { await expect(element(by.text(PrescriptionsE2eIdConstants.PRESCRIPTION_ALL_NUMBER_OF_PRESCRIPTIONS_TEXT))).toExist() await waitFor(element(by.label('CAPECITABINE 500MG TAB.'))) .toBeVisible() - .whileElement(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)) + .whileElement(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)) .scroll(100, 'down') await expect( element(by.text(PrescriptionsE2eIdConstants.PRESCRIPTION_STATUS_LABEL_HEADER_TEXT)).atIndex(0), @@ -174,7 +173,7 @@ describe('Prescriptions Screen', () => { }) it('verify prescription refill warning label information', async () => { - await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).scrollTo('top') + await element(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).scrollTo('top') await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_REFILL_WARNING_ID)).tap() await expect(element(by.text("We can't refill some of your prescriptions in the app"))).toExist() await expect(element(by.label('Some V-A health facilities use a new electronic health record system.'))).toExist() @@ -206,7 +205,7 @@ describe('Prescriptions Screen', () => { it('verify prescription details information', async () => { await waitFor(element(by.label('CAPECITABINE 500MG TAB.'))) .toBeVisible() - .whileElement(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)) + .whileElement(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)) .scroll(50, 'down') await element(by.label(PrescriptionsE2eIdConstants.PRESCRIPTION_DETAILS_LABEL)).atIndex(0).tap() await expect(element(by.text('AMLODIPINE BESYLATE 10MG TAB'))).toExist() @@ -277,7 +276,7 @@ describe('Prescriptions Screen', () => { it('verify prescription tracking item specific info', async () => { await waitFor(element(by.label('CITALOPRAM HYDROBROMIDE 20MG TAB.'))) .toBeVisible() - .whileElement(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)) + .whileElement(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)) .scroll(500, 'down') await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_TRACKING_GET_TRACKING_ID)).atIndex(0).tap() await expect(element(by.label('Prescription number 3 6 3 6 8 5 6'))).toExist() @@ -316,7 +315,7 @@ describe('Prescriptions Screen', () => { it('verify tracking link for FEDEX works', async () => { await waitFor(element(by.label('LAMIVUDINE 100MG TAB.'))) .toBeVisible() - .whileElement(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)) + .whileElement(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)) .scroll(500, 'down') await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_TRACKING_GET_TRACKING_ID)).atIndex(1).tap() await expect(element(by.text('Delivery service: FEDEX'))).toExist() @@ -331,7 +330,7 @@ describe('Prescriptions Screen', () => { it('verify tracking info for multiple packages', async () => { await waitFor(element(by.label('LAMIVUDINE 150MG/ZIDOVUDINE 300MG TAB.'))) .toBeVisible() - .whileElement(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)) + .whileElement(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)) .scroll(500, 'down') await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_TRACKING_GET_TRACKING_ID)).atIndex(2).tap() await expect(element(by.text('Package 1 of 2'))).toExist() @@ -351,7 +350,7 @@ describe('Prescriptions Screen', () => { await openPrescriptions() await waitFor(element(by.label('LAMIVUDINE 150MG/ZIDOVUDINE 300MG TAB.'))) .toBeVisible() - .whileElement(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)) + .whileElement(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)) .scroll(500, 'down') await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_TRACKING_GET_TRACKING_ID)).atIndex(2).tap() }) @@ -388,7 +387,7 @@ describe('Prescriptions Screen', () => { }) it('verify refill request screen information', async () => { - await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).scrollTo('top') + await element(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)).scrollTo('top') await element(by.id(CommonE2eIdConstants.PRESCRIPTION_REFILL_BUTTON_ID)).tap() await expect(element(by.text('Refill request'))).toExist() await expect(element(by.text('Request refills at least 15 days before you need more medication.'))).toExist() @@ -456,7 +455,7 @@ describe('Prescriptions Screen', () => { await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_FILTER_APPLY_ID)).tap() await waitFor(element(by.label('CAPECITABINE 500MG TAB.'))) .toBeVisible() - .whileElement(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)) + .whileElement(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)) .scroll(500, 'down') await element(by.label(PrescriptionsE2eIdConstants.PRESCRIPTION_DETAILS_LABEL)).atIndex(0).tap() await element(by.id(PrescriptionsE2eIdConstants.PRESCRIPTION_REQUEST_REFILL_ID)).tap() diff --git a/VAMobile/e2e/tests/utils.ts b/VAMobile/e2e/tests/utils.ts index a54dbc36ad6..46bc189327c 100644 --- a/VAMobile/e2e/tests/utils.ts +++ b/VAMobile/e2e/tests/utils.ts @@ -94,6 +94,9 @@ export const CommonE2eIdConstants = { HOME_TAB_BUTTON_ID: 'Home', AF_APP_UPDATE_BUTTON_TOGGLE_ID: 'remoteConfigAppUpdateTestID', AF_ENABLE_TOGGLE_ID: 'remoteConfigEnableTestID', + CLAIMS_DETAILS_SCREEN_ID: 'ClaimDetailsScreen', + ALERT_FILE_REQUEST_BUTTON_ID: 'Review file requests', + PRESCRIPTION_HISTORY_SCROLL_ID: 'PrescriptionHistory', } /** Log the automation into demo mode @@ -516,13 +519,13 @@ const navigateToFeature = async (featureNavigationArray) => { } else if (featureNavigationArray[j] === 'Get prescription details') { await waitFor(element(by.label('CAPECITABINE 500MG TAB.'))) .toBeVisible() - .whileElement(by.id('PrescriptionHistory')) + .whileElement(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)) .scroll(50, 'down') await element(by.text(featureNavigationArray[j])).atIndex(0).tap() } else if (featureNavigationArray[j] === 'Get prescription tracking') { await waitFor(element(by.label('CITALOPRAM HYDROBROMIDE 20MG TAB.'))) .toBeVisible() - .whileElement(by.id('PrescriptionHistory')) + .whileElement(by.id(CommonE2eIdConstants.PRESCRIPTION_HISTORY_SCROLL_ID)) .scroll(50, 'down') await element(by.text(featureNavigationArray[j])).atIndex(0).tap() } else if ( @@ -549,7 +552,7 @@ const navigateToFeature = async (featureNavigationArray) => { ) { await waitFor(element(by.text(featureNavigationArray[j]))) .toBeVisible() - .whileElement(by.id('ClaimDetailsScreen')) + .whileElement(by.id(CommonE2eIdConstants.CLAIMS_DETAILS_SCREEN_ID)) .scroll(50, 'down') await element(by.text(featureNavigationArray[j])).tap() } else if (featureNavigationArray[j] === 'Request Refill') { From ff796771fa0d9ed01935e83829712adb59a6be0d Mon Sep 17 00:00:00 2001 From: Theo Bentum Date: Wed, 13 Nov 2024 12:02:26 -0800 Subject: [PATCH 64/67] bug/9925-Android15Biometrics (#10061) --- VAMobile/package.json | 2 +- .../screens/auth/LoginScreen/LoginScreen.tsx | 61 +++++++++++++----- .../src/store/slices/authSlice.sis.test.ts | 1 - VAMobile/src/store/slices/authSlice.ts | 64 ++++++++++++++----- VAMobile/src/utils/auth.ts | 2 +- VAMobile/yarn.lock | 39 ++--------- 6 files changed, 102 insertions(+), 67 deletions(-) diff --git a/VAMobile/package.json b/VAMobile/package.json index 5d0c6b47bed..350f90bf212 100644 --- a/VAMobile/package.json +++ b/VAMobile/package.json @@ -73,7 +73,7 @@ "react-native-haptic-feedback": "^2.3.3", "react-native-image-picker": "^7.1.2", "react-native-keyboard-manager": "^6.5.11-2", - "react-native-keychain": "^8.2.0", + "react-native-keychain": "^9.1.0", "react-native-localize": "^3.2.1", "react-native-notifications": "^5.1.0", "react-native-safe-area-context": "^4.10.9", diff --git a/VAMobile/src/screens/auth/LoginScreen/LoginScreen.tsx b/VAMobile/src/screens/auth/LoginScreen/LoginScreen.tsx index 04278ff1252..ecb2513de68 100644 --- a/VAMobile/src/screens/auth/LoginScreen/LoginScreen.tsx +++ b/VAMobile/src/screens/auth/LoginScreen/LoginScreen.tsx @@ -7,7 +7,16 @@ import AsyncStorage from '@react-native-async-storage/async-storage' import { Button, ButtonVariants } from '@department-of-veterans-affairs/mobile-component-library' -import { AlertWithHaptics, Box, CrisisLineButton, VALogo, VAScrollView, WaygateWrapper } from 'components' +import { + AlertWithHaptics, + Box, + CrisisLineButton, + LoadingComponent, + TextView, + VALogo, + VAScrollView, + WaygateWrapper, +} from 'components' import AppVersionAndBuild from 'components/AppVersionAndBuild' import { Events } from 'constants/analytics' import { NAMESPACE } from 'constants/namespaces' @@ -15,6 +24,7 @@ import { RootState } from 'store' import { AuthParamsLoadingStateTypeConstants } from 'store/api/types/auth' import { AuthState, FIRST_TIME_LOGIN, NEW_SESSION, loginStart, setPKCEParams } from 'store/slices/authSlice' import { DemoState, updateDemoMode } from 'store/slices/demoSlice' +import colors from 'styles/themes/VAColors' import { a11yLabelVA } from 'utils/a11yLabel' import { logAnalyticsEvent } from 'utils/analytics' import getEnv from 'utils/env' @@ -25,7 +35,7 @@ import DemoAlert from './DemoAlert' function LoginScreen() { const { t } = useTranslation(NAMESPACE.COMMON) - const { firstTimeLogin } = useSelector((state) => state.auth) + const { firstTimeLogin, loadingRefreshToken } = useSelector((state) => state.auth) const { authParamsLoadingState } = useSelector((state) => state.auth) const dispatch = useAppDispatch() @@ -105,7 +115,7 @@ function LoginScreen() { backgroundColor={theme.colors.background.main} /> - + {!loadingRefreshToken && } {demoMode && } + {loadingRefreshToken && ( + + + + {t('sync.progress.signin')} + + + )} - -