From 3fff908c426cf5a7827dc88ce33f7279434eebb9 Mon Sep 17 00:00:00 2001 From: cristhianzl Date: Mon, 13 Oct 2025 09:58:25 -0300 Subject: [PATCH 1/7] =?UTF-8?q?=F0=9F=94=A7=20(nightly=5Fbuild.yml):=20Upd?= =?UTF-8?q?ate=20Slack=20notification=20workflow=20to=20include=20frontend?= =?UTF-8?q?=20and=20backend=20test=20results=20in=20the=20notification=20l?= =?UTF-8?q?ogic.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/nightly_build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/nightly_build.yml b/.github/workflows/nightly_build.yml index f9558cb06708..c84c7189de83 100644 --- a/.github/workflows/nightly_build.yml +++ b/.github/workflows/nightly_build.yml @@ -226,12 +226,12 @@ jobs: slack-notification: name: Send Slack Notification - needs: release-nightly-build + needs: [frontend-tests, backend-unit-tests, release-nightly-build] if: ${{ github.repository == 'langflow-ai/langflow' && always() }} runs-on: ubuntu-latest steps: - name: Send failure notification to Slack - if: ${{ needs.release-nightly-build.result == 'failure' }} + if: ${{ needs.release-nightly-build.result == 'failure' || needs.frontend-tests.result == 'failure' || needs.backend-unit-tests.result == 'failure' }} run: | curl -X POST -H 'Content-type: application/json' \ --data '{ @@ -269,7 +269,7 @@ jobs: }' ${{ secrets.LANGFLOW_ENG_SLACK_WEBHOOK_URL }} - name: Send success notification to Slack - if: ${{ needs.release-nightly-build.result == 'success' }} + if: ${{ needs.release-nightly-build.result == 'success' && (needs.frontend-tests.result == 'success' || needs.frontend-tests.result == 'skipped') && (needs.backend-unit-tests.result == 'success' || needs.backend-unit-tests.result == 'skipped') }} run: | curl -X POST -H 'Content-type: application/json' \ --data '{ From 5434226497479357ec133533a8491dcb70b4f405 Mon Sep 17 00:00:00 2001 From: cristhianzl Date: Mon, 13 Oct 2025 10:03:32 -0300 Subject: [PATCH 2/7] =?UTF-8?q?=E2=9C=85=20(Basic=20Prompting.spec.ts):=20?= =?UTF-8?q?add=20expect=20function=20to=20test=20suite=20for=20better=20as?= =?UTF-8?q?sertion=20capabilities=20=F0=9F=92=A1=20(Basic=20Prompting.spec?= =?UTF-8?q?.ts):=20add=20a=20temporary=20test=20to=20check=20assertion=20f?= =?UTF-8?q?unctionality?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/frontend/tests/core/integrations/Basic Prompting.spec.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/frontend/tests/core/integrations/Basic Prompting.spec.ts b/src/frontend/tests/core/integrations/Basic Prompting.spec.ts index f0b3615fc593..70d2cfeae99f 100644 --- a/src/frontend/tests/core/integrations/Basic Prompting.spec.ts +++ b/src/frontend/tests/core/integrations/Basic Prompting.spec.ts @@ -1,6 +1,6 @@ import * as dotenv from "dotenv"; import path from "path"; -import { test } from "../../fixtures"; +import { expect, test } from "../../fixtures"; import { awaitBootstrapTest } from "../../utils/await-bootstrap-test"; import { initialGPTsetup } from "../../utils/initialGPTsetup"; import { withEventDeliveryModes } from "../../utils/withEventDeliveryModes"; @@ -18,6 +18,8 @@ withEventDeliveryModes( dotenv.config({ path: path.resolve(__dirname, "../../.env") }); } + expect(true).toBe(false); + await awaitBootstrapTest(page); await page.getByTestId("side_nav_options_all-templates").click(); From 8b82d867dc846d6c493ce560790e33b61d36e686 Mon Sep 17 00:00:00 2001 From: cristhianzl Date: Mon, 13 Oct 2025 10:04:40 -0300 Subject: [PATCH 3/7] =?UTF-8?q?=F0=9F=94=A7=20(nightly=5Fbuild.yml):=20upd?= =?UTF-8?q?ate=20Slack=20notification=20condition=20to=20trigger=20on=20sp?= =?UTF-8?q?ecific=20job=20results?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/nightly_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nightly_build.yml b/.github/workflows/nightly_build.yml index c84c7189de83..6fa7697a9890 100644 --- a/.github/workflows/nightly_build.yml +++ b/.github/workflows/nightly_build.yml @@ -227,7 +227,7 @@ jobs: slack-notification: name: Send Slack Notification needs: [frontend-tests, backend-unit-tests, release-nightly-build] - if: ${{ github.repository == 'langflow-ai/langflow' && always() }} + if: ${{ github.repository == 'langflow-ai/langflow' && always() && (needs.release-nightly-build.result == 'failure' || needs.frontend-tests.result == 'failure' || needs.backend-unit-tests.result == 'failure' || needs.release-nightly-build.result == 'success') }} runs-on: ubuntu-latest steps: - name: Send failure notification to Slack From fc39f5999ed0b94d6cd159544110e4c32abc3f8d Mon Sep 17 00:00:00 2001 From: cristhianzl Date: Mon, 13 Oct 2025 10:06:49 -0300 Subject: [PATCH 4/7] =?UTF-8?q?=E2=9C=A8=20(Basic=20Prompting.spec.ts):=20?= =?UTF-8?q?remove=20unnecessary=20expect=20import=20and=20assertion=20to?= =?UTF-8?q?=20improve=20test=20readability=20and=20maintainability?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/frontend/tests/core/integrations/Basic Prompting.spec.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/frontend/tests/core/integrations/Basic Prompting.spec.ts b/src/frontend/tests/core/integrations/Basic Prompting.spec.ts index 70d2cfeae99f..f0b3615fc593 100644 --- a/src/frontend/tests/core/integrations/Basic Prompting.spec.ts +++ b/src/frontend/tests/core/integrations/Basic Prompting.spec.ts @@ -1,6 +1,6 @@ import * as dotenv from "dotenv"; import path from "path"; -import { expect, test } from "../../fixtures"; +import { test } from "../../fixtures"; import { awaitBootstrapTest } from "../../utils/await-bootstrap-test"; import { initialGPTsetup } from "../../utils/initialGPTsetup"; import { withEventDeliveryModes } from "../../utils/withEventDeliveryModes"; @@ -18,8 +18,6 @@ withEventDeliveryModes( dotenv.config({ path: path.resolve(__dirname, "../../.env") }); } - expect(true).toBe(false); - await awaitBootstrapTest(page); await page.getByTestId("side_nav_options_all-templates").click(); From 7ace980e4c0283d0ee3b03f01c2e056c14659888 Mon Sep 17 00:00:00 2001 From: cristhianzl Date: Mon, 13 Oct 2025 10:21:05 -0300 Subject: [PATCH 5/7] =?UTF-8?q?=E2=9C=A8=20(playwright.config.ts):=20Set?= =?UTF-8?q?=20retries=20to=200=20to=20disable=20test=20retries=20and=20imp?= =?UTF-8?q?rove=20test=20stability=20=F0=9F=93=9D=20(actionsMainPage-shard?= =?UTF-8?q?-1.spec.ts):=20Add=20expect=20statement=20to=20intentionally=20?= =?UTF-8?q?fail=20a=20test=20for=20demonstration=20purposes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/frontend/playwright.config.ts | 2 +- .../tests/core/features/actionsMainPage-shard-1.spec.ts | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/frontend/playwright.config.ts b/src/frontend/playwright.config.ts index 4c2a313c87a0..150aa1da845d 100644 --- a/src/frontend/playwright.config.ts +++ b/src/frontend/playwright.config.ts @@ -21,7 +21,7 @@ export default defineConfig({ /* Fail the build on CI if you accidentally left test.only in the source code. */ forbidOnly: !!process.env.CI, /* Retry on CI only */ - retries: process.env.CI ? 2 : 3, + retries: 0, /* Opt out of parallel tests on CI. */ workers: 2, /* Reporter to use. See https://playwright.dev/docs/test-reporters */ diff --git a/src/frontend/tests/core/features/actionsMainPage-shard-1.spec.ts b/src/frontend/tests/core/features/actionsMainPage-shard-1.spec.ts index 8a20fd7940fc..d4d27e313401 100644 --- a/src/frontend/tests/core/features/actionsMainPage-shard-1.spec.ts +++ b/src/frontend/tests/core/features/actionsMainPage-shard-1.spec.ts @@ -1,4 +1,4 @@ -import { test } from "../../fixtures"; +import { expect, test } from "../../fixtures"; import { adjustScreenView } from "../../utils/adjust-screen-view"; import { awaitBootstrapTest } from "../../utils/await-bootstrap-test"; @@ -8,6 +8,8 @@ test( "select and delete a flow", { tag: ["@release", "@mainpage"] }, async ({ page }) => { + expect(true).toBe(false); + await awaitBootstrapTest(page); await page.getByTestId("side_nav_options_all-templates").click(); From 3aeec8ad3e0eb2a39965fd91912322cdc8e0a7b6 Mon Sep 17 00:00:00 2001 From: cristhianzl Date: Mon, 13 Oct 2025 10:24:45 -0300 Subject: [PATCH 6/7] =?UTF-8?q?=F0=9F=94=A7=20(playwright.config.ts):=20up?= =?UTF-8?q?date=20retries=20configuration=20to=20retry=20tests=20on=20CI?= =?UTF-8?q?=20environment=20=E2=99=BB=EF=B8=8F=20(actionsMainPage-shard-1.?= =?UTF-8?q?spec.ts):=20remove=20unnecessary=20import=20and=20assertion=20i?= =?UTF-8?q?n=20test=20case?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/frontend/playwright.config.ts | 2 +- .../tests/core/features/actionsMainPage-shard-1.spec.ts | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/frontend/playwright.config.ts b/src/frontend/playwright.config.ts index 150aa1da845d..4c2a313c87a0 100644 --- a/src/frontend/playwright.config.ts +++ b/src/frontend/playwright.config.ts @@ -21,7 +21,7 @@ export default defineConfig({ /* Fail the build on CI if you accidentally left test.only in the source code. */ forbidOnly: !!process.env.CI, /* Retry on CI only */ - retries: 0, + retries: process.env.CI ? 2 : 3, /* Opt out of parallel tests on CI. */ workers: 2, /* Reporter to use. See https://playwright.dev/docs/test-reporters */ diff --git a/src/frontend/tests/core/features/actionsMainPage-shard-1.spec.ts b/src/frontend/tests/core/features/actionsMainPage-shard-1.spec.ts index d4d27e313401..72894b1da744 100644 --- a/src/frontend/tests/core/features/actionsMainPage-shard-1.spec.ts +++ b/src/frontend/tests/core/features/actionsMainPage-shard-1.spec.ts @@ -1,15 +1,11 @@ -import { expect, test } from "../../fixtures"; +import { test } from "../../fixtures"; import { adjustScreenView } from "../../utils/adjust-screen-view"; import { awaitBootstrapTest } from "../../utils/await-bootstrap-test"; -import { zoomOut } from "../../utils/zoom-out"; - test( "select and delete a flow", { tag: ["@release", "@mainpage"] }, async ({ page }) => { - expect(true).toBe(false); - await awaitBootstrapTest(page); await page.getByTestId("side_nav_options_all-templates").click(); From 3fda56b77949785c56f8e0d037bed3a3081df997 Mon Sep 17 00:00:00 2001 From: cristhianzl Date: Mon, 13 Oct 2025 12:42:11 -0300 Subject: [PATCH 7/7] =?UTF-8?q?=F0=9F=94=A7=20(nightly=5Fbuild.yml):=20Sim?= =?UTF-8?q?plify=20success=20notification=20condition=20to=20only=20depend?= =?UTF-8?q?=20on=20the=20release-nightly-build=20job=20result?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/nightly_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/nightly_build.yml b/.github/workflows/nightly_build.yml index 6fa7697a9890..75dff19de20a 100644 --- a/.github/workflows/nightly_build.yml +++ b/.github/workflows/nightly_build.yml @@ -269,7 +269,7 @@ jobs: }' ${{ secrets.LANGFLOW_ENG_SLACK_WEBHOOK_URL }} - name: Send success notification to Slack - if: ${{ needs.release-nightly-build.result == 'success' && (needs.frontend-tests.result == 'success' || needs.frontend-tests.result == 'skipped') && (needs.backend-unit-tests.result == 'success' || needs.backend-unit-tests.result == 'skipped') }} + if: ${{ needs.release-nightly-build.result == 'success' }} run: | curl -X POST -H 'Content-type: application/json' \ --data '{