-
Notifications
You must be signed in to change notification settings - Fork 46
Develop upgrades #3278
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Develop upgrades #3278
Changes from 250 commits
0d0c558
09463f0
b657e8e
9aa803e
0209ae1
28d9df2
f24226a
d7f6ffc
51f8e4d
af0239e
05333ea
146b766
6c3c51a
37e1495
e94bec4
6fa1273
cf96ea8
fd7ff74
403a6b9
bdb9943
464357c
04a4d21
ec8808a
b43f9b6
a26c1b6
d486681
af16cb3
51b0a0c
573611d
140f4ed
b47f4bb
299e6f5
a428e40
f7f79b3
814da8f
c9f8d70
5006b5e
3107594
ed4a165
f394ec7
ef8606f
6564f90
87190fe
f116a19
6bc046f
68b5b2e
f228527
4dd7d5a
2781ed3
4e81618
467cf06
4276a66
b9663e8
e2aea96
408518b
c5c6adb
02b1cf2
2a3f1cb
8127d65
ae5621f
6b6153b
f04216f
abe90e6
5f92adf
d2b9df9
24b7d71
fb39080
a3510a1
77b0fde
87ba1e9
882a9f8
64ea409
28af811
0909bb7
5fd65e6
d4664df
3e232b1
0113cea
002f3e7
5e2fe14
629d3ef
8cfed3e
9a44df1
b00a7f6
8d6ae99
13fb1af
835c717
5194677
c70d53a
922460d
13efcf8
d1f8ecd
c679afd
53e7028
53672eb
d1435cf
a942ad3
54e69cc
9201bb3
51d1a70
8245c6b
159a200
61f9b8b
f2445a2
e6b02ad
2e840db
0b7d0b2
9261086
a30461a
4a5ddce
9b97795
4f930f4
438041f
73f91f7
8a76437
7d565f3
d446157
7cc8d5d
cc95b45
bf74b24
af2126a
b7d4cf6
ed9c29f
c5c30aa
ef248df
b5db223
0af87b0
ead3b72
19fc281
99a3333
bec24be
aa848c6
b186cfd
5abd6c7
c219c4f
8b40dc4
c921ae9
51e8d80
ef0e0ce
b51a4af
b26a0d4
8fc8669
412445e
bfb79b0
5851e07
d900890
845a010
b8742ca
73fe27f
4d6e07c
4de31e4
901c807
c2b09c0
3405d1a
c8b2872
8639afd
16ce7a0
cd74a7c
3aa0ba4
0656fe4
38b9b93
01cb9e4
d944373
1d054f0
5e5c3fe
1d94eab
cdbe37d
2d2bd87
a68f7f1
22bae4a
7d86814
f13a3c7
ed75917
9059a2c
7ebfc97
cb3c9ad
2961318
d3774de
d9ed451
70444a5
29afdda
8d05547
8265698
cafb392
caebba5
7f67c64
b58336c
cf2c21d
cecb8c9
94b3a2e
9bb68c2
1fd322b
13f4234
5d3a1bc
be65ebd
fd9932a
57a038d
f7cb90d
743a5d2
e60ed91
8ffec71
a6808b2
b44e4cb
06d703c
b8c6963
d96c9cc
c0afc30
f2453ac
23ca2a6
5cbbce6
62e39cd
2fb6894
b6d3620
3e4836f
7ce5411
0dcd0b3
27f75cc
d040877
8567fb8
4201446
6fbed44
b48719d
4956abb
a273eff
9fbc07d
256c80c
65a5f9e
3757dde
85f63e2
7c7dbd2
bfad6ab
4a4048c
b51452e
ffd2949
6ee192a
14fd1b8
cf1e5ac
04a7179
4517f50
1691d28
56145d8
06777e8
093f19b
2ac4c63
b871852
a7a1dd3
cea8fb0
de763c6
b8e67c7
351115c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,16 @@ | ||||||||||||||||||||||||||||||||||
| ### Bugfix Request | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| #### JIRA ID | ||||||||||||||||||||||||||||||||||
| <!-- Provide a detailed description of the feature --> | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| #### Module | ||||||||||||||||||||||||||||||||||
| <!-- Provide a detailed description of the feature --> | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| #### Description | ||||||||||||||||||||||||||||||||||
| <!-- Provide a detailed description of the feature --> | ||||||||||||||||||||||||||||||||||
|
Comment on lines
+3
to
+10
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix placeholder text to match bugfix context. The placeholder comments for "JIRA ID," "Module," and "Description" all say "Provide a detailed description of the feature," which is incorrect for a bugfix template. Apply this diff: #### JIRA ID
-<!-- Provide a detailed description of the feature -->
+<!-- Provide the JIRA bug ticket ID -->
#### Module
-<!-- Provide a detailed description of the feature -->
+<!-- Specify the module or component with the bug -->
#### Description
-<!-- Provide a detailed description of the feature -->
+<!-- Provide a detailed description of the bug and the fix -->📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| ### Root Cause | ||||||||||||||||||||||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Make heading level consistent. "Root Cause" uses heading level 3 ( Apply this diff: -### Root Cause
+#### Root Cause📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||
| <!-- Describe the root cause of the bug. --> | ||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||
| #### Related Issues | ||||||||||||||||||||||||||||||||||
| <!-- Link any related GitHub issues here --> | ||||||||||||||||||||||||||||||||||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,13 @@ | ||||||
| ### Feature Request | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Nitpick | 🔵 Trivial Consider using a top-level heading. Markdown convention suggests the first heading in a file should be level 1 ( Apply this diff: -### Feature Request
+# Feature Request📝 Committable suggestion
Suggested change
🧰 Tools🪛 markdownlint-cli2 (0.18.1)1-1: First line in a file should be a top-level heading (MD041, first-line-heading, first-line-h1) 🤖 Prompt for AI Agents |
||||||
|
|
||||||
| #### JIRA ID | ||||||
| <!-- Provide a detailed description of the feature --> | ||||||
|
|
||||||
| #### Module | ||||||
| <!-- Provide a detailed description of the feature --> | ||||||
|
Comment on lines
+3
to
+7
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix placeholder text to match section context. The placeholder comments for "JIRA ID" and "Module" sections both say "Provide a detailed description of the feature," which is misleading. Each section should have contextually appropriate guidance. Apply this diff: #### JIRA ID
-<!-- Provide a detailed description of the feature -->
+<!-- Provide the JIRA ticket ID (e.g., HCMPRE-1234) -->
#### Module
-<!-- Provide a detailed description of the feature -->
+<!-- Specify the module or component affected (e.g., HRMS, PGR) -->🤖 Prompt for AI Agents |
||||||
|
|
||||||
| #### Description | ||||||
| <!-- Provide a detailed description of the feature --> | ||||||
|
|
||||||
| #### Related Issues | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Remove trailing whitespace. Line 12 has trailing whitespace that should be removed for clean markdown formatting. Apply this diff: -#### Related Issues
+#### Related Issues📝 Committable suggestion
Suggested change
🧰 Tools🪛 markdownlint-cli2 (0.18.1)12-12: Trailing spaces (MD009, no-trailing-spaces) 🤖 Prompt for AI Agents |
||||||
| <!-- Link any related GitHub issues here --> | ||||||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,16 @@ | ||||||
| ### Release Request | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Nitpick | 🔵 Trivial Consider using a top-level heading. Markdown convention suggests the first heading should be level 1 ( Apply this diff: -### Release Request
+# Release Request📝 Committable suggestion
Suggested change
🧰 Tools🪛 markdownlint-cli2 (0.18.1)1-1: First line in a file should be a top-level heading (MD041, first-line-heading, first-line-h1) 🤖 Prompt for AI Agents |
||||||
|
|
||||||
| #### JIRA ID | ||||||
| <!-- Provide a detailed description of the feature --> | ||||||
|
|
||||||
| #### Module | ||||||
| <!-- Provide a detailed description of the feature --> | ||||||
|
|
||||||
| #### Description | ||||||
| <!-- Provide a detailed description of the feature --> | ||||||
|
Comment on lines
+3
to
+10
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix placeholder text to match release context. The placeholder comments for "JIRA ID," "Module," and "Description" all say "Provide a detailed description of the feature," which is incorrect for a release template. They should reference release-specific information. Apply this diff: #### JIRA ID
-<!-- Provide a detailed description of the feature -->
+<!-- Provide the JIRA release ticket ID -->
#### Module
-<!-- Provide a detailed description of the feature -->
+<!-- Specify the modules included in this release -->
#### Description
-<!-- Provide a detailed description of the feature -->
+<!-- Provide a detailed description of the release -->🤖 Prompt for AI Agents |
||||||
|
|
||||||
| #### List of Features | ||||||
| <!-- Link any related GitHub issues here --> | ||||||
|
|
||||||
| #### List of Issues | ||||||
|
Comment on lines
+12
to
+15
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Remove trailing spaces. Lines 12 and 15 have trailing spaces, which violate markdown formatting standards. Apply this diff: -#### List of Features
+#### List of Features
<!-- Link any related GitHub issues here -->
-#### List of Issues
+#### List of Issues🧰 Tools🪛 markdownlint-cli2 (0.18.1)12-12: Trailing spaces (MD009, no-trailing-spaces) 15-15: Trailing spaces (MD009, no-trailing-spaces) 🤖 Prompt for AI Agents |
||||||
| <!-- Link any related GitHub issues here --> | ||||||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,25 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| #!/bin/sh | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # Get the current branch name | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # Define the pattern | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| PATTERN="^(FEATURE|BUGFIX|RELEASE)\/(HCMPRE|DPG|SN)-[0-9]{1,5}$" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # Check if the branch name matches the pattern | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| if [[ ! "$BRANCH_NAME" =~ $PATTERN ]]; then | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+1
to
+10
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix shell compatibility issue. The script uses Choose one solution: Solution 1 (recommended): Change shebang to bash: -#!/bin/sh
+#!/bin/bashSolution 2: Use POSIX-compatible syntax: -if [[ ! "$BRANCH_NAME" =~ $PATTERN ]]; then
+if ! echo "$BRANCH_NAME" | grep -Eq "$PATTERN"; then📝 Committable suggestion
Suggested change
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| echo "Branch name '$BRANCH_NAME' does not follow the correct pattern:" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| echo " - FEATURE/HCMPRE-<TICKET_NO>" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| echo " - FEATURE/DPG-<TICKET_NO>" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| echo " - FEATURE/SN-<TICKET_NO>" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| echo " - BUGFIX/HCMPRE-<TICKET_NO>" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| echo " - BUGFIX/DPG-<TICKET_NO>" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| echo " - BUGFIX/SN-<TICKET_NO>" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| echo " - RELEASE/HCMPRE-<TICKET_NO>" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| echo " - RELEASE/DPG-<TICKET_NO>" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+18
to
+19
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add missing RELEASE/SN example. The pattern allows Apply this diff: echo " - RELEASE/HCMPRE-<TICKET_NO>"
echo " - RELEASE/DPG-<TICKET_NO>"
+ echo " - RELEASE/SN-<TICKET_NO>"📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| echo "Where <TICKET_NO> is a number between 0 and 99999." | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Correct the ticket number range in documentation. The pattern Apply this diff: -echo "Where <TICKET_NO> is a number between 0 and 99999."
+echo "Where <TICKET_NO> is a 1-5 digit number (1-99999)."📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| exit 1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| fi | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| # If the pattern matches, allow the push | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| exit 0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+1
to
+25
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Nitpick | 🔵 Trivial Ensure the hook actually runs and harden it.
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,5 @@ | ||||||||||||||||||||||
| ## Choose the appropriate template for your PR: | ||||||||||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Nitpick | 🔵 Trivial Use a top‑level H1 for the first heading (markdownlint MD041). Change the opening heading to H1. -## Choose the appropriate template for your PR:
+# Choose the appropriate template for your PR:📝 Committable suggestion
Suggested change
🧰 Tools🪛 markdownlint-cli2 (0.18.1)1-1: First line in a file should be a top-level heading (MD041, first-line-heading, first-line-h1) 🤖 Prompt for AI Agents |
||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - [Feature PR](./PULL_REQUEST_TEMPLATE/feature_template.md) | ||||||||||||||||||||||
| - [Bugfix PR](./PULL_REQUEST_TEMPLATE/bugfix_template.md) | ||||||||||||||||||||||
| - [Release PR](./PULL_REQUEST_TEMPLATE/release_template.md) | ||||||||||||||||||||||
|
Comment on lines
+1
to
+5
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧹 Nitpick | 🔵 Trivial Add blank line after heading. Markdown style guidelines recommend surrounding headings with blank lines for better readability. Apply this diff: ## Choose the appropriate template for your PR:
+
- [Feature PR](./PULL_REQUEST_TEMPLATE/feature_template.md)📝 Committable suggestion
Suggested change
🧰 Tools🪛 markdownlint-cli2 (0.18.1)3-3: Headings should be surrounded by blank lines (MD022, blanks-around-headings) 🤖 Prompt for AI Agents |
||||||||||||||||||||||
| Original file line number | Diff line number | Diff line change | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,79 @@ | |||||||||||||||||||||||
| name: Branch and PR Name Validation | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| on: | |||||||||||||||||||||||
| push: | |||||||||||||||||||||||
| branches: | |||||||||||||||||||||||
| - master | |||||||||||||||||||||||
| - develop | |||||||||||||||||||||||
| - console | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| pull_request: | |||||||||||||||||||||||
| branches: | |||||||||||||||||||||||
| - master | |||||||||||||||||||||||
| - develop | |||||||||||||||||||||||
| - console | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| types: | |||||||||||||||||||||||
| - opened | |||||||||||||||||||||||
| - edited | |||||||||||||||||||||||
| - reopened | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| jobs: | |||||||||||||||||||||||
| validate-names: | |||||||||||||||||||||||
| runs-on: ubuntu-latest | |||||||||||||||||||||||
| steps: | |||||||||||||||||||||||
| - name: Checkout code | |||||||||||||||||||||||
| uses: actions/checkout@v3 | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| - name: Validate branch name | |||||||||||||||||||||||
| run: | | |||||||||||||||||||||||
| # Determine the branch name | |||||||||||||||||||||||
| if [[ "${GITHUB_EVENT_NAME}" == "pull_request" ]]; then | |||||||||||||||||||||||
| branch_name="${GITHUB_HEAD_REF}" | |||||||||||||||||||||||
| else | |||||||||||||||||||||||
| branch_name="${GITHUB_REF#refs/heads/}" | |||||||||||||||||||||||
| fi | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| # Define the branch name pattern | |||||||||||||||||||||||
| PREFIXES="FEATURE|BUGFIX|RELEASE" | |||||||||||||||||||||||
| PROJECTS="HCMPRE|DPG|SN|DUCE" | |||||||||||||||||||||||
| TICKET_PATTERN="[0-9]{1,5}" | |||||||||||||||||||||||
| BRANCH_PATTERN="^($PREFIXES)\/($PROJECTS)-$TICKET_PATTERN$" | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| # Validate the branch name | |||||||||||||||||||||||
| if [[ ! "$branch_name" =~ $BRANCH_PATTERN ]]; then | |||||||||||||||||||||||
| echo "Branch name '$branch_name' does not follow the correct pattern: $PREFIXES/$PROJECTS-<TICKET_NO> where <TICKET_NO> is $TICKET_PATTERN" | |||||||||||||||||||||||
| exit 1 | |||||||||||||||||||||||
| fi | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| - name: Validate PR title | |||||||||||||||||||||||
| if: ${{ github.event_name == 'pull_request' }} # Only for PR validation | |||||||||||||||||||||||
| run: | | |||||||||||||||||||||||
| # Define constants | |||||||||||||||||||||||
| PREFIXES="FEATURE|BUGFIX|RELEASE" | |||||||||||||||||||||||
| PROJECTS="HCMPRE|DPG|SN|DUCE" | |||||||||||||||||||||||
| TICKET_PATTERN="[0-9]{1,5}" | |||||||||||||||||||||||
| TITLE_PATTERN="^($PREFIXES)\/($PROJECTS)-$TICKET_PATTERN.*$" | |||||||||||||||||||||||
| MIN_TITLE_LENGTH=30 | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| # Fetch the latest PR title dynamically | |||||||||||||||||||||||
| pr_title=$(curl -s https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }} | jq -r '.title') | |||||||||||||||||||||||
| echo "Fetched PR title: $pr_title" | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| # Validate the PR title | |||||||||||||||||||||||
| if [[ ! "$pr_title" =~ $TITLE_PATTERN ]]; then | |||||||||||||||||||||||
| echo "PR title '$pr_title' does not follow the correct pattern: $PREFIXES/$PROJECTS-<TICKET_NO> : <Description> where <TICKET_NO> is $TICKET_PATTERN" | |||||||||||||||||||||||
| exit 1 | |||||||||||||||||||||||
| fi | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| # Validate the PR title length | |||||||||||||||||||||||
| if [[ ${#pr_title} -lt $MIN_TITLE_LENGTH ]]; then | |||||||||||||||||||||||
| echo "PR title '$pr_title' is too short. It must be at least $MIN_TITLE_LENGTH characters long, excluding the default pattern or ticket number." | |||||||||||||||||||||||
| exit 1 | |||||||||||||||||||||||
| fi | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
| echo "PR title validation passed." | |||||||||||||||||||||||
|
|
|||||||||||||||||||||||
|
|
|||||||||||||||||||||||
|
|
|||||||||||||||||||||||
|
Comment on lines
+23
to
+79
Check warningCode scanning / CodeQL Workflow does not contain permissions Medium
Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
Copilot AutofixAI about 1 month ago To address the problem, you should add a permissions:
contents: readThis change should be made as a new block after the
Suggested changeset
1
.github/workflows/branch-name-check.yml
Copilot is powered by AI and may make mistakes. Always verify output.
Positive FeedbackNegative Feedback
Refresh and try again.
|
|||||||||||||||||||||||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,231 @@ | ||||||||||||||||||||||||||||||||||||||
| name: Build Pipeline | ||||||||||||||||||||||||||||||||||||||
| run-name: Build ${{ github.event.inputs.pipeline_name }} | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| on: | ||||||||||||||||||||||||||||||||||||||
| workflow_dispatch: | ||||||||||||||||||||||||||||||||||||||
| inputs: | ||||||||||||||||||||||||||||||||||||||
| pipeline_name: | ||||||||||||||||||||||||||||||||||||||
| description: 'Name of the config pipeline to build and deploy' | ||||||||||||||||||||||||||||||||||||||
| required: true | ||||||||||||||||||||||||||||||||||||||
| type: choice | ||||||||||||||||||||||||||||||||||||||
| options: | ||||||||||||||||||||||||||||||||||||||
| - digit-ui | ||||||||||||||||||||||||||||||||||||||
| - core-ui | ||||||||||||||||||||||||||||||||||||||
| - workbench-ui | ||||||||||||||||||||||||||||||||||||||
| - sandbox-ui | ||||||||||||||||||||||||||||||||||||||
| - microplan-ui | ||||||||||||||||||||||||||||||||||||||
| - console | ||||||||||||||||||||||||||||||||||||||
| - dashboard-ui | ||||||||||||||||||||||||||||||||||||||
| - payments-ui | ||||||||||||||||||||||||||||||||||||||
| - storybook-svg | ||||||||||||||||||||||||||||||||||||||
| - storybook | ||||||||||||||||||||||||||||||||||||||
| - egov-bff | ||||||||||||||||||||||||||||||||||||||
| - core-digit-ui | ||||||||||||||||||||||||||||||||||||||
| - dss-ui | ||||||||||||||||||||||||||||||||||||||
| - hrms-ui | ||||||||||||||||||||||||||||||||||||||
| - karnataka-ui | ||||||||||||||||||||||||||||||||||||||
| - meghalaya-ui | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| env: | ||||||||||||||||||||||||||||||||||||||
| DOCKER_USERNAME: ${{ vars.DOCKER_USERNAME }} | ||||||||||||||||||||||||||||||||||||||
| DOCKER_PASSWORD: ${{ secrets.DOCKER_ACCESS_TOKEN }} | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| jobs: | ||||||||||||||||||||||||||||||||||||||
| resolve-config: | ||||||||||||||||||||||||||||||||||||||
| name: Resolve ${{ github.event.inputs.pipeline_name }} config | ||||||||||||||||||||||||||||||||||||||
| runs-on: ubuntu-latest | ||||||||||||||||||||||||||||||||||||||
| outputs: | ||||||||||||||||||||||||||||||||||||||
| work_dir: ${{ steps.setenv.outputs.work_dir }} | ||||||||||||||||||||||||||||||||||||||
| image_name: ${{ steps.setenv.outputs.image_name }} | ||||||||||||||||||||||||||||||||||||||
| dockerfile: ${{ steps.setenv.outputs.dockerfile }} | ||||||||||||||||||||||||||||||||||||||
| tag: ${{ steps.tag.outputs.tag }} | ||||||||||||||||||||||||||||||||||||||
| steps: | ||||||||||||||||||||||||||||||||||||||
| - name: Checkout Code | ||||||||||||||||||||||||||||||||||||||
| uses: actions/checkout@v3 | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| - name: Install yq | ||||||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||||||
| VERSION="4.30.8" | ||||||||||||||||||||||||||||||||||||||
| URL="https://github.com/mikefarah/yq/releases/download/v${VERSION}/yq_linux_amd64" | ||||||||||||||||||||||||||||||||||||||
| sudo curl -sSL "$URL" -o /usr/local/bin/yq | ||||||||||||||||||||||||||||||||||||||
| sudo chmod +x /usr/local/bin/yq | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| - name: Resolve env from build-config.yml | ||||||||||||||||||||||||||||||||||||||
| id: setenv | ||||||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||||||
| PIPELINE_NAME="${{ github.event.inputs.pipeline_name }}" | ||||||||||||||||||||||||||||||||||||||
| DEFAULT_DOCKERFILE="Dockerfile" | ||||||||||||||||||||||||||||||||||||||
| echo "### Pipeline Name - $PIPELINE_NAME" >> $GITHUB_STEP_SUMMARY | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| # Find exactly one matching config block | ||||||||||||||||||||||||||||||||||||||
| MATCHING_CONFIGS=$(yq eval -o=json '.config[] | select(.name | test("/'"$PIPELINE_NAME"'$"))' build/build-config.yml) | ||||||||||||||||||||||||||||||||||||||
| MATCH_COUNT=$(echo "$MATCHING_CONFIGS" | jq -s 'length') | ||||||||||||||||||||||||||||||||||||||
| if [ "$MATCH_COUNT" -ne 1 ]; then | ||||||||||||||||||||||||||||||||||||||
| echo "ERROR: Expected exactly 1 matching pipeline config, but found $MATCH_COUNT" | ||||||||||||||||||||||||||||||||||||||
| exit 1 | ||||||||||||||||||||||||||||||||||||||
| fi | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| # Extract fields | ||||||||||||||||||||||||||||||||||||||
| SERVICE_BUILD_CONFIG=$(echo "$MATCHING_CONFIGS" | jq -c '.build[] | select(.["image-name"])') | ||||||||||||||||||||||||||||||||||||||
| SERVICE_WORK_DIR=$(echo "$SERVICE_BUILD_CONFIG" | yq eval -r '.["work-dir"] // ""' -) | ||||||||||||||||||||||||||||||||||||||
| SERVICE_IMAGE_NAME=$(echo "$SERVICE_BUILD_CONFIG" | yq eval -r '.["image-name"] // ""' -) | ||||||||||||||||||||||||||||||||||||||
| SERVICE_DOCKERFILE=$(echo "$SERVICE_BUILD_CONFIG" | yq eval -r '.dockerfile // ""' -) | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| # Default Dockerfile if none specified | ||||||||||||||||||||||||||||||||||||||
| if [ -z "$SERVICE_DOCKERFILE" ]; then | ||||||||||||||||||||||||||||||||||||||
| SERVICE_DOCKERFILE="$SERVICE_WORK_DIR/$DEFAULT_DOCKERFILE" | ||||||||||||||||||||||||||||||||||||||
| fi | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| # Export | ||||||||||||||||||||||||||||||||||||||
| echo "SERVICE_WORK_DIR=$SERVICE_WORK_DIR" >> "$GITHUB_ENV" | ||||||||||||||||||||||||||||||||||||||
| echo "SERVICE_IMAGE_NAME=$SERVICE_IMAGE_NAME" >> "$GITHUB_ENV" | ||||||||||||||||||||||||||||||||||||||
| echo "SERVICE_DOCKERFILE=$SERVICE_DOCKERFILE" >> "$GITHUB_ENV" | ||||||||||||||||||||||||||||||||||||||
| echo "work_dir=$SERVICE_WORK_DIR" >> $GITHUB_OUTPUT | ||||||||||||||||||||||||||||||||||||||
| echo "image_name=$SERVICE_IMAGE_NAME" >> $GITHUB_OUTPUT | ||||||||||||||||||||||||||||||||||||||
| echo "dockerfile=$SERVICE_DOCKERFILE" >> $GITHUB_OUTPUT | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| # Put summary for the step | ||||||||||||||||||||||||||||||||||||||
| echo "#### Application Config Summary" >> $GITHUB_STEP_SUMMARY | ||||||||||||||||||||||||||||||||||||||
| echo "Application Work Directory - $SERVICE_WORK_DIR" >> $GITHUB_STEP_SUMMARY | ||||||||||||||||||||||||||||||||||||||
| echo "Image Name - $SERVICE_IMAGE_NAME" >> $GITHUB_STEP_SUMMARY | ||||||||||||||||||||||||||||||||||||||
| echo "Dockerfile Path - $SERVICE_DOCKERFILE" >> $GITHUB_STEP_SUMMARY | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| - name: Generate the Next Tag | ||||||||||||||||||||||||||||||||||||||
| id: tag | ||||||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||||||
| set -euxo pipefail | ||||||||||||||||||||||||||||||||||||||
| BRANCH="${GITHUB_REF##*/}" | ||||||||||||||||||||||||||||||||||||||
| COMMIT_HASH=$(git rev-parse --short HEAD) | ||||||||||||||||||||||||||||||||||||||
| SERVICE_NAME="${{ env.SERVICE_IMAGE_NAME }}" | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| TOKEN=$(curl -s -X POST "https://hub.docker.com/v2/users/login/" \ | ||||||||||||||||||||||||||||||||||||||
| -H "Content-Type: application/json" \ | ||||||||||||||||||||||||||||||||||||||
| -d "{\"username\": \"$DOCKER_USERNAME\", \"password\": \"$DOCKER_PASSWORD\"}" \ | ||||||||||||||||||||||||||||||||||||||
| | jq -r .token) | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| if [ -z "$TOKEN" ]; then | ||||||||||||||||||||||||||||||||||||||
| echo "Failed to authenticate with Docker Hub." >&2 | ||||||||||||||||||||||||||||||||||||||
| exit 1 | ||||||||||||||||||||||||||||||||||||||
| fi | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| # Check if repo exists | ||||||||||||||||||||||||||||||||||||||
| HTTP_CODE=$(curl -s -o /dev/null -w '%{http_code}' \ | ||||||||||||||||||||||||||||||||||||||
| -H "Authorization: JWT $TOKEN" \ | ||||||||||||||||||||||||||||||||||||||
| "https://hub.docker.com/v2/repositories/$DOCKER_USERNAME/$SERVICE_NAME/") | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| if [ "$HTTP_CODE" -ne 200 ]; then | ||||||||||||||||||||||||||||||||||||||
| NEXT_TAG="${BRANCH}-${COMMIT_HASH}" | ||||||||||||||||||||||||||||||||||||||
| else | ||||||||||||||||||||||||||||||||||||||
| EXISTING_TAGS=$(curl -s -H "Authorization: JWT $TOKEN" \ | ||||||||||||||||||||||||||||||||||||||
| "https://hub.docker.com/v2/repositories/$DOCKER_USERNAME/$SERVICE_NAME/tags?page_size=100" \ | ||||||||||||||||||||||||||||||||||||||
| | jq -r '.results[].name') | ||||||||||||||||||||||||||||||||||||||
| LATEST_TAG=$(echo "$EXISTING_TAGS" \ | ||||||||||||||||||||||||||||||||||||||
| | grep "^${BRANCH}-${COMMIT_HASH}" || true \ | ||||||||||||||||||||||||||||||||||||||
| | sort -V \ | ||||||||||||||||||||||||||||||||||||||
| | tail -n 1) | ||||||||||||||||||||||||||||||||||||||
| NEXT_TAG="${LATEST_TAG:-${BRANCH}-${COMMIT_HASH}}" | ||||||||||||||||||||||||||||||||||||||
| fi | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| echo "tag=$NEXT_TAG" >> "$GITHUB_OUTPUT" | ||||||||||||||||||||||||||||||||||||||
| echo "NEXT_TAG=$NEXT_TAG" >> "$GITHUB_ENV" | ||||||||||||||||||||||||||||||||||||||
| echo "tag - $NEXT_TAG" >> $GITHUB_STEP_SUMMARY | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| build-matrix: | ||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+35
to
+133
Check warningCode scanning / CodeQL Workflow does not contain permissions Medium
Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
Copilot AutofixAI about 1 month ago The problem is that the workflow does not declare a The change is a single addition to the top-level YAML keys in
Suggested changeset
1
.github/workflows/build.yaml
Copilot is powered by AI and may make mistakes. Always verify output.
Positive FeedbackNegative Feedback
Refresh and try again.
|
||||||||||||||||||||||||||||||||||||||
| name: Build application ${{ matrix.arch }} | ||||||||||||||||||||||||||||||||||||||
| needs: [resolve-config] | ||||||||||||||||||||||||||||||||||||||
| strategy: | ||||||||||||||||||||||||||||||||||||||
| matrix: | ||||||||||||||||||||||||||||||||||||||
| include: | ||||||||||||||||||||||||||||||||||||||
| - arch: amd64 | ||||||||||||||||||||||||||||||||||||||
| platform: linux/amd64 | ||||||||||||||||||||||||||||||||||||||
| runner: ubuntu-latest | ||||||||||||||||||||||||||||||||||||||
| - arch: arm64 | ||||||||||||||||||||||||||||||||||||||
| platform: linux/arm64 | ||||||||||||||||||||||||||||||||||||||
| runner: ubuntu-24.04-arm | ||||||||||||||||||||||||||||||||||||||
| runs-on: ${{ matrix.runner }} | ||||||||||||||||||||||||||||||||||||||
| outputs: | ||||||||||||||||||||||||||||||||||||||
| amd64_digest: ${{ steps.digest_amd64.outputs.digest }} | ||||||||||||||||||||||||||||||||||||||
| arm64_digest: ${{ steps.digest_arm64.outputs.digest }} | ||||||||||||||||||||||||||||||||||||||
| steps: | ||||||||||||||||||||||||||||||||||||||
| - name: Checkout Code | ||||||||||||||||||||||||||||||||||||||
| uses: actions/checkout@v3 | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| - name: Set up Docker Buildx | ||||||||||||||||||||||||||||||||||||||
| uses: docker/setup-buildx-action@v3 | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| - name: Cache Docker Layers | ||||||||||||||||||||||||||||||||||||||
| uses: actions/cache@v3 | ||||||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||||||
| path: /tmp/.buildx-cache | ||||||||||||||||||||||||||||||||||||||
| key: ${{ runner.os }}-${{ matrix.arch }}-buildx-${{ github.event.inputs.pipeline_name }}-${{ github.ref_name }} | ||||||||||||||||||||||||||||||||||||||
| restore-keys: | | ||||||||||||||||||||||||||||||||||||||
| ${{ runner.os }}-${{ matrix.arch }}-buildx-${{ github.event.inputs.pipeline_name }}- | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| - name: Log in to Docker Hub | ||||||||||||||||||||||||||||||||||||||
| uses: docker/login-action@v2 | ||||||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||||||
| username: ${{ env.DOCKER_USERNAME }} | ||||||||||||||||||||||||||||||||||||||
| password: ${{ env.DOCKER_PASSWORD }} | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| - name: Build image for ${{ matrix.arch }} | ||||||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||||||
| docker buildx build \ | ||||||||||||||||||||||||||||||||||||||
| --platform ${{ matrix.platform }} \ | ||||||||||||||||||||||||||||||||||||||
| --build-arg WORK_DIR=${{ needs.resolve-config.outputs.work_dir }} \ | ||||||||||||||||||||||||||||||||||||||
| --file ${{ needs.resolve-config.outputs.dockerfile }} \ | ||||||||||||||||||||||||||||||||||||||
| --tag egovio/${{ needs.resolve-config.outputs.image_name }}:${{ needs.resolve-config.outputs.tag }}-${{ matrix.arch }} \ | ||||||||||||||||||||||||||||||||||||||
| --cache-from=type=local,src=/tmp/.buildx-cache \ | ||||||||||||||||||||||||||||||||||||||
| --cache-to=type=local,dest=/tmp/.buildx-cache,mode=max \ | ||||||||||||||||||||||||||||||||||||||
| --push \ | ||||||||||||||||||||||||||||||||||||||
| --iidfile digest.txt \ | ||||||||||||||||||||||||||||||||||||||
| . | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| - name: Inspect Manifest List | ||||||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||||||
| docker buildx imagetools inspect egovio/${{ needs.resolve-config.outputs.image_name }}:${{ needs.resolve-config.outputs.tag }}-${{ matrix.arch }} | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| - name: Export Digest (amd64) | ||||||||||||||||||||||||||||||||||||||
| if: matrix.arch == 'amd64' | ||||||||||||||||||||||||||||||||||||||
| id: digest_amd64 | ||||||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||||||
| digest=$(docker buildx imagetools inspect \ | ||||||||||||||||||||||||||||||||||||||
| egovio/${{ needs.resolve-config.outputs.image_name }}:${{ needs.resolve-config.outputs.tag }}-${{ matrix.arch }} \ | ||||||||||||||||||||||||||||||||||||||
| --format '{{json .}}' | jq -r '.manifest.manifests[] | select(.platform.architecture=="amd64" and .platform.os=="linux") | .digest') | ||||||||||||||||||||||||||||||||||||||
| echo "digest=$digest" >> $GITHUB_OUTPUT | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| - name: Export Digest (arm64) | ||||||||||||||||||||||||||||||||||||||
| if: matrix.arch == 'arm64' | ||||||||||||||||||||||||||||||||||||||
| id: digest_arm64 | ||||||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||||||
| digest=$(docker buildx imagetools inspect \ | ||||||||||||||||||||||||||||||||||||||
| egovio/${{ needs.resolve-config.outputs.image_name }}:${{ needs.resolve-config.outputs.tag }}-${{ matrix.arch }} \ | ||||||||||||||||||||||||||||||||||||||
| --format '{{json .}}' | jq -r '.manifest.manifests[] | select(.platform.architecture=="arm64" and .platform.os=="linux") | .digest') | ||||||||||||||||||||||||||||||||||||||
| echo "digest=$digest" >> $GITHUB_OUTPUT | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| create-manifest: | ||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+134
to
+205
Check warningCode scanning / CodeQL Workflow does not contain permissions Medium
Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
Copilot AutofixAI about 1 month ago To fix the problem, we should set an explicit
No new methods, imports, or definitions are needed.
Suggested changeset
1
.github/workflows/build.yaml
Copilot is powered by AI and may make mistakes. Always verify output.
Positive FeedbackNegative Feedback
Refresh and try again.
|
||||||||||||||||||||||||||||||||||||||
| name: Create and Push Manifest | ||||||||||||||||||||||||||||||||||||||
| needs: [build-matrix, resolve-config] | ||||||||||||||||||||||||||||||||||||||
| runs-on: ubuntu-latest | ||||||||||||||||||||||||||||||||||||||
| steps: | ||||||||||||||||||||||||||||||||||||||
| - name: Log in to Docker Hub | ||||||||||||||||||||||||||||||||||||||
| uses: docker/login-action@v2 | ||||||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||||||
| username: ${{ env.DOCKER_USERNAME }} | ||||||||||||||||||||||||||||||||||||||
| password: ${{ env.DOCKER_PASSWORD }} | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| - name: Create and push manifest | ||||||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||||||
| docker manifest create egovio/${{ needs.resolve-config.outputs.image_name }}:${{ needs.resolve-config.outputs.tag }} \ | ||||||||||||||||||||||||||||||||||||||
| --amend egovio/${{ needs.resolve-config.outputs.image_name }}@${{ needs.build-matrix.outputs.amd64_digest }} \ | ||||||||||||||||||||||||||||||||||||||
| --amend egovio/${{ needs.resolve-config.outputs.image_name }}@${{ needs.build-matrix.outputs.arm64_digest }} | ||||||||||||||||||||||||||||||||||||||
| docker manifest push egovio/${{ needs.resolve-config.outputs.image_name }}:${{ needs.resolve-config.outputs.tag }} | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| - name: Cleanup local manifest refs | ||||||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||||||
| docker manifest rm egovio/${{ needs.resolve-config.outputs.image_name }}:${{ needs.resolve-config.outputs.tag }}-amd64 || true | ||||||||||||||||||||||||||||||||||||||
| docker manifest rm egovio/${{ needs.resolve-config.outputs.image_name }}:${{ needs.resolve-config.outputs.tag }}-arm64 || true | ||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||
| - name: Add summary to GitHub Actions | ||||||||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||||||||
| echo "- Image: egovio/${{ needs.resolve-config.outputs.image_name }}:${{ needs.resolve-config.outputs.tag }}" >> $GITHUB_STEP_SUMMARY | ||||||||||||||||||||||||||||||||||||||
| echo "- Platform: amd64, arm64" >> $GITHUB_STEP_SUMMARY | ||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+206
to
+231
Check warningCode scanning / CodeQL Workflow does not contain permissions Medium
Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {}
Copilot AutofixAI about 1 month ago To mitigate the risk, an explicit Steps:
Suggested changeset
1
.github/workflows/build.yaml
Copilot is powered by AI and may make mistakes. Always verify output.
Positive FeedbackNegative Feedback
Refresh and try again.
|
||||||||||||||||||||||||||||||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,4 +2,4 @@ | |
| accelerators/frontend/micro-ui-internals/node_modules/* | ||
| .idea | ||
| index.lock | ||
| utilities/ | ||
| utilities/project-factory/ | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧹 Nitpick | 🔵 Trivial
Consider using a top-level heading.
Markdown convention suggests the first heading should be level 1 (
#) rather than level 3 (###).Apply this diff:
📝 Committable suggestion
🧰 Tools
🪛 LanguageTool
[grammar] ~1-~1: Ensure spelling is correct
Context: ### Bugfix Request #### JIRA ID <!-- Provide a de...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🪛 markdownlint-cli2 (0.18.1)
1-1: First line in a file should be a top-level heading
(MD041, first-line-heading, first-line-h1)
🤖 Prompt for AI Agents