-
Notifications
You must be signed in to change notification settings - Fork 5
feat: add ECR build steps for transformer and user transformer images in CI workflows #4878
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: develop
Are you sure you want to change the base?
Conversation
|
Note
|
| Cohort / File(s) | Change Summary |
|---|---|
Tag generation & PR artifacts \.github/workflows/build-pr-artifacts.yml`` |
Tag derivation changed from branch-based to PR-number-based (pr-${{ github.event.pull_request.number }}); added PR-scoped ECR build jobs build-transformer-image-ecr and build-user-transformer-image-ecr that emit tag outputs. |
New ECR build workflow \.github/workflows/build-push-docker-image-ecr.yaml`` |
New workflow implementing multi-arch (amd64/arm64) builds, conditional test execution, check_actor gating (dependabot), AWS/ECR auth, buildx-based build/push, and manifest creation with build_type-driven tagging. |
Dev pipeline integration \.github/workflows/prepare-for-dev-deploy.yml`` |
Added build-transformer-image-ecr and build-user-transformer-image-ecr jobs calling the ECR workflow; pass tag outputs and dockerfile inputs; preserve existing gating and merge-SHA handling. |
Prod DT pipeline integration \.github/workflows/prepare-for-prod-dt-deploy.yml`` |
Added build-transformer-image-ecr job (uses ECR workflow) and updated create-pull-request to depend on the new ECR build job. |
Prod UT pipeline integration \.github/workflows/prepare-for-prod-ut-deploy.yml`` |
Added build-user-transformer-image-ecr job (uses ECR workflow) and extended create-pull-request needs to include the new ECR job. |
Staging pipeline integration \.github/workflows/prepare-for-staging-deploy.yml`` |
Added both build-transformer-image-ecr and build-user-transformer-image-ecr jobs and expanded create-pull-request needs to wait for the ECR builds. |
Sequence Diagram
sequenceDiagram
autonumber
participant GH as GitHub Actions
participant Check as check_actor
participant SHA as get_sha
participant Files as get_changed_files
participant BuildA as build-transformer-image-arm64
participant BuildB as build-transformer-image-amd64
participant Tests as Conditional Tests
participant ECR as Amazon ECR
participant Manifest as create-manifest
GH->>Check: start -> determine is_dependabot
Check-->>GH: is_dependabot
GH->>SHA: compute target sha
SHA-->>GH: sha
GH->>Files: inspect changed files -> should_execute_tests
Files-->>GH: should_execute_tests
par ARM64 path
GH->>BuildA: build & optionally load
alt should_execute_tests == true
BuildA->>Tests: run tests
Tests-->>BuildA: results
end
BuildA->>ECR: push arm64 image (if allowed)
and AMD64 path
GH->>BuildB: build & optionally load
alt should_execute_tests == true
BuildB->>Tests: run tests
Tests-->>BuildB: results
end
BuildB->>ECR: push amd64 image (if allowed)
end
Note over Check,ECR: skip AWS auth/push for dependabot
GH->>Manifest: create multi-arch manifest & tag variants
Manifest->>ECR: register manifest + tags
Manifest-->>GH: manifest created
Estimated code review effort
🎯 4 (Complex) | ⏱️ ~45 minutes
Possibly related PRs
- chore: skip pushing docker images for dependabot #4714 — Adds
check_actorand uses its output to gate ECR push/login steps (same gating logic). - chore: add slack notification for UT deployment PRs #4546 — Modifies the
prepare-for-prod-ut-deploy.ymlworkflow; overlaps with added ECR image build step and PR dependency changes. - chore: run ingestion svc test after artefacts build #4196 — Adjusts PR tag generation and build_tag usage in PR artifacts (related to the PR-number tag change).
Suggested reviewers
- sivashanmukh
- ItsSudip
- saikumarrs
- krishna2020
- maheshkutty
Pre-merge checks and finishing touches
❌ Failed checks (1 warning)
| Check name | Status | Explanation | Resolution |
|---|---|---|---|
| Description check | The PR description follows the template structure but contains only placeholder content without substantive implementation details, objectives, or explanations of the changes. | Replace placeholder text with actual details: explain what ECR build steps were added and why, specify the Linear task ID, describe objectives, and note any dependent changes or workflow impacts. |
✅ Passed checks (2 passed)
| Check name | Status | Explanation |
|---|---|---|
| Title check | ✅ Passed | The title accurately summarizes the main change: adding ECR build steps for transformer and user transformer images across multiple CI workflows. |
| Docstring Coverage | ✅ Passed | No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. |
✨ Finishing touches
🧪 Generate unit tests (beta)
- Create PR with unit tests
- Post copyable unit tests in a comment
- Commit unit tests in branch
mihir/pipe-2632
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Comment @coderabbitai help to get the list of available commands and usage tips.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #4878 +/- ##
========================================
Coverage 92.25% 92.25%
========================================
Files 654 654
Lines 35358 35384 +26
Branches 8315 8325 +10
========================================
+ Hits 32620 32645 +25
- Misses 2503 2504 +1
Partials 235 235 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Allure Test reports for this run are available at:
|
930f32c to
8872019
Compare
8872019 to
b96913e
Compare
|
Allure Test reports for this run are available at:
|
|
Allure Test reports for this run are available at:
|
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.
Actionable comments posted: 1
🧹 Nitpick comments (3)
.github/workflows/build-pr-artifacts.yml (1)
38-48: PR-number-based tagging is a good improvement.Using
pr-${{ github.event.pull_request.number }}instead of branch-derived names avoids issues with special characters like/in branch names and provides more predictable, cleaner tags.However, the comment on line 38 is now stale — it mentions "Replace problematic characters in branch name" but the implementation now uses PR numbers directly. Consider updating or removing this comment.
🔎 Suggested comment update
- # Replace problematic characters in branch name (like '/') with safe characters (like '.') + # Use PR number for consistent, clean tag names - name: Generate Tag Names.github/workflows/build-push-docker-image-ecr.yaml (2)
77-83: Shell conditional syntax is fragile.The current syntax
if ${{inputs.use_merge_sha}} == trueperforms string comparison in a fragile way. Whenuse_merge_shaistrue, this expands toif true == truewhich works, but the comparison relies on implicit shell behavior.Consider using proper shell conditional syntax for robustness:
🔎 Suggested fix
- name: Checkout SHA id: getSHA run: | - if ${{inputs.use_merge_sha}} == true; then + if [[ "${{ inputs.use_merge_sha }}" == "true" ]]; then sha=$(echo ${{github.sha}}) else sha=$(echo ${{ github.event.pull_request.head.sha }}) fi echo "SHA: $sha" echo "SHA=$sha" >> $GITHUB_OUTPUT
1-39: Well-structured reusable workflow with comprehensive inputs.The workflow definition includes all necessary inputs with appropriate types and defaults. The
workflow_urlinput appears unused in the current implementation — consider removing it if not needed, or documenting its intended purpose.If
workflow_urlinput is not being used, consider removing it to reduce confusion:skip_tests: type: boolean default: false description: if this option is true, we would skip tests while building docker image - workflow_url: - type: string
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (6)
.github/workflows/build-pr-artifacts.yml.github/workflows/build-push-docker-image-ecr.yaml.github/workflows/prepare-for-dev-deploy.yml.github/workflows/prepare-for-prod-dt-deploy.yml.github/workflows/prepare-for-prod-ut-deploy.yml.github/workflows/prepare-for-staging-deploy.yml
🧰 Additional context used
🪛 actionlint (1.7.9)
.github/workflows/build-push-docker-image-ecr.yaml
106-106: workflow command "set-output" was deprecated. use echo "{name}={value}" >> $GITHUB_OUTPUT instead: https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions
(deprecated-commands)
121-121: label "ubuntu-22" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-slim", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
🔇 Additional comments (11)
.github/workflows/prepare-for-prod-dt-deploy.yml (2)
74-89: LGTM! ECR build job correctly mirrors the DockerHub build configuration.The new
build-transformer-image-ecrjob appropriately replicates the parameters from the existingbuild-transformer-imagejob while targeting the ECR workflow. The conditional trigger, dependency ongenerate-tag-names, and build parameters (includingskip_testsfor hotfix branches) are all consistent.
94-94: Dependency chain correctly updated.Adding
build-transformer-image-ecrto theneedsarray ensures that the PR creation step waits for both DockerHub and ECR image builds to complete before proceeding with Helm chart updates..github/workflows/prepare-for-dev-deploy.yml (1)
93-120: ECR build jobs correctly added for dev environment.Both
build-transformer-image-ecrandbuild-user-transformer-image-ecrjobs appropriately mirror their DockerHub counterparts with consistent parameters. The use ofuse_merge_sha: truefor the transformer image and its absence for the user transformer image matches the existing pattern.Note: The
restart-k8s-deploymentandrestart-k8s-deployment-dedicatedjobs only depend onbuild-transformer-image(DockerHub), not on the new ECR builds. If you intend to deploy ECR images to dev K8s in the future, you may need to update these dependencies. Please confirm this is intentional for the current rollout strategy..github/workflows/build-pr-artifacts.yml (1)
83-110: ECR build jobs correctly added for PR artifacts.Both ECR jobs properly mirror the DockerHub build jobs with identical skip conditions and parameters. The dependency on
generate-tag-namesensures proper tag propagation..github/workflows/prepare-for-prod-ut-deploy.yml (2)
79-94: ECR build job for user transformer correctly configured.The
build-user-transformer-image-ecrjob appropriately mirrors the existingbuild-user-transformer-imagejob with all parameters includingbuild_type: ut,use_merge_sha: true, and theskip_testsconditional for hotfix releases.
99-99: Dependency chain correctly updated for PR creation.The
create-pull-requestjob now waits for both the DockerHub and ECR image builds to complete..github/workflows/prepare-for-staging-deploy.yml (2)
86-114: ECR build jobs for staging correctly added.Both ECR jobs appropriately mirror their DockerHub counterparts. The
use_merge_sha: trueis correctly applied only to the transformer image (not the user transformer), matching the existing pattern in the DockerHub jobs.
119-126: Comprehensive dependency chain for PR creation.The
create-pull-requestjob now properly waits for all four image builds (DockerHub and ECR variants for both transformer types) before proceeding with Helm chart updates..github/workflows/build-push-docker-image-ecr.yaml (3)
166-175: Clarify test execution logic.The condition
${{ inputs.skip_tests != true || needs.get_changed_files.outputs.should_execute_tests == 'true' }}means:
- Run tests if
skip_testsis false (expected behavior)- Also run tests if Docker-related files changed, even when
skip_testsis trueThis "override" behavior may be intentional (force tests when Dockerfiles change), but it could surprise users who explicitly set
skip_tests: truefor hotfix releases. Consider adding a comment to clarify this is the intended behavior.
295-309: Multi-arch manifest creation looks correct.The manifest creation properly combines the architecture-specific images (
-amd64and-arm64suffixes) into unified manifests. The conditionallatesttag updates fordtandutbuild types are appropriately scoped.
119-122: Confirm self-hosted runner labels are correctly configured.The
ubuntu-22label is used consistently across multiple workflows (build-push-docker-image-ecr.yaml and build-push-docker-image.yml), with no alternative variants likeubuntu-22.04in use. However, verify that your self-hosted ARM64 runners are actually tagged withubuntu-22in your runner configuration to ensure jobs can be scheduled successfully. This is a local infrastructure check outside the repository's workflow definitions.
| run: | | ||
| readarray -t modified_files <<<"$(jq -r '.[]' <<<'${{ steps.files.outputs.modified }}')" | ||
| echo "Modified files: $modified_files" | ||
| found=false | ||
| for modified_file in "${modified_files[@]}"; do | ||
| if [[ "$modified_file" == "Dockerfile" || "$modified_file" == "docker-compose.yml" || "$modified_file" == "Dockerfile" || "$modified_file" == "Dockerfile-ut-func" ]]; then | ||
| found=true | ||
| break | ||
| fi | ||
| done | ||
| echo "Match Found: $found" | ||
| echo "::set-output name=should_execute_tests::$found" |
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.
Fix deprecated set-output workflow command.
The ::set-output command is deprecated and will eventually stop working. Use the $GITHUB_OUTPUT environment file approach instead.
Additionally, there's a duplicate check for "Dockerfile" in line 111.
🔎 Suggested fix
- id: processing
run: |
readarray -t modified_files <<<"$(jq -r '.[]' <<<'${{ steps.files.outputs.modified }}')"
echo "Modified files: $modified_files"
found=false
for modified_file in "${modified_files[@]}"; do
- if [[ "$modified_file" == "Dockerfile" || "$modified_file" == "docker-compose.yml" || "$modified_file" == "Dockerfile" || "$modified_file" == "Dockerfile-ut-func" ]]; then
+ if [[ "$modified_file" == "Dockerfile" || "$modified_file" == "docker-compose.yml" || "$modified_file" == "Dockerfile-ut-func" ]]; then
found=true
break
fi
done
echo "Match Found: $found"
- echo "::set-output name=should_execute_tests::$found"
+ echo "should_execute_tests=$found" >> $GITHUB_OUTPUT📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| run: | | |
| readarray -t modified_files <<<"$(jq -r '.[]' <<<'${{ steps.files.outputs.modified }}')" | |
| echo "Modified files: $modified_files" | |
| found=false | |
| for modified_file in "${modified_files[@]}"; do | |
| if [[ "$modified_file" == "Dockerfile" || "$modified_file" == "docker-compose.yml" || "$modified_file" == "Dockerfile" || "$modified_file" == "Dockerfile-ut-func" ]]; then | |
| found=true | |
| break | |
| fi | |
| done | |
| echo "Match Found: $found" | |
| echo "::set-output name=should_execute_tests::$found" | |
| - id: processing | |
| run: | | |
| readarray -t modified_files <<<"$(jq -r '.[]' <<<'${{ steps.files.outputs.modified }}')" | |
| echo "Modified files: $modified_files" | |
| found=false | |
| for modified_file in "${modified_files[@]}"; do | |
| if [[ "$modified_file" == "Dockerfile" || "$modified_file" == "docker-compose.yml" || "$modified_file" == "Dockerfile-ut-func" ]]; then | |
| found=true | |
| break | |
| fi | |
| done | |
| echo "Match Found: $found" | |
| echo "should_execute_tests=$found" >> $GITHUB_OUTPUT |
🧰 Tools
🪛 actionlint (1.7.9)
106-106: workflow command "set-output" was deprecated. use echo "{name}={value}" >> $GITHUB_OUTPUT instead: https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions
(deprecated-commands)
🤖 Prompt for AI Agents
.github/workflows/build-push-docker-image-ecr.yaml lines 106-117: the job uses
the deprecated ::set-output command and also repeats "Dockerfile" in the
file-check condition; replace the set-output usage by appending
"should_execute_tests=$found" to the GITHUB_OUTPUT file (e.g. echo
"should_execute_tests=$found" >> "$GITHUB_OUTPUT") and remove the duplicate
"Dockerfile" entry from the if-statement so each filename is checked only once.
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.
Actionable comments posted: 1
♻️ Duplicate comments (1)
.github/workflows/build-push-docker-image-ecr.yaml (1)
103-115: Remove duplicate "Dockerfile" check.Line 109 contains a duplicate check for "Dockerfile". This is redundant and should be removed for clarity.
🔎 Suggested fix
- id: processing run: | readarray -t modified_files <<<"$(jq -r '.[]' <<<'${{ steps.files.outputs.modified }}')" echo "Modified files: $modified_files" found=false for modified_file in "${modified_files[@]}"; do - if [[ "$modified_file" == "Dockerfile" || "$modified_file" == "docker-compose.yml" || "$modified_file" == "Dockerfile" || "$modified_file" == "Dockerfile-ut-func" ]]; then + if [[ "$modified_file" == "Dockerfile" || "$modified_file" == "docker-compose.yml" || "$modified_file" == "Dockerfile-ut-func" ]]; then found=true break fi done echo "Match Found: $found" echo "should_execute_tests=$found" >> $GITHUB_OUTPUTNote: The
GITHUB_OUTPUTusage on line 115 is already correct and does not need to be changed.
📜 Review details
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.github/workflows/build-pr-artifacts.yml.github/workflows/build-push-docker-image-ecr.yaml
🧰 Additional context used
🪛 actionlint (1.7.9)
.github/workflows/build-push-docker-image-ecr.yaml
119-119: label "ubuntu-22" is unknown. available labels are "windows-latest", "windows-latest-8-cores", "windows-2025", "windows-2022", "windows-11-arm", "ubuntu-slim", "ubuntu-latest", "ubuntu-latest-4-cores", "ubuntu-latest-8-cores", "ubuntu-latest-16-cores", "ubuntu-24.04", "ubuntu-24.04-arm", "ubuntu-22.04", "ubuntu-22.04-arm", "macos-latest", "macos-latest-xl", "macos-latest-xlarge", "macos-latest-large", "macos-26-xlarge", "macos-26", "macos-15-intel", "macos-15-xlarge", "macos-15-large", "macos-15", "macos-14-xl", "macos-14-xlarge", "macos-14-large", "macos-14", "macos-13-xl", "macos-13-xlarge", "macos-13-large", "macos-13", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file
(runner-label)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (13)
- GitHub Check: Build Transformer Docker Image(ECR) - PR / Build Transformer Docker Image AMD64
- GitHub Check: Build User Transformer Docker Image(ECR) - PR / Build Transformer Docker Image AMD64
- GitHub Check: Build User Transformer Docker Image(ECR) - PR / Build Transformer Docker Image ARM64
- GitHub Check: Build Transformer Docker Image - PR / Build Transformer Docker Image ARM64
- GitHub Check: Build Transformer Docker Image - PR / Build Transformer Docker Image AMD64
- GitHub Check: Build User Transformer Docker Image - PR / Build Transformer Docker Image AMD64
- GitHub Check: Build User Transformer Docker Image - PR / Build Transformer Docker Image ARM64
- GitHub Check: Code Coverage
- GitHub Check: UT Tests
- GitHub Check: Check for formatting & lint errors
- GitHub Check: test_and_publish
- GitHub Check: Analyze (go)
- GitHub Check: Analyze (javascript-typescript)
🔇 Additional comments (10)
.github/workflows/build-pr-artifacts.yml (3)
83-96: LGTM - ECR transformer build job properly configured.The new ECR build job correctly mirrors the existing DockerHub build job with appropriate skip conditions and dependencies. Using OIDC authentication instead of secrets is a security improvement.
98-111: LGTM - User transformer ECR build job properly configured.The user transformer ECR build job is correctly configured with the appropriate Dockerfile and tag naming. Structure is consistent with the main transformer ECR job.
38-48: Tag naming strategy improved.Switching from branch-based to PR-number-based tags is cleaner and more predictable. PR numbers are immutable and avoid issues with special characters in branch names. All downstream consumers within the workflow correctly reference the output variables, ensuring no breaking changes. The conditional logic appropriately skips release and hotfix branches, which have their own separate tag generation in other deployment workflows.
.github/workflows/build-push-docker-image-ecr.yaml (7)
1-36: LGTM - Workflow inputs and permissions properly defined.The workflow inputs cover all necessary parameters for flexible image building, and permissions are correctly scoped for OIDC authentication with ECR.
39-60: LGTM - Dependabot check implemented correctly.The actor check logic is clear and uses the correct
GITHUB_OUTPUTformat for setting outputs.
117-123: Custom runner label is acceptable.Line 119 uses "ubuntu-22" which triggers an actionlint warning, but this is expected for custom self-hosted runner labels. The configuration is correct.
164-173: Verify test execution logic.The test condition on line 165 uses OR logic: tests run if
skip_tests != trueORfiles changed. This means tests will run even whenskip_tests=trueif relevant files changed, which may not be the intended behavior.If
skip_tests=trueis meant to always skip tests regardless of file changes, the logic should use AND instead of OR.Please confirm the intended behavior:
- Current behavior: Tests run if skip_tests is false OR if Dockerfile/docker-compose.yml changed
- Alternative behavior: Tests run only if skip_tests is false (and ignore file changes)
🔎 Suggested fix (if skip_tests should take precedence)
- name: Run Tests - if: ${{ inputs.skip_tests != true || needs.get_changed_files.outputs.should_execute_tests == 'true' }} + if: ${{ inputs.skip_tests != true && needs.get_changed_files.outputs.should_execute_tests == 'true' }} env: BUILD_TAG: ${{ steps.login-ecr.outputs.registry }}/${{ inputs.build_tag }} run: |Or, if tests should always run when skip_tests is false:
- name: Run Tests - if: ${{ inputs.skip_tests != true || needs.get_changed_files.outputs.should_execute_tests == 'true' }} + if: ${{ inputs.skip_tests != true }} env: BUILD_TAG: ${{ steps.login-ecr.outputs.registry }}/${{ inputs.build_tag }} run: |
175-191: LGTM - ARM64 build and push configured correctly.The multi-platform build step properly tags with architecture suffix and is correctly gated for dependabot. Cache configuration is commented out, which may be intentional during initial rollout.
192-266: LGTM - AMD64 build job mirrors ARM64 correctly.The AMD64 build job is properly structured and consistent with the ARM64 job. Note that the test execution condition on line 240 has the same logical consideration as mentioned for the ARM64 job.
267-307: LGTM - Multi-arch manifest creation properly implemented.The manifest creation job correctly combines ARM64 and AMD64 images and conditionally creates latest tags based on build_type. The logic ensures proper multi-architecture image publishing.
| - name: Checkout SHA | ||
| id: getSHA | ||
| run: | | ||
| if ${{inputs.use_merge_sha}} == true; then | ||
| sha=$(echo ${{github.sha}}) | ||
| else | ||
| sha=$(echo ${{ github.event.pull_request.head.sha }}) | ||
| fi | ||
| echo "SHA: $sha" | ||
| echo "SHA=$sha" >> $GITHUB_OUTPUT |
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.
Fix bash conditional syntax.
Line 75 uses incorrect syntax for the bash conditional. The expression if ${{inputs.use_merge_sha}} == true should use proper bash test syntax.
🔎 Suggested fix
- name: Checkout SHA
id: getSHA
run: |
- if ${{inputs.use_merge_sha}} == true; then
+ if [[ "${{inputs.use_merge_sha}}" == "true" ]]; then
sha=$(echo ${{github.sha}})
else
sha=$(echo ${{ github.event.pull_request.head.sha }})
fi
echo "SHA: $sha"
echo "SHA=$sha" >> $GITHUB_OUTPUT🤖 Prompt for AI Agents
In .github/workflows/build-push-docker-image-ecr.yaml around lines 72 to 81 the
bash conditional is using incorrect syntax (if ${{inputs.use_merge_sha}} ==
true). Replace it with a proper shell test that quotes the expanded GitHub input
and uses = (or == inside [[ ]]) with correct spacing and brackets, e.g. if [
"${{ inputs.use_merge_sha }}" = "true" ]; then, so the conditional evaluates
correctly and avoids syntax errors.
|
Allure Test reports for this run are available at:
|
|



What are the changes introduced in this PR?
Write a brief explainer on your code changes.
What is the related Linear task?
Resolves INT-XXX
Please explain the objectives of your changes below
Put down any required details on the broader aspect of your changes. If there are any dependent changes, mandatorily mention them here
Any changes to existing capabilities/behaviour, mention the reason & what are the changes ?
N/A
Any new dependencies introduced with this change?
N/A
Any new generic utility introduced or modified. Please explain the changes.
N/A
Any technical or performance related pointers to consider with the change?
N/A
@coderabbitai review
Developer checklist
My code follows the style guidelines of this project
No breaking changes are being introduced.
All related docs linked with the PR?
All changes manually tested?
Any documentation changes needed with this change?
Is the PR limited to 10 file changes?
Is the PR limited to one linear task?
Are relevant unit and component test-cases added in new readability format?
Reviewer checklist
Is the type of change in the PR title appropriate as per the changes?
Verified that there are no credentials or confidential data exposed with the changes.