chore(ci): replace AWS static credentials with GitHub OIDC#41700
chore(ci): replace AWS static credentials with GitHub OIDC#41700mohanarpit wants to merge 225 commits intoreleasefrom
Conversation
07/10 - Daily promotion
08/10 Daily Promotion
10/10 Daily Promotion
11/10 - Daily Promotion
14/10 Daily Promotion
17/10 Daily Promotion
18/10 Daily Promotion
21/10 Daily Promotion
23/10 Daily Promotion
24/10 Daily Promotion
25/10 Daily Promotion
28/10 Daily Promotion
30/10 Daily Promotion
05/11 Daily Promotion
06/11 Daily Promotion
11/11 Daily Promotion
12/11 Daily Promotion
15/11/24 Daily Promotion
18/11 Daily Promotion
19/11 - Daily promotion
21/11 Daily Promotion
22/11 Daily Promotion
25/11 - Daily promotion
Fixes issue where the detection for signup when using OAuth was not being handled correctly. [Slack conversation](https://theappsmith.slack.com/archives/C02K2MZERSL/p1732600773587469?thread_ts=1732554015.110689&cid=C02K2MZERSL). ## Automation /test sanity ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!WARNING] > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/12024883331> > Commit: d53fcdf > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=12024883331&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: @tag.Sanity > Spec: > It seems like **no tests ran** 😔. We are not able to recognize it, please check <a href="https://github.com/appsmithorg/appsmith/actions/runs/12024883331" target="_blank">workflow here</a>. > <hr>Tue, 26 Nov 2024 06:16:02 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Improved handling of user authentication success, enhancing the flow for email verification and OAuth2 authentication. - **Refactor** - Simplified the logic for determining user sign-up or login status. - Streamlined the method for handling OAuth2 redirects, improving clarity and maintainability. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
22/09 Daily Promotion
24/09 Daily Promotion
29/09 Daily Promotion
03/10 Daily Promotion
06/10 Daily Promotion
13/10 Daily Promotion
16/10 Daily Promotion
Daily promotion - 23/10
27/10 Daily Promotion
…1356) Changed the download link for Google Chrome version 129.0.6668.100 in the CI workflow to a new S3 location, ensuring continued access to the specified version for consistent testing environments. > [!TIP] > _Add a TL;DR when the description is longer than 500 words or extremely technical (helps the content, marketing, and DevRel team)._ > > _Please also include relevant motivation and context. List any dependencies that are required for this change. Add links to Notion, Figma or any other documents that might be relevant to the PR._ Fixes #`Issue Number` _or_ Fixes `Issue URL` > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ /ok-to-test tags="" <!-- This is an auto-generated comment: Cypress test results --> > [!CAUTION] > If you modify the content in this section, you are likely to disrupt the CI result for your PR. <!-- end of auto-generated comment: Cypress test results --> Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No ## Description > [!TIP] > _Add a TL;DR when the description is longer than 500 words or extremely technical (helps the content, marketing, and DevRel team)._ > > _Please also include relevant motivation and context. List any dependencies that are required for this change. Add links to Notion, Figma or any other documents that might be relevant to the PR._ Fixes #`Issue Number` _or_ Fixes `Issue URL` > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!CAUTION] > If you modify the content in this section, you are likely to disrupt the CI result for your PR. <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No
04/11 Daily Promotion
18/11 - Daily Promotion
02/12 Daily Promotion
…emory Git (#41442) ## Description EE Counterpart: appsmithorg/appsmith-ee#8468 Fixes #`Issue Number` _or_ Fixes `Issue URL` > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="@tag.Git" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/19896141793> > Commit: 478fefe > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=19896141793&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Git` > Spec: > <hr>Wed, 03 Dec 2025 14:41:38 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [x] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved error reporting for missing Git-related resources by including contextual details. * **Refactor** * Reorganized Git routing internals into a new layered implementation to simplify flow and improve reliability. * **Tests** * Updated tests to align with the restructured Git routing implementation. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> (cherry picked from commit cc1ea71)
…it-bug-fix fix: add code-split for fixing package version change bug
10/12 Daily Promotion
17/12 - Daily Promotion
20/01/2026 - Daily Promotion
17/02/26 - Daily Promotion
chore: 02/03/26 - Daily Promotion
18/03/2026 - Promotion
## Description Adds SSH key management support to the CE git connect flow. ### Changes - **Client – ConnectInitialize**: Added `formData.sshKeySource` and `formData.sshKeyId` to the `useEffect` dependency array so the connect step reacts to SSH key selection changes. - **Client – connectSaga**: Passed `sshKeyId` through in `ConnectRequestParams` so it reaches the backend on connect. - **Server – GitFSServiceCEImpl**: Fixed reactive chain by replacing `.flatMap` with `.then` on the `deleteLocalRepo` call during error handling, ensuring correct signal propagation. Fixes #`Issue Number` ## Automation /ok-to-test tags="@tag.Git" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/23242272689> > Commit: fc48d00 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=23242272689&attempt=3" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Git` > Spec: > <hr>Wed, 18 Mar 2026 12:38:06 UTC <!-- end of auto-generated comment: Cypress test results --> ## Test plan - [ ] Verify git connect flow works with SSH key selection in CE - [ ] Verify error handling during connect cleans up local repo correctly - [ ] Verify existing git connect flow without SSH key still works Made with [Cursor](https://cursor.com) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * SSH key selection now reliably triggers UI updates during Git initialization when the key source or chosen key changes. * The selected SSH key identifier is correctly included in Git connection requests so the intended key is used. * Remote repository error handling improved so analytics complete reliably and cleanup proceeds without disrupting subsequent steps. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
…GHSA-g2hc-wmw2-32jr) (#41624) ## Description Fixes a Broken Object-Level Authorization (BOLA/IDOR) vulnerability in the application snapshot deletion endpoint (GHSA-g2hc-wmw2-32jr). **Root cause:** `ApplicationSnapshotServiceCEImpl.deleteSnapshot` was calling `applicationSnapshotRepository.deleteAllByApplicationId` directly without performing any authorization check. Any authenticated user who knew a target application ID could send `DELETE /api/v1/applications/snapshot/{appId}` and successfully destroy that application's snapshots — including snapshots belonging to other users and tenants. **Fix:** Mirror the existing `restoreSnapshot` pattern in the same class. Resolve the application via `applicationService.findById(id, applicationPermission.getEditPermission())` before executing the delete. When the caller does not have edit permission on the application, `findById` returns empty, which triggers `switchIfEmpty` and returns `NO_RESOURCE_FOUND` to the caller — identical behavior to all other protected operations in this service. **Changes:** - `ApplicationSnapshotServiceCEImpl.java`: 5-line change to `deleteSnapshot` — permission check added, no interface or API signature changes - `ApplicationSnapshotServiceTest.java`: Updated existing `deleteSnapshot` happy-path test to run under a real user + owned application; added new regression test `deleteSnapshot_WhenUserHasNoAccess_ThrowsError` asserting that an inaccessible app ID returns `AppsmithError.NO_RESOURCE_FOUND` Fixes https://linear.app/appsmith/issue/APP-15032/high-broken-object-level-authorization-allows-non-owner-to-delete ## Automation /ok-to-test tags="@tag.All" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/23285869385> > Commit: e4911c0 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=23285869385&attempt=2" target="_blank">Cypress dashboard</a>. > Tags: `@tag.All` > Spec: > <hr>Thu, 19 Mar 2026 09:54:26 UTC <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [x] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Snapshot read and delete actions now validate application existence and user permissions before proceeding; unauthorized access returns a clear error. * **Tests** * Added tests covering access control for snapshot deletion and snapshot read-without-data to assert proper error handling for users without access. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
chore: cherry-pick (#41632) to master
## Description > [!TIP] > _Add a TL;DR when the description is longer than 500 words or extremely technical (helps the content, marketing, and DevRel team)._ > > _Please also include relevant motivation and context. List any dependencies that are required for this change. Add links to Notion, Figma or any other documents that might be relevant to the PR._ Fixes #`Issue Number` _or_ Fixes `Issue URL` > [!WARNING] > _If no issue exists, please create an issue first, and check with the maintainers if the issue is valid._ ## Automation /ok-to-test tags="" ### 🔍 Cypress test results <!-- This is an auto-generated comment: Cypress test results --> > [!CAUTION] > If you modify the content in this section, you are likely to disrupt the CI result for your PR. <!-- end of auto-generated comment: Cypress test results --> ## Communication Should the DevRel and Marketing teams inform users about this change? - [ ] Yes - [ ] No <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Enhanced exception handling framework to preserve error context and root cause information throughout application layers, improving error diagnostics and enabling more informative error messages for better troubleshooting and issue resolution. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
chore: improve error git route aspect rules (#41650)
Replace long-lived AWS access key/secret pairs in three GitHub Actions workflows with short-lived credentials via GitHub OIDC and aws-actions/configure-aws-credentials@v4. Affected workflows: - helm-release.yml: S3 Helm chart publish (new secret: HELM_AWS_ROLE_ARN) - cleanup-dp.yml: EKS deploy preview cleanup - on-demand-build-docker-image-deploy-preview.yml: EKS deploy preview deploy Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (11)
WalkthroughThis PR transitions AWS credentials from static environment variables to OIDC role assumption across three CI/CD workflows, extends Git SSH key handling with updated callback dependencies and payload parameters, strengthens exception chaining to preserve stack traces, refactors repository cleanup sequencing, and adds permission validation to snapshot service operations. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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 |
Summary
AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEYstatic credentials in three GitHub Actions workflows with short-lived OIDC tokens viaaws-actions/configure-aws-credentials@v4permissions: id-token: writeto each affected job to enable GitHub OIDC token issuancehelm-release.yml,cleanup-dp.yml,on-demand-build-docker-image-deploy-preview.ymlAWS setup required (one-time, before merging)
HELM_AWS_ROLE_ARN(new secret) — role with S3 read/write access to the Helm chart bucketAPPSMITH_EKS_AWS_ROLE_ARN(already exists) — role with EKS access for deploy previewsHELM_AWS_ACCESS_KEY_ID,HELM_AWS_SECRET_ACCESS_KEY,APPSMITH_CI_AWS_SECRET_ACCESS_KEY_ID,APPSMITH_CI_AWS_SECRET_ACCESS_KEY) can be deletedTest plan
HELM_AWS_ROLE_ARNGitHub secret is created with the correct IAM role ARNAPPSMITH_EKS_AWS_ROLE_ARNGitHub secret exists and the role has a trust policy for the GitHub OIDC providerhelm-release.ymlviaworkflow_dispatchand confirm Helm chart publishes to S3 successfullycleanup-dp.ymlviaworkflow_dispatchand confirm EKS cleanup runs without credential errors/build-deploy-previewto confirm deploy preview deploys successfully🤖 Generated with Claude Code
Summary by CodeRabbit
Release Notes
Bug Fixes
Chores