From 2e7a7d5909cfee7b7107b1cf98eac759387ab3b9 Mon Sep 17 00:00:00 2001 From: darkskygit Date: Mon, 4 Nov 2024 06:17:06 +0000 Subject: [PATCH] fix(core): copilot test condition & retry (#8665) --- .github/workflows/build-test.yml | 8 ++------ scripts/detect-blocksuite-update.mjs | 8 ++++---- .../affine-cloud-copilot/e2e/copilot.spec.ts | 19 +++++++++++++------ 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index a8c976517c..7539c0cac2 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -473,12 +473,8 @@ jobs: env: BASE_REF: ${{ github.base_ref }} run: | - if [ -n "$BASE_REF" ]; then - if node ./scripts/detect-blocksuite-update.mjs "$BASE_REF"; then - echo "skip=false" >> $GITHUB_OUTPUT - else - echo "skip=true" >> $GITHUB_OUTPUT - fi + if node ./scripts/detect-blocksuite-update.mjs "$BASE_REF"; then + echo "skip=false" >> $GITHUB_OUTPUT else echo "skip=true" >> $GITHUB_OUTPUT fi diff --git a/scripts/detect-blocksuite-update.mjs b/scripts/detect-blocksuite-update.mjs index 7f3d11df95..be9ecc68cb 100644 --- a/scripts/detect-blocksuite-update.mjs +++ b/scripts/detect-blocksuite-update.mjs @@ -65,13 +65,13 @@ async function findPackageJson(root) { } async function main() { - if (process.argv.length < 3) { - console.error('Usage: node script.js '); + const commitHash = process.argv[2] || process.env.GITHUB_BASE_REF; + const currentHead = process.argv[3] || 'HEAD'; + if (!commitHash) { + console.error('Missing base ref commit hash, skipping check.'); process.exit(1); } - const commitHash = process.argv[2]; - const currentHead = process.argv[3] || 'HEAD'; const changedPackages = new Set(); const folders = await findPackageJson( join(fileURLToPath(import.meta.url), '..', '..') diff --git a/tests/affine-cloud-copilot/e2e/copilot.spec.ts b/tests/affine-cloud-copilot/e2e/copilot.spec.ts index 1b303be251..5c41243522 100644 --- a/tests/affine-cloud-copilot/e2e/copilot.spec.ts +++ b/tests/affine-cloud-copilot/e2e/copilot.spec.ts @@ -113,15 +113,22 @@ const focusToEditor = async (page: Page) => { }; const getEditorContent = async (page: Page) => { - const lines = await page.$$('page-editor .inline-editor'); - const contents = await Promise.all(lines.map(el => el.innerText())); - return ( - contents + let content = ''; + let retry = 3; + while (!content && retry > 0) { + const lines = await page.$$('page-editor .inline-editor'); + const contents = await Promise.all(lines.map(el => el.innerText())); + content = contents // cleanup zero width space .map(c => c.replace(/\u200B/g, '').trim()) .filter(c => !!c) - .join('\n') - ); + .join('\n'); + if (!content) { + await page.waitForTimeout(500); + retry -= 1; + } + } + return content; }; const switchToEdgelessMode = async (page: Page) => {