fix: ci/cd bug vercel non link#421
Conversation
Review or Edit in CodeSandboxOpen the branch in Web Editor • VS Code • Insiders |
|
|
|
@github-actions[bot] is attempting to deploy a commit to the dargon789's projects Team on Vercel. A member of the Team first needs to authorize it. |
There was a problem hiding this comment.
The pull request #421 has too many files changed.
We can only review pull requests with up to 300 changed files, and this pull request has 971.
⛔ Snyk checks have failed. 83 issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
Head branch was pushed to by a user without write access
Head branch was pushed to by a user without write access
Head branch was pushed to by a user without write access
Head branch was pushed to by a user without write access
Head branch was pushed to by a user without write access
There was a problem hiding this comment.
Additional Comments:
packages/ui/src/composites/wui-certified-switch/styles.ts (line 24):
The CSS selector references wui-switch but the component actually uses wui-toggle, causing the styles to not be applied to the correct element.
View Details
📝 Patch Details
diff --git a/packages/ui/src/composites/wui-certified-switch/styles.ts b/packages/ui/src/composites/wui-certified-switch/styles.ts
index 84eccde7c..d45ad2bc9 100644
--- a/packages/ui/src/composites/wui-certified-switch/styles.ts
+++ b/packages/ui/src/composites/wui-certified-switch/styles.ts
@@ -21,7 +21,7 @@ export default css`
cursor: pointer;
}
- wui-switch {
+ wui-toggle {
pointer-events: none;
}
`
Analysis
CSS selector mismatch in wui-certified-switch prevents pointer-events styling
What fails: CSS selector wui-switch in packages/ui/src/composites/wui-certified-switch/styles.ts targets non-existent element, while component renders <wui-toggle>
How to reproduce:
- Examine packages/ui/src/composites/wui-certified-switch/index.ts - uses
<wui-toggle>element - Check packages/ui/src/composites/wui-certified-switch/styles.ts line 24 - targets
wui-switch - In Shadow DOM, CSS selector won't match actual rendered element
Result: pointer-events: none style not applied to toggle element, potentially allowing unintended pointer interactions
Expected: CSS selector should match the actual rendered element per Lit Shadow DOM styling docs - selectors target elements within shadow root
| working-directory: ./apps/laboratory/ | ||
| run: pnpm playwright:test:canary | ||
|
|
||
| - name: List blob reports directory before upload | ||
| if: always() # Run even if previous steps failed, to see state | ||
| working-directory: ${{ github.workspace }}/apps/laboratory/ | ||
| run: | | ||
| echo "Listing contents of playwright-blob-reports in ${{ github.workspace }}/apps/laboratory/playwright-blob-reports/" | ||
| ls -la playwright-blob-reports/ | ||
| continue-on-error: true # Don't fail the job if ls fails or dir doesn't exist | ||
|
|
||
| - uses: actions/upload-artifact@v4 | ||
| if: failure() | ||
| with: | ||
| name: playwright-report-${{ matrix.shard }} | ||
| path: ./apps/laboratory/playwright-report/ | ||
| path: ${{ github.workspace }}/apps/laboratory/playwright-report/ | ||
| retention-days: 7 | ||
|
|
||
| - name: Upload Playwright Blob Report for Shard ${{ matrix.shard }} | ||
| uses: actions/upload-artifact@v4 | ||
| # When we run this workflow from AppKit, PW does separate reports by shard. We should upload the shard-specific report.zip. | ||
| if: always() && contains(github.workspace, 'appkit') | ||
| with: | ||
| # Upload every blob in the directory so the step succeeds regardless of the exact filename | ||
| name: playwright-blob-artifact-shard-${{ env.BRANCH_NAME }}-${{ matrix.shard }} | ||
| path: ${{ github.workspace }}/apps/laboratory/playwright-blob-reports/*.zip | ||
| retention-days: 7 | ||
|
|
||
| - name: Verify Cache Dir Exists Before Post Job | ||
| run: | | ||
| echo "Checking cache directory just before post-job phase:" | ||
| ls -la /tmp/playwright_cache # Use workspace path | ||
| continue-on-error: true # Don't fail the job if ls fails | ||
|
|
||
| merge_reports: |
Check warning
Code scanning / CodeQL
Workflow does not contain permissions
| needs: ui_tests # Ensures this job runs only after all 'test' (sharded) jobs complete | ||
| if: always() && inputs.build-and-cache-only == false # Run this job if ui_tests ran (even if it failed), but not if ui_tests was skipped. | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout code | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| repository: reown-com/appkit | ||
| ref: ${{ inputs.branch }} | ||
|
|
||
| - name: Set Branch Name with Underscores | ||
| run: | | ||
| BRANCH_NAME=${BRANCH_NAME//\//_} # replace all slashes with underscores | ||
| echo "BRANCH_NAME=${BRANCH_NAME}" >> $GITHUB_ENV | ||
| echo "BRANCH_NAME is $BRANCH_NAME" | ||
|
|
||
| - uses: pnpm/action-setup@v4 | ||
| name: Install pnpm | ||
|
|
||
| - name: setup-node | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: 22.x | ||
| cache: 'pnpm' | ||
|
|
||
| # Download actual artifact in GitHub Actions | ||
| - name: Download node_modules (GitHub Actions) | ||
| uses: actions/download-artifact@v4 | ||
| with: | ||
| name: ${{ 'ui-node-modules-' }}${{ env.BRANCH_NAME }} | ||
| path: node_modules # Specify path to download into | ||
|
|
||
| - name: Install dependencies # Install again to link binaries, etc. | ||
| run: pnpm install --frozen-lockfile | ||
|
|
||
| - name: Install Playwright system dependencies | ||
| if: steps.playwright-cache.outputs.cache-hit == 'true' # <-- Re-enable condition | ||
| working-directory: ./apps/laboratory/ | ||
| run: pnpm playwright:install-deps | ||
|
|
||
| - name: Download all shard blob reports | ||
| uses: actions/download-artifact@v4 | ||
| with: | ||
| path: all-blob-reports # Directory to download all artifacts into (becomes ${{ github.workspace }}/all-blob-reports) | ||
| pattern: playwright-blob-artifact-shard-${{ env.BRANCH_NAME }}* # Matches all NEW shard blob artifacts | ||
| merge-multiple: true # Merges contents of all matching artifacts into the 'path' directory | ||
|
|
||
| - name: Verify downloaded blobs (optional debugging) | ||
| run: ls -R ${{ github.workspace }}/all-blob-reports | ||
|
|
||
| - name: Ensure merged report directory exists | ||
| run: mkdir -p ${{ github.workspace }}/apps/laboratory/playwright-report/ | ||
|
|
||
| - name: Merge Playwright blob reports | ||
| # This command merges blobs from '${{ github.workspace }}/all-blob-reports' and creates new reports. | ||
| # It uses playwright-merge.config.ts to reconcile differing testDir paths from shards | ||
| # and to define the output reporters (HTML and JSON). | ||
| # Output will be in './apps/laboratory/playwright-report/' (relative to working-directory) | ||
| run: pnpm exec playwright merge-reports -c playwright-merge.config.ts ${{ github.workspace }}/all-blob-reports | ||
| working-directory: ./apps/laboratory # Playwright outputs to playwright-report here | ||
|
|
||
| - name: Rename merged JSON report for clarity | ||
| run: mv ${{ github.workspace }}/apps/laboratory/report.json ${{ github.workspace }}/apps/laboratory/merged-test-results.json | ||
| # This step makes the final JSON artifact name more explicit. | ||
|
|
||
| - name: Determine Build Context for S3 Path | ||
| id: build_context | ||
| if: inputs.build_trigger_type != '' | ||
| run: | | ||
| TRIGGER="${{ inputs.build_trigger_type }}" | ||
| CONTEXT="unknown-trigger" | ||
| if [ "$TRIGGER" == "merge_group" ]; then | ||
| CONTEXT="merge-queue" | ||
| elif [ "$TRIGGER" == "pull_request" ]; then | ||
| CONTEXT="pull-request" | ||
| elif [ "$TRIGGER" == "push" ]; then # Could be push to main or other branches | ||
| if [ "${{ github.ref_name }}" == "main" ]; then | ||
| CONTEXT="push-main" | ||
| else | ||
| CONTEXT="push-branch-${{ github.ref_name }}" | ||
| fi | ||
| fi | ||
| echo "BUILD_CONTEXT=$CONTEXT" >> $GITHUB_ENV | ||
| echo "Derived context: $CONTEXT" | ||
|
|
||
| # TODO: Migrate to OIDC | ||
| - name: Configure AWS Credentials | ||
| if: inputs.build_trigger_type != '' # Also skip if not uploading | ||
| uses: aws-actions/configure-aws-credentials@v4 | ||
| with: | ||
| aws-access-key-id: ${{ secrets.PLAYWRIGHT_REPORT_AWS_ACCESS_KEY_ID }} | ||
| aws-secret-access-key: ${{ secrets.PLAYWRIGHT_REPORT_AWS_SECRET_ACCESS_KEY }} | ||
| aws-region: eu-central-1 | ||
|
|
||
| - name: Upload Merged JSON Report to S3 | ||
| if: inputs.build_trigger_type != '' && always() | ||
| run: | | ||
| S3_BUCKET="reown.appkit.e2e.reports" | ||
| S3_PREFIX="appkit/playwright-results" | ||
| FILE_NAME="merged-test-results.json" | ||
| year=$(date +%Y) | ||
| month=$(date +%m) | ||
| day=$(date +%d) | ||
| S3_KEY="${S3_PREFIX}/year=${year}/month=${month}/day=${day}/${{ env.BUILD_CONTEXT }}/${{ github.run_id }}-$(date +%s)-${FILE_NAME}" | ||
|
|
||
| echo "Uploading ${{ github.workspace }}/apps/laboratory/merged-test-results.json to s3://${S3_BUCKET}/${S3_KEY}" | ||
| aws s3 cp ${{ github.workspace }}/apps/laboratory/merged-test-results.json s3://${S3_BUCKET}/${S3_KEY} | ||
|
|
||
| - name: List Contents of Playwright Report Directory | ||
| run: | | ||
| echo "Listing contents of the playwright-report directory for debugging:" | ||
| ls -l ${{ github.workspace }}/apps/laboratory/playwright-report/ | ||
|
|
||
| - name: Upload Merged HTML Report | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: playwright-merged-html-report-${{ env.BRANCH_NAME }} | ||
| path: ${{ github.workspace }}/apps/laboratory/playwright-report/ # Contains the merged HTML report | ||
| retention-days: 7 | ||
|
|
||
| - name: Upload Merged JSON Report (for custom processing) | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: playwright-merged-json-report-${{ env.BRANCH_NAME }} | ||
| path: ${{ github.workspace }}/apps/laboratory/merged-test-results.json # The consolidated JSON report | ||
| retention-days: 7 |
Check warning
Code scanning / CodeQL
Workflow does not contain permissions
There was a problem hiding this comment.
Additional Comments:
apps/gallery/CHANGELOG.md (line 1):
The changelog header still references the old package name "@apps/gallery-new" instead of the current "@apps/gallery".
View Details
📝 Patch Details
diff --git a/apps/gallery/CHANGELOG.md b/apps/gallery/CHANGELOG.md
index 226a9cd6f..8997ad763 100644
--- a/apps/gallery/CHANGELOG.md
+++ b/apps/gallery/CHANGELOG.md
@@ -1,4 +1,4 @@
-# @apps/gallery-new
+# @apps/gallery
## 1.4.1
Analysis
Stale package name reference in gallery/CHANGELOG.md header
What fails: CHANGELOG.md header shows # @apps/gallery-new but package.json defines the current package name as @apps/gallery
How to reproduce:
# Compare changelog header with package name
head -1 apps/gallery/CHANGELOG.md # Shows: # @apps/gallery-new
grep '"name"' apps/gallery/package.json # Shows: "name": "@apps/gallery"Result: Changelog header references outdated package name @apps/gallery-new instead of current name @apps/gallery
Expected: Changelog header should match the actual package name defined in package.json for consistency and to avoid confusion about which package the changelog belongs to
There was a problem hiding this comment.
Additional Comments:
packages/controllers/src/controllers/ExchangeController.ts (lines 279-282):
The handlePayWithExchange method sets isPaymentInProgress = true but doesn't reset it to false in the error handler, leaving the UI stuck in a loading state when payment initialization fails.
View Details
📝 Patch Details
diff --git a/packages/controllers/src/controllers/ExchangeController.ts b/packages/controllers/src/controllers/ExchangeController.ts
index 9ecba038d..3d844d518 100644
--- a/packages/controllers/src/controllers/ExchangeController.ts
+++ b/packages/controllers/src/controllers/ExchangeController.ts
@@ -278,6 +278,7 @@ export const ExchangeController = {
popupWindow.location.href = payUrl.url
} catch (error) {
state.error = 'Unable to initiate payment'
+ state.isPaymentInProgress = false
SnackController.showError(state.error)
}
},
Analysis
handlePayWithExchange leaves isPaymentInProgress=true when payment initialization fails
What fails: ExchangeController.handlePayWithExchange() sets state.isPaymentInProgress = true but doesn't reset it to false in the catch block, leaving UI in loading state when payment fails to initialize
How to reproduce:
// Block popups in browser or simulate network error
// Call handlePayWithExchange when popup is blocked:
ExchangeController.handlePayWithExchange('test-exchange')
// Error occurs, catch block executes, but isPaymentInProgress remains trueResult: UI remains in loading/processing state indefinitely after error - state.isPaymentInProgress stays true
Expected: Should reset state.isPaymentInProgress = false in catch block (line 280), consistent with patterns in getBuyStatus() (line 329) and reset() (line 364) methods
|
Deployment failed with the following error: Learn More: https://vercel.com/dargon789-forge?upgradeToPro=build-rate-limit |
Description
Please include a brief summary of the change.
Type of change
Associated Issues
For Linear issues: Closes APKT-xxx
For GH issues: closes #...
Showcase (Optional)
If there is a UI change include the screenshots with before and after state.
If new feature is being introduced, include the link to demo recording.
Checklist