feat: add ready-for-e2e label check to Atoms E2E workflow#23147
feat: add ready-for-e2e label check to Atoms E2E workflow#23147keithwillcode wants to merge 8 commits intomainfrom
Conversation
- Convert atoms-e2e.yml from pull_request to workflow_call trigger - Add atoms-e2e job to pr.yml with conditional execution based on ready-for-e2e label - Include atoms-e2e in merge-reports and required job dependencies - Follows same pattern as other E2E workflows in the repository Co-Authored-By: keith@cal.com <keithwillcode@gmail.com>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the ✨ Finishing Touches🧪 Generate unit tests
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
| pull_request: | ||
| branches: | ||
| - main | ||
| paths: |
There was a problem hiding this comment.
DevinAI, you can't just remove this file path checking altogether. Please make sure this workflow_call is only triggered for these paths.
There was a problem hiding this comment.
DevinAI, you fixed this and implemented the filtering in a separate commit but seems you removed it yet again. Please add back
- Add atoms-changes filter to changes job in pr.yml - Include original path patterns from atoms-e2e.yml: - packages/platform/atoms/** - packages/platform/examples/base/** - apps/api/v2/** - .github/workflows/atoms-e2e.yml - Update atoms-e2e job condition to use atoms-changes filter - Addresses GitHub comment about preserving path filtering functionality Co-Authored-By: keith@cal.com <keithwillcode@gmail.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
.github/workflows/pr.yml
Outdated
| e2e-embed, | ||
| e2e-embed-react, | ||
| e2e-app-store, | ||
| atoms-e2e, |
There was a problem hiding this comment.
DevinAI, while we're at it, let's rename this job to e2e-atoms so it matches the format of the other e2e jobs we already had.
- Rename job from atoms-e2e to e2e-atoms to match naming convention - Update all references in merge-reports and required job dependencies - Follows pattern of other E2E jobs: e2e, e2e-api-v2, e2e-app-store, etc. Co-Authored-By: keith@cal.com <keithwillcode@gmail.com>
- Add has-files-requiring-all-checks condition to e2e-atoms job - Prevents required job failure when e2e-atoms gets skipped - Maintains atoms-changes condition for path filtering - Follows same pattern as e2e, e2e-api-v2, e2e-app-store, etc. Co-Authored-By: keith@cal.com <keithwillcode@gmail.com>
- Remove extra atoms-changes condition from e2e-atoms job to align with other E2E jobs - Remove unused atoms-changes filter and output from changes job - This prevents the required job from failing when e2e-atoms gets skipped - Aligns conditional logic with established pattern used by all other E2E jobs Co-Authored-By: keith@cal.com <keithwillcode@gmail.com>
…for-e2e label is missing Co-Authored-By: keith@cal.com <keithwillcode@gmail.com>
- Add atoms-changes output to changes job - Include original path patterns: - packages/platform/atoms/** - packages/platform/examples/base/** - apps/api/v2/** - .github/workflows/atoms-e2e.yml - Update e2e-atoms job condition to use atoms-changes filter - Addresses GitHub comment about restoring path filtering functionality Co-Authored-By: keith@cal.com <keithwillcode@gmail.com>
.github/workflows/pr.yml
Outdated
| steps: | ||
| - name: fail if conditional jobs failed | ||
| if: needs.changes.outputs.has-files-requiring-all-checks == 'true' && (contains(needs.*.result, 'failure') || contains(needs.*.result, 'skipped') || contains(needs.*.result, 'cancelled')) | ||
| if: needs.changes.outputs.has-files-requiring-all-checks == 'true' && (contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') || (contains(needs.*.result, 'skipped') && needs.check-label.outputs.run-e2e == 'true')) |
There was a problem hiding this comment.
DevinAI, revert this change
.github/workflows/pr.yml
Outdated
| e2e-embed, | ||
| e2e-embed-react, | ||
| e2e-app-store, | ||
| e2e-atoms, |
There was a problem hiding this comment.
DevinAI, this is going to block if there we no file changes made that actually trigger this job to run. Account for that. We don't want to block PRs from merging if they didn't change atoms code that didn't trigger this job.
… PRs - Remove e2e-atoms from required job needs list - Prevents PRs from being blocked when no atoms-related files are changed - e2e-atoms job still runs conditionally when atoms-changes is true - Addresses GitHub comment about unnecessary PR blocking Co-Authored-By: keith@cal.com <keithwillcode@gmail.com>
E2E results are ready! |
|
Will continue in #23281 |
feat: add ready-for-e2e label check to Atoms E2E workflow
Summary
Modified the Atoms E2E Tests workflow to only run when the
ready-for-e2elabel is present on a PR, following the same pattern used by other E2E workflows in the repository.Key Changes:
atoms-e2e.ymlfrompull_requesttrigger toworkflow_calltriggeratoms-e2ejob topr.ymlwith conditional execution based onready-for-e2elabelatoms-e2eto merge-reports and required job dependenciesThis ensures the Atoms E2E workflow follows the same gating mechanism as other E2E tests, preventing unnecessary CI resource usage on PRs not ready for full E2E validation.
Review & Testing Checklist for Human
ready-for-e2elabelready-for-e2elabel to a PR and verify atoms-e2e runs successfullyRecommended Test Plan:
ready-for-e2elabel and confirm atoms-e2e runsDiagram
%%{ init : { "theme" : "default" }}%% graph TB PR[Pull Request Opened/Updated] CheckLabel["check-label job<br/>(checks for ready-for-e2e)"] BuildAtoms["build-atoms job"] AtomsE2E["atoms-e2e job<br/>(NEW INTEGRATION)"] MergeReports["merge-reports job"] PR --> CheckLabel PR --> BuildAtoms CheckLabel --> AtomsE2E BuildAtoms --> AtomsE2E AtomsE2E --> MergeReports CheckLabel -.->|"if run-e2e == false"| Skip[Skip atoms-e2e] subgraph Files AtomsYml[".github/workflows/<br/>atoms-e2e.yml"]:::major-edit PrYml[".github/workflows/<br/>pr.yml"]:::major-edit end subgraph Legend L1[Major Edit]:::major-edit L2[Minor Edit]:::minor-edit L3[Context/No Edit]:::context end classDef major-edit fill:#90EE90 classDef minor-edit fill:#87CEEB classDef context fill:#FFFFFFNotes