From 38c0624fc20719020b0292cdcbc984a3fdec3d94 Mon Sep 17 00:00:00 2001 From: Dhruwang Date: Mon, 13 Jan 2025 18:16:28 +0530 Subject: [PATCH 01/18] removed unecessary changes --- .github/workflows/e2e.yml | 14 +- .../edit/components/MatrixQuestionForm.tsx | 4 +- apps/web/playwright/js.spec.ts | 223 ++++++++-------- apps/web/playwright/survey.spec.ts | 2 - package.json | 4 +- packages/js/index.html | 21 -- playwright.service.config.ts | 23 ++ pnpm-lock.yaml | 247 ++++++++++++++++-- 8 files changed, 391 insertions(+), 147 deletions(-) delete mode 100644 packages/js/index.html create mode 100644 playwright.service.config.ts diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index fb3d694b9466..de49691d91f7 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -2,8 +2,10 @@ name: E2E Tests on: workflow_call: workflow_dispatch: + env: TELEMETRY_DISABLED: 1 + jobs: build: name: Run E2E Tests @@ -54,6 +56,14 @@ jobs: echo "E2E_TESTING=1" >> .env shell: bash + - name: Login to Azure with AzPowershell (enableAzPSSession true) + uses: azure/login@v2 + with: + client-id: ${{ secrets.AZURE_CLIENT_ID }} + tenant-id: ${{ secrets.AZURE_TENANT_ID }} + subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} + enable-AzPSSession: true + - name: Build App run: | pnpm build --filter=@formbricks/web... @@ -84,8 +94,10 @@ jobs: run: pnpm exec playwright install --with-deps - name: Run E2E Tests + env: + PLAYWRIGHT_SERVICE_URL: ${{ secrets.PLAYWRIGHT_SERVICE_URL }} run: | - pnpm test:e2e + pnpm test:e2e -c playwright.service.config.ts --workers=20 - uses: actions/upload-artifact@v4 if: always() diff --git a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/MatrixQuestionForm.tsx b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/MatrixQuestionForm.tsx index 3788beba3669..fe6f46d92f49 100644 --- a/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/MatrixQuestionForm.tsx +++ b/apps/web/app/(app)/(survey-editor)/environments/[environmentId]/surveys/[surveyId]/edit/components/MatrixQuestionForm.tsx @@ -166,7 +166,7 @@ export const MatrixQuestionForm = ({
handleKeyDown(e, "row")} - key={`row-${index}-${question.rows.length}`}> + key={`row-${index}`}> handleKeyDown(e, "column")} - key={`column-${index}-${question.columns.length}`}> + key={`column-${index}`}> + + + + +

This is my sample page using the Formbricks JS javascript widget

+ +`; test.describe("JS Package Test", async () => { + let server: http.Server; let environmentId: string; - test("Tests", async ({ page, users }) => { - await test.step("Admin creates an In-App Survey", async () => { - const user = await users.create(); - await user.login(); - - await page.waitForURL(/\/environments\/[^/]+\/surveys/); - - await page.getByRole("heading", { name: "Product Market Fit (Superhuman)" }).isVisible(); - await page.getByRole("heading", { name: "Product Market Fit (Superhuman)" }).click(); - - await page.getByRole("button", { name: "Use this template" }).isVisible(); - await page.getByRole("button", { name: "Use this template" }).click(); - - await page.waitForURL(/\/environments\/[^/]+\/surveys\/[^/]+\/edit/); - - await page.getByRole("button", { name: "Settings", exact: true }).click(); - - await expect(page.locator("#howToSendCardTrigger")).toBeVisible(); - await page.locator("#howToSendCardTrigger").click(); - - await expect(page.locator("#howToSendCardOption-app")).toBeVisible(); - await page.locator("#howToSendCardOption-app").click(); + test.beforeAll(async () => { + // Create a simple HTTP server + server = http.createServer((_, res) => { + const htmlContent = HTML_TEMPLATE.replace("ENVIRONMENT_ID", environmentId || ""); + res.writeHead(200, { "Content-Type": "text/html" }); + res.end(htmlContent); + }); - await page.locator("#whenToSendCardTrigger").click(); + await new Promise((resolve) => { + server.listen(3004, () => resolve()); + }); + }); - await page.getByRole("button", { name: "Add action" }).click(); - await page.getByText("New SessionGets fired when a").click(); + test.afterAll(async () => { + // Cleanup: close the server + await new Promise((resolve) => server.close(resolve)); + }); - await page.locator("#recontactOptionsCardTrigger").click(); + test("Create, display and validate PMF survey", async ({ page, users }) => { + // Create and login user + const user = await users.create(); + await user.login(); - await page.locator("label").filter({ hasText: "Keep showing while conditions" }).click(); - await page.locator("#recontactDays").check(); + await page.waitForURL(/\/environments\/[^/]+\/surveys/); - await page.getByRole("button", { name: "Publish" }).click(); + // Extract environmentId early in the test + environmentId = + /\/environments\/([^/]+)\/surveys/.exec(page.url())?.[1] ?? + (() => { + throw new Error("Unable to parse environmentId from URL"); + })(); - environmentId = - /\/environments\/([^/]+)\/surveys/.exec(page.url())?.[1] ?? - (() => { - throw new Error("Unable to parse environmentId from URL"); - })(); + // Create survey from template + await page.getByRole("heading", { name: "Product Market Fit (Superhuman)" }).isVisible(); + await page.getByRole("heading", { name: "Product Market Fit (Superhuman)" }).click(); + await page.getByRole("button", { name: "Use this template" }).isVisible(); + await page.getByRole("button", { name: "Use this template" }).click(); - await page.waitForURL(/\/environments\/[^/]+\/surveys\/[^/]+\/summary/); - }); + // Configure survey settings + await page.waitForURL(/\/environments\/[^/]+\/surveys\/[^/]+\/edit/); + await page.getByRole("button", { name: "Settings", exact: true }).click(); - await test.step("JS display survey on page and submit response", async () => { - let currentDir = process.cwd(); - let htmlFilePath = currentDir + "/packages/js/index.html"; - - let htmlFile = replaceEnvironmentIdInHtml(htmlFilePath, environmentId); - await page.goto(htmlFile); - - // Formbricks In App Sync has happened - const syncApi = await page.waitForResponse( - (response) => { - return response.url().includes("/environment"); - }, - { - timeout: 120000, - } - ); - - expect(syncApi.status()).toBe(200); - - // Formbricks Modal exists in the DOM - await expect(page.locator("#formbricks-modal-container")).toHaveCount(1); - - // Formbricks Modal is visible - await expect( - page.locator("#questionCard-0").getByRole("link", { name: "Powered by Formbricks" }) - ).toBeVisible(); - - // Fill the Survey - await page.getByRole("button", { name: "Happy to help!" }).click(); - await page.locator("label").filter({ hasText: "Somewhat disappointed" }).click(); - await page.locator("#questionCard-1").getByRole("button", { name: "Next" }).click(); - await page.locator("label").filter({ hasText: "Founder" }).click(); - await page.locator("#questionCard-2").getByRole("button", { name: "Next" }).click(); - await page - .locator("#questionCard-3") - .getByLabel("textarea") - .fill("People who believe that PMF is necessary"); - await page.locator("#questionCard-3").getByRole("button", { name: "Next" }).click(); - await page.locator("#questionCard-4").getByLabel("textarea").fill("Much higher response rates!"); - await page.locator("#questionCard-4").getByRole("button", { name: "Next" }).click(); - await page.locator("#questionCard-5").getByLabel("textarea").fill("Make this end to end test pass!"); - await page.getByRole("button", { name: "Finish" }).click(); - - // loading spinner -> wait for it to disappear - await page.getByTestId("loading-spinner").waitFor({ state: "hidden" }); - await page.waitForLoadState("networkidle"); - }); + await expect(page.locator("#howToSendCardTrigger")).toBeVisible(); + await page.locator("#howToSendCardTrigger").click(); + await expect(page.locator("#howToSendCardOption-app")).toBeVisible(); + await page.locator("#howToSendCardOption-app").click(); - await test.step("Admin validates Displays & Response", async () => { - await page.goto("/"); - await page.waitForURL(/\/environments\/[^/]+\/surveys/); + await page.locator("#whenToSendCardTrigger").click(); + await page.getByRole("button", { name: "Add action" }).click(); + await page.getByText("New SessionGets fired when a").click(); - await page.getByRole("link", { name: "product Market Fit (Superhuman)" }).click(); - (await page.waitForSelector("text=Responses")).isVisible(); + await page.locator("#recontactOptionsCardTrigger").click(); + await page.locator("label").filter({ hasText: "Keep showing while conditions" }).click(); + await page.locator("#recontactDays").check(); - await page.waitForLoadState("networkidle"); - await page.waitForTimeout(2000); + await page.getByRole("button", { name: "Publish" }).click(); - const impressionsCount = await page.getByRole("button", { name: "Impressions" }).innerText(); - expect(impressionsCount).toEqual("Impressions\n\n1"); + await page.waitForURL(/\/environments\/[^/]+\/surveys\/[^/]+\/summary/); - await expect(page.getByRole("link", { name: "Responses (1)" })).toBeVisible(); - await expect(page.getByRole("button", { name: "Completed 100%" })).toBeVisible(); + // No need for file operations anymore, just use the server + await page.goto("http://localhost:3004"); - await expect(page.getByText("1 Responses", { exact: true }).first()).toBeVisible(); - await expect(page.getByText("CTR100%")).toBeVisible(); - await expect(page.getByText("Somewhat disappointed100%")).toBeVisible(); - await expect(page.getByText("Founder100%")).toBeVisible(); - await expect(page.getByText("People who believe that PMF").first()).toBeVisible(); - await expect(page.getByText("Much higher response rates!").first()).toBeVisible(); - await expect(page.getByText("Make this end to end test").first()).toBeVisible(); + const syncApi = await page.waitForResponse((response) => response.url().includes("/environment"), { + timeout: 120000, }); + expect(syncApi.status()).toBe(200); + + await expect(page.locator("#formbricks-modal-container")).toHaveCount(1); + await expect( + page.locator("#questionCard-0").getByRole("link", { name: "Powered by Formbricks" }) + ).toBeVisible(); + + // Fill the survey + await page.getByRole("button", { name: "Happy to help!" }).click(); + await page.locator("label").filter({ hasText: "Somewhat disappointed" }).click(); + await page.locator("#questionCard-1").getByRole("button", { name: "Next" }).click(); + await page.locator("label").filter({ hasText: "Founder" }).click(); + await page.locator("#questionCard-2").getByRole("button", { name: "Next" }).click(); + await page + .locator("#questionCard-3") + .getByLabel("textarea") + .fill("People who believe that PMF is necessary"); + await page.locator("#questionCard-3").getByRole("button", { name: "Next" }).click(); + await page.locator("#questionCard-4").getByLabel("textarea").fill("Much higher response rates!"); + await page.locator("#questionCard-4").getByRole("button", { name: "Next" }).click(); + await page.locator("#questionCard-5").getByLabel("textarea").fill("Make this end to end test pass!"); + await page.getByRole("button", { name: "Finish" }).click(); + + await page.getByTestId("loading-spinner").waitFor({ state: "hidden" }); + await page.waitForLoadState("networkidle"); + + // Validate displays and response + await page.goto("/"); + await page.waitForURL(/\/environments\/[^/]+\/surveys/); + await page.getByRole("link", { name: "product Market Fit (Superhuman)" }).click(); + await page.waitForSelector("text=Responses"); + await page.waitForLoadState("networkidle"); + await page.waitForTimeout(2000); + + const impressionsCount = await page.getByRole("button", { name: "Impressions" }).innerText(); + expect(impressionsCount).toEqual("Impressions\n\n1"); + + await expect(page.getByRole("link", { name: "Responses (1)" })).toBeVisible(); + await expect(page.getByRole("button", { name: "Completed 100%" })).toBeVisible(); + await expect(page.getByText("1 Responses", { exact: true }).first()).toBeVisible(); + await expect(page.getByText("CTR100%")).toBeVisible(); + await expect(page.getByText("Somewhat disappointed100%")).toBeVisible(); + await expect(page.getByText("Founder100%")).toBeVisible(); + await expect(page.getByText("People who believe that PMF").first()).toBeVisible(); + await expect(page.getByText("Much higher response rates!").first()).toBeVisible(); + await expect(page.getByText("Make this end to end test").first()).toBeVisible(); }); }); diff --git a/apps/web/playwright/survey.spec.ts b/apps/web/playwright/survey.spec.ts index 8e2487242ff1..9529c9289bf7 100644 --- a/apps/web/playwright/survey.spec.ts +++ b/apps/web/playwright/survey.spec.ts @@ -12,8 +12,6 @@ test.use({ test.describe("Survey Create & Submit Response without logic", async () => { let url: string | null; - test.slow(); - test("Create survey and submit response", async ({ page, users }) => { const user = await users.create(); await user.login(); diff --git a/package.json b/package.json index 8908063a9b80..d85e654a9806 100644 --- a/package.json +++ b/package.json @@ -29,9 +29,11 @@ "test:e2e": "playwright test", "prepare": "husky install", "storybook": "turbo run storybook", - "fb-migrate-dev": "pnpm --filter @formbricks/database create-migration && pnpm prisma generate" + "fb-migrate-dev": "pnpm --filter @formbricks/database create-migration && pnpm prisma generate", + "azure-e2e-test": "pnpm test:e2e -c playwright.service.config.ts --workers=20" }, "devDependencies": { + "@azure/microsoft-playwright-testing": "1.0.0-beta.6", "@formbricks/eslint-config": "workspace:*", "@playwright/test": "1.49.1", "eslint": "8.57.0", diff --git a/packages/js/index.html b/packages/js/index.html deleted file mode 100644 index 542f990bbce1..000000000000 --- a/packages/js/index.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - -

This is my sample page using the Formbricks JS javascript widget

- diff --git a/playwright.service.config.ts b/playwright.service.config.ts new file mode 100644 index 000000000000..4996d05eb522 --- /dev/null +++ b/playwright.service.config.ts @@ -0,0 +1,23 @@ +import { ServiceOS, getServiceConfig } from "@azure/microsoft-playwright-testing"; +import { defineConfig } from "@playwright/test"; +import config from "./playwright.config"; + +/* Learn more about service configuration at https://aka.ms/mpt/config */ +export default defineConfig( + config, + getServiceConfig(config, { + exposeNetwork: "", + timeout: 30000, + os: ServiceOS.LINUX, + useCloudHostedBrowsers: true, // Set to false if you want to only use reporting and not cloud hosted browsers + serviceAuthType: "ACCESS_TOKEN", + }), + { + /* + Playwright Testing service reporter is added by default. + This will override any reporter options specified in the base playwright config. + If you are using more reporters, please update your configuration accordingly. + */ + reporter: [["list"], ["@azure/microsoft-playwright-testing/reporter"]], + } +); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b8a552df33cb..dd44ddde07f8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,6 +12,9 @@ importers: specifier: 2.27.10 version: 2.27.10 devDependencies: + '@azure/microsoft-playwright-testing': + specifier: 1.0.0-beta.6 + version: 1.0.0-beta.6(@playwright/test@1.49.1) '@formbricks/eslint-config': specifier: workspace:* version: link:packages/config-eslint @@ -124,7 +127,7 @@ importers: version: 2.2.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@headlessui/tailwindcss': specifier: 0.2.1 - version: 0.2.1(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2))) + version: 0.2.1(tailwindcss@3.4.16(ts-node@10.9.2(typescript@5.7.2))) '@mapbox/rehype-prism': specifier: 0.9.0 version: 0.9.0 @@ -495,7 +498,7 @@ importers: version: 8.20.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@vercel/functions': specifier: 1.5.2 - version: 1.5.2(@aws-sdk/credential-provider-web-identity@3.709.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))) + version: 1.5.2(@aws-sdk/credential-provider-web-identity@3.709.0) '@vercel/og': specifier: 0.6.4 version: 0.6.4 @@ -742,7 +745,7 @@ importers: version: 8.18.0(eslint@8.57.0)(typescript@5.7.2) '@vercel/style-guide': specifier: 6.0.0 - version: 6.0.0(@next/eslint-plugin-next@15.1.0)(eslint@8.57.0)(prettier@3.4.2)(typescript@5.7.2)(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)) + version: 6.0.0(@next/eslint-plugin-next@15.1.0)(eslint@8.57.0)(prettier@3.4.2)(typescript@5.7.2)(vitest@2.1.8) eslint-config-next: specifier: 15.1.0 version: 15.1.0(eslint@8.57.0)(typescript@5.7.2) @@ -1457,6 +1460,76 @@ packages: resolution: {integrity: sha512-2GPCwlNxeHspoK/Mc8nbk9cBOkSpp3j2SJUQmFnyQK6V/pR6II2oPRyZkMomug1Rc10hqlBHByMecq4zhV2uUw==} engines: {node: '>=16.0.0'} + '@azure/abort-controller@2.1.2': + resolution: {integrity: sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==} + engines: {node: '>=18.0.0'} + + '@azure/core-auth@1.9.0': + resolution: {integrity: sha512-FPwHpZywuyasDSLMqJ6fhbOK3TqUdviZNF8OqRGA4W5Ewib2lEEZ+pBsYcBa88B2NGO/SEnYPGhyBqNlE8ilSw==} + engines: {node: '>=18.0.0'} + + '@azure/core-client@1.9.2': + resolution: {integrity: sha512-kRdry/rav3fUKHl/aDLd/pDLcB+4pOFwPPTVEExuMyaI5r+JBbMWqRbCY1pn5BniDaU3lRxO9eaQ1AmSMehl/w==} + engines: {node: '>=18.0.0'} + + '@azure/core-http-compat@2.1.2': + resolution: {integrity: sha512-5MnV1yqzZwgNLLjlizsU3QqOeQChkIXw781Fwh1xdAqJR5AA32IUaq6xv1BICJvfbHoa+JYcaij2HFkhLbNTJQ==} + engines: {node: '>=18.0.0'} + + '@azure/core-lro@2.7.2': + resolution: {integrity: sha512-0YIpccoX8m/k00O7mDDMdJpbr6mf1yWo2dfmxt5A8XVZVVMz2SSKaEbMCeJRvgQ0IaSlqhjT47p4hVIRRy90xw==} + engines: {node: '>=18.0.0'} + + '@azure/core-paging@1.6.2': + resolution: {integrity: sha512-YKWi9YuCU04B55h25cnOYZHxXYtEvQEbKST5vqRga7hWY9ydd3FZHdeQF8pyh+acWZvppw13M/LMGx0LABUVMA==} + engines: {node: '>=18.0.0'} + + '@azure/core-rest-pipeline@1.18.2': + resolution: {integrity: sha512-IkTf/DWKyCklEtN/WYW3lqEsIaUDshlzWRlZNNwSYtFcCBQz++OtOjxNpm8rr1VcbMS6RpjybQa3u6B6nG0zNw==} + engines: {node: '>=18.0.0'} + + '@azure/core-tracing@1.2.0': + resolution: {integrity: sha512-UKTiEJPkWcESPYJz3X5uKRYyOcJD+4nYph+KpfdPRnQJVrZfk0KJgdnaAWKfhsBBtAf/D58Az4AvCJEmWgIBAg==} + engines: {node: '>=18.0.0'} + + '@azure/core-util@1.11.0': + resolution: {integrity: sha512-DxOSLua+NdpWoSqULhjDyAZTXFdP/LKkqtYuxxz1SCN289zk3OG8UOpnCQAz/tygyACBtWp/BoO72ptK7msY8g==} + engines: {node: '>=18.0.0'} + + '@azure/core-xml@1.4.4': + resolution: {integrity: sha512-J4FYAqakGXcbfeZjwjMzjNcpcH4E+JtEBv+xcV1yL0Ydn/6wbQfeFKTCHh9wttAi0lmajHw7yBbHPRG+YHckZQ==} + engines: {node: '>=18.0.0'} + + '@azure/identity@4.5.0': + resolution: {integrity: sha512-EknvVmtBuSIic47xkOqyNabAme0RYTw52BTMz8eBgU1ysTyMrD1uOoM+JdS0J/4Yfp98IBT3osqq3BfwSaNaGQ==} + engines: {node: '>=18.0.0'} + + '@azure/logger@1.1.4': + resolution: {integrity: sha512-4IXXzcCdLdlXuCG+8UKEwLA1T1NHqUfanhXYHiQTn+6sfWCZXduqbtXDGceg3Ce5QxTGo7EqmbV6Bi+aqKuClQ==} + engines: {node: '>=18.0.0'} + + '@azure/microsoft-playwright-testing@1.0.0-beta.6': + resolution: {integrity: sha512-TVfBM5AL1t88VGNRfj6cudEYURVc4Y/n0tnL+o+TDL9OpAvGa8fZ2xPjXy6imjnX9dgpNjbowMG4pxCKo00OvA==} + engines: {node: '>=18.0.0'} + peerDependencies: + '@playwright/test': ^1.43.1 + + '@azure/msal-browser@3.28.0': + resolution: {integrity: sha512-1c1qUF6vB52mWlyoMem4xR1gdwiQWYEQB2uhDkbAL4wVJr8WmAcXybc1Qs33y19N4BdPI8/DHI7rPE8L5jMtWw==} + engines: {node: '>=0.8.0'} + + '@azure/msal-common@14.16.0': + resolution: {integrity: sha512-1KOZj9IpcDSwpNiQNjt0jDYZpQvNZay7QAEi/5DLubay40iGYtLzya/jbjRPLyOTZhEKyL1MzPuw2HqBCjceYA==} + engines: {node: '>=0.8.0'} + + '@azure/msal-node@2.16.2': + resolution: {integrity: sha512-An7l1hEr0w1HMMh1LU+rtDtqL7/jw74ORlc9Wnh06v7TU/xpG39/Zdr1ZJu3QpjUfKJ+E0/OXMW8DRSWTlh7qQ==} + engines: {node: '>=16'} + + '@azure/storage-blob@12.26.0': + resolution: {integrity: sha512-SriLPKezypIsiZ+TtlFfE46uuBIap2HeaQVS78e1P7rz5OSbq0rsd52WE1mC5f7vAeLiXqv7I7oRhL3WFZEw3Q==} + engines: {node: '>=18.0.0'} + '@babel/code-frame@7.10.4': resolution: {integrity: sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==} @@ -12058,6 +12131,10 @@ packages: stickyfill@1.1.1: resolution: {integrity: sha512-GCp7vHAfpao+Qh/3Flh9DXEJ/qSi0KJwJw6zYlZOtRYXWUIpMM6mC2rIep/dK8RQqwW0KxGJIllmjPIBOGN8AA==} + stoppable@1.1.0: + resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} + engines: {node: '>=4', npm: '>=6'} + storybook@8.4.7: resolution: {integrity: sha512-RP/nMJxiWyFc8EVMH5gp20ID032Wvk+Yr3lmKidoegto5Iy+2dVQnUoElZb2zpbVXNHWakGuAkfI0dY1Hfp/vw==} hasBin: true @@ -14129,6 +14206,138 @@ snapshots: '@smithy/types': 3.7.2 tslib: 2.8.1 + '@azure/abort-controller@2.1.2': + dependencies: + tslib: 2.8.1 + + '@azure/core-auth@1.9.0': + dependencies: + '@azure/abort-controller': 2.1.2 + '@azure/core-util': 1.11.0 + tslib: 2.8.1 + + '@azure/core-client@1.9.2': + dependencies: + '@azure/abort-controller': 2.1.2 + '@azure/core-auth': 1.9.0 + '@azure/core-rest-pipeline': 1.18.2 + '@azure/core-tracing': 1.2.0 + '@azure/core-util': 1.11.0 + '@azure/logger': 1.1.4 + tslib: 2.8.1 + transitivePeerDependencies: + - supports-color + + '@azure/core-http-compat@2.1.2': + dependencies: + '@azure/abort-controller': 2.1.2 + '@azure/core-client': 1.9.2 + '@azure/core-rest-pipeline': 1.18.2 + transitivePeerDependencies: + - supports-color + + '@azure/core-lro@2.7.2': + dependencies: + '@azure/abort-controller': 2.1.2 + '@azure/core-util': 1.11.0 + '@azure/logger': 1.1.4 + tslib: 2.8.1 + + '@azure/core-paging@1.6.2': + dependencies: + tslib: 2.8.1 + + '@azure/core-rest-pipeline@1.18.2': + dependencies: + '@azure/abort-controller': 2.1.2 + '@azure/core-auth': 1.9.0 + '@azure/core-tracing': 1.2.0 + '@azure/core-util': 1.11.0 + '@azure/logger': 1.1.4 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + tslib: 2.8.1 + transitivePeerDependencies: + - supports-color + + '@azure/core-tracing@1.2.0': + dependencies: + tslib: 2.8.1 + + '@azure/core-util@1.11.0': + dependencies: + '@azure/abort-controller': 2.1.2 + tslib: 2.8.1 + + '@azure/core-xml@1.4.4': + dependencies: + fast-xml-parser: 4.5.1 + tslib: 2.8.1 + + '@azure/identity@4.5.0': + dependencies: + '@azure/abort-controller': 2.1.2 + '@azure/core-auth': 1.9.0 + '@azure/core-client': 1.9.2 + '@azure/core-rest-pipeline': 1.18.2 + '@azure/core-tracing': 1.2.0 + '@azure/core-util': 1.11.0 + '@azure/logger': 1.1.4 + '@azure/msal-browser': 3.28.0 + '@azure/msal-node': 2.16.2 + events: 3.3.0 + jws: 4.0.0 + open: 8.4.2 + stoppable: 1.1.0 + tslib: 2.8.1 + transitivePeerDependencies: + - supports-color + + '@azure/logger@1.1.4': + dependencies: + tslib: 2.8.1 + + '@azure/microsoft-playwright-testing@1.0.0-beta.6(@playwright/test@1.49.1)': + dependencies: + '@azure/core-rest-pipeline': 1.18.2 + '@azure/identity': 4.5.0 + '@azure/logger': 1.1.4 + '@azure/storage-blob': 12.26.0 + '@playwright/test': 1.49.1 + tslib: 2.8.1 + transitivePeerDependencies: + - supports-color + + '@azure/msal-browser@3.28.0': + dependencies: + '@azure/msal-common': 14.16.0 + + '@azure/msal-common@14.16.0': {} + + '@azure/msal-node@2.16.2': + dependencies: + '@azure/msal-common': 14.16.0 + jsonwebtoken: 9.0.2 + uuid: 8.3.2 + + '@azure/storage-blob@12.26.0': + dependencies: + '@azure/abort-controller': 2.1.2 + '@azure/core-auth': 1.9.0 + '@azure/core-client': 1.9.2 + '@azure/core-http-compat': 2.1.2 + '@azure/core-lro': 2.7.2 + '@azure/core-paging': 1.6.2 + '@azure/core-rest-pipeline': 1.18.2 + '@azure/core-tracing': 1.2.0 + '@azure/core-util': 1.11.0 + '@azure/core-xml': 1.4.4 + '@azure/logger': 1.1.4 + events: 3.3.0 + tslib: 2.8.1 + transitivePeerDependencies: + - supports-color + '@babel/code-frame@7.10.4': dependencies: '@babel/highlight': 7.25.9 @@ -15930,7 +16139,7 @@ snapshots: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - '@headlessui/tailwindcss@0.2.1(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)))': + '@headlessui/tailwindcss@0.2.1(tailwindcss@3.4.16(ts-node@10.9.2(typescript@5.7.2)))': dependencies: tailwindcss: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) @@ -19767,7 +19976,7 @@ snapshots: '@urql/core': 5.1.0 wonka: 6.3.4 - '@vercel/functions@1.5.2(@aws-sdk/credential-provider-web-identity@3.709.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0)))': + '@vercel/functions@1.5.2(@aws-sdk/credential-provider-web-identity@3.709.0)': optionalDependencies: '@aws-sdk/credential-provider-web-identity': 3.709.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0)) @@ -19792,7 +20001,7 @@ snapshots: next: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 - '@vercel/style-guide@6.0.0(@next/eslint-plugin-next@15.1.0)(eslint@8.57.0)(prettier@3.4.2)(typescript@5.7.2)(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0))': + '@vercel/style-guide@6.0.0(@next/eslint-plugin-next@15.1.0)(eslint@8.57.0)(prettier@3.4.2)(typescript@5.7.2)(vitest@2.1.8)': dependencies: '@babel/core': 7.26.0 '@babel/eslint-parser': 7.25.9(@babel/core@7.26.0)(eslint@8.57.0) @@ -19800,7 +20009,7 @@ snapshots: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2) '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.7.2) eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-import-resolver-alias: 1.1.2(eslint-plugin-import@2.31.0) + eslint-import-resolver-alias: 1.1.2(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0)) eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.0) eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.0) eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0) @@ -19812,7 +20021,7 @@ snapshots: eslint-plugin-testing-library: 6.5.0(eslint@8.57.0)(typescript@5.7.2) eslint-plugin-tsdoc: 0.2.17 eslint-plugin-unicorn: 51.0.1(eslint@8.57.0) - eslint-plugin-vitest: 0.3.26(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2)(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)) + eslint-plugin-vitest: 0.3.26(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2)(vitest@2.1.8) prettier-plugin-packagejson: 2.5.6(prettier@3.4.2) optionalDependencies: '@next/eslint-plugin-next': 15.1.0 @@ -19851,7 +20060,7 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.8(vite@5.4.11(@types/node@22.10.2)(lightningcss@1.27.0)(terser@5.37.0))': + '@vitest/mocker@2.1.8(vite@5.4.11)': dependencies: '@vitest/spy': 2.1.8 estree-walker: 3.0.3 @@ -21883,7 +22092,7 @@ snapshots: eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.0) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0) eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.0) eslint-plugin-react: 7.37.2(eslint@8.57.0) eslint-plugin-react-hooks: 5.1.0(eslint@8.57.0) @@ -21903,9 +22112,9 @@ snapshots: eslint: 8.57.0 eslint-plugin-turbo: 2.3.3(eslint@8.57.0) - eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.31.0): + eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0)): dependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0) eslint-import-resolver-node@0.3.9: dependencies: @@ -21927,11 +22136,11 @@ snapshots: is-glob: 4.0.3 stable-hash: 0.0.4 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0) transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0): + eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.0))(eslint@8.57.0): dependencies: debug: 3.2.7 optionalDependencies: @@ -21986,7 +22195,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.0))(eslint@8.57.0) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -22004,7 +22213,7 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -22153,7 +22362,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-vitest@0.3.26(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2)(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)): + eslint-plugin-vitest@0.3.26(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2)(vitest@2.1.8): dependencies: '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.7.2) eslint: 8.57.0 @@ -27497,6 +27706,8 @@ snapshots: stickyfill@1.1.1: {} + stoppable@1.1.0: {} + storybook@8.4.7(prettier@3.4.2): dependencies: '@storybook/core': 8.4.7(prettier@3.4.2) @@ -28475,7 +28686,7 @@ snapshots: vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0): dependencies: '@vitest/expect': 2.1.8 - '@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@22.10.2)(lightningcss@1.27.0)(terser@5.37.0)) + '@vitest/mocker': 2.1.8(vite@5.4.11) '@vitest/pretty-format': 2.1.8 '@vitest/runner': 2.1.8 '@vitest/snapshot': 2.1.8 From fdc65c798a2d67dabe87b5f3806f2641b1031566 Mon Sep 17 00:00:00 2001 From: pandeymangg Date: Mon, 13 Jan 2025 18:40:22 +0530 Subject: [PATCH 02/18] fix: naming stuff --- .github/workflows/e2e.yml | 2 +- package.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index de49691d91f7..a53c2e953ee9 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -97,7 +97,7 @@ jobs: env: PLAYWRIGHT_SERVICE_URL: ${{ secrets.PLAYWRIGHT_SERVICE_URL }} run: | - pnpm test:e2e -c playwright.service.config.ts --workers=20 + pnpm test-e2e:azure - uses: actions/upload-artifact@v4 if: always() diff --git a/package.json b/package.json index d85e654a9806..ef02f4683eb2 100644 --- a/package.json +++ b/package.json @@ -27,10 +27,10 @@ "release": "turbo run build --filter=@formbricks/js... && changeset publish", "test": "turbo run test --no-cache", "test:e2e": "playwright test", + "test-e2e:azure": "pnpm test:e2e -c playwright.service.config.ts --workers=20", "prepare": "husky install", "storybook": "turbo run storybook", - "fb-migrate-dev": "pnpm --filter @formbricks/database create-migration && pnpm prisma generate", - "azure-e2e-test": "pnpm test:e2e -c playwright.service.config.ts --workers=20" + "fb-migrate-dev": "pnpm --filter @formbricks/database create-migration && pnpm prisma generate" }, "devDependencies": { "@azure/microsoft-playwright-testing": "1.0.0-beta.6", From 6e0e4c7ea1a1a425b6aa512106580dd2f8b2cbb3 Mon Sep 17 00:00:00 2001 From: Matthias Nannt Date: Wed, 15 Jan 2025 14:17:43 +0100 Subject: [PATCH 03/18] update pnpm lock --- pnpm-lock.yaml | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ec02209281df..f7536dfe22c2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -127,7 +127,7 @@ importers: version: 2.2.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@headlessui/tailwindcss': specifier: 0.2.1 - version: 0.2.1(tailwindcss@3.4.16(ts-node@10.9.2(typescript@5.7.2))) + version: 0.2.1(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2))) '@mapbox/rehype-prism': specifier: 0.9.0 version: 0.9.0 @@ -498,7 +498,7 @@ importers: version: 8.20.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@vercel/functions': specifier: 1.5.2 - version: 1.5.2(@aws-sdk/credential-provider-web-identity@3.709.0) + version: 1.5.2(@aws-sdk/credential-provider-web-identity@3.709.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0))) '@vercel/og': specifier: 0.6.4 version: 0.6.4 @@ -745,7 +745,7 @@ importers: version: 8.18.0(eslint@8.57.0)(typescript@5.7.2) '@vercel/style-guide': specifier: 6.0.0 - version: 6.0.0(@next/eslint-plugin-next@15.1.0)(eslint@8.57.0)(prettier@3.4.2)(typescript@5.7.2)(vitest@2.1.8) + version: 6.0.0(@next/eslint-plugin-next@15.1.0)(eslint@8.57.0)(prettier@3.4.2)(typescript@5.7.2)(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)) eslint-config-next: specifier: 15.1.0 version: 15.1.0(eslint@8.57.0)(typescript@5.7.2) @@ -905,13 +905,13 @@ importers: specifier: 3.712.0 version: 3.712.0 '@formbricks/api': - specifier: '*' + specifier: workspace:* version: link:../api '@formbricks/database': - specifier: '*' + specifier: workspace:* version: link:../database '@formbricks/types': - specifier: '*' + specifier: workspace:* version: link:../types '@paralleldrive/cuid2': specifier: 2.2.2 @@ -16103,7 +16103,7 @@ snapshots: react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - '@headlessui/tailwindcss@0.2.1(tailwindcss@3.4.16(ts-node@10.9.2(typescript@5.7.2)))': + '@headlessui/tailwindcss@0.2.1(tailwindcss@3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)))': dependencies: tailwindcss: 3.4.16(ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2)) @@ -19916,7 +19916,7 @@ snapshots: '@urql/core': 5.1.0 wonka: 6.3.4 - '@vercel/functions@1.5.2(@aws-sdk/credential-provider-web-identity@3.709.0)': + '@vercel/functions@1.5.2(@aws-sdk/credential-provider-web-identity@3.709.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0)))': optionalDependencies: '@aws-sdk/credential-provider-web-identity': 3.709.0(@aws-sdk/client-sts@3.712.0(aws-crt@1.24.0)) @@ -19941,7 +19941,7 @@ snapshots: next: 15.1.2(@opentelemetry/api@1.9.0)(@playwright/test@1.49.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 - '@vercel/style-guide@6.0.0(@next/eslint-plugin-next@15.1.0)(eslint@8.57.0)(prettier@3.4.2)(typescript@5.7.2)(vitest@2.1.8)': + '@vercel/style-guide@6.0.0(@next/eslint-plugin-next@15.1.0)(eslint@8.57.0)(prettier@3.4.2)(typescript@5.7.2)(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0))': dependencies: '@babel/core': 7.26.0 '@babel/eslint-parser': 7.25.9(@babel/core@7.26.0)(eslint@8.57.0) @@ -19949,7 +19949,7 @@ snapshots: '@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2) '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.7.2) eslint-config-prettier: 9.1.0(eslint@8.57.0) - eslint-import-resolver-alias: 1.1.2(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0)) + eslint-import-resolver-alias: 1.1.2(eslint-plugin-import@2.31.0) eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.0) eslint-plugin-eslint-comments: 3.2.0(eslint@8.57.0) eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0) @@ -19961,7 +19961,7 @@ snapshots: eslint-plugin-testing-library: 6.5.0(eslint@8.57.0)(typescript@5.7.2) eslint-plugin-tsdoc: 0.2.17 eslint-plugin-unicorn: 51.0.1(eslint@8.57.0) - eslint-plugin-vitest: 0.3.26(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2)(vitest@2.1.8) + eslint-plugin-vitest: 0.3.26(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2)(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)) prettier-plugin-packagejson: 2.5.6(prettier@3.4.2) optionalDependencies: '@next/eslint-plugin-next': 15.1.0 @@ -20000,7 +20000,7 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.8(vite@5.4.11)': + '@vitest/mocker@2.1.8(vite@5.4.11(@types/node@22.10.2)(lightningcss@1.27.0)(terser@5.37.0))': dependencies: '@vitest/spy': 2.1.8 estree-walker: 3.0.3 @@ -22030,7 +22030,7 @@ snapshots: eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.0) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0) eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.0) eslint-plugin-react: 7.37.2(eslint@8.57.0) eslint-plugin-react-hooks: 5.1.0(eslint@8.57.0) @@ -22050,9 +22050,9 @@ snapshots: eslint: 8.57.0 eslint-plugin-turbo: 2.3.3(eslint@8.57.0) - eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0)): + eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.31.0): dependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0) eslint-import-resolver-node@0.3.9: dependencies: @@ -22074,11 +22074,11 @@ snapshots: is-glob: 4.0.3 stable-hash: 0.0.4 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0) transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.0))(eslint@8.57.0): + eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0): dependencies: debug: 3.2.7 optionalDependencies: @@ -22133,7 +22133,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0(eslint-plugin-import@2.31.0)(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -22151,7 +22151,7 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.0): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -22300,7 +22300,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-vitest@0.3.26(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2)(vitest@2.1.8): + eslint-plugin-vitest@0.3.26(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2))(eslint@8.57.0)(typescript@5.7.2)(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0)): dependencies: '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.7.2) eslint: 8.57.0 @@ -28617,7 +28617,7 @@ snapshots: vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)(lightningcss@1.27.0)(terser@5.37.0): dependencies: '@vitest/expect': 2.1.8 - '@vitest/mocker': 2.1.8(vite@5.4.11) + '@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@22.10.2)(lightningcss@1.27.0)(terser@5.37.0)) '@vitest/pretty-format': 2.1.8 '@vitest/runner': 2.1.8 '@vitest/snapshot': 2.1.8 From 6e14559d7e74d351d56b3c83430e0750592f8a1e Mon Sep 17 00:00:00 2001 From: Dhruwang Date: Wed, 15 Jan 2025 19:42:19 +0530 Subject: [PATCH 04/18] fix az auth --- .github/workflows/e2e.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index a53c2e953ee9..ebaee9080c75 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -6,6 +6,10 @@ on: env: TELEMETRY_DISABLED: 1 +permissions: + id-token: write + contents: read + jobs: build: name: Run E2E Tests From 2395999ef427b189d42849b9872d103c116eb2e8 Mon Sep 17 00:00:00 2001 From: Dhruwang Date: Wed, 15 Jan 2025 19:49:46 +0530 Subject: [PATCH 05/18] fix condif --- playwright.service.config.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/playwright.service.config.ts b/playwright.service.config.ts index 4996d05eb522..1b73f41fd8e1 100644 --- a/playwright.service.config.ts +++ b/playwright.service.config.ts @@ -10,7 +10,6 @@ export default defineConfig( timeout: 30000, os: ServiceOS.LINUX, useCloudHostedBrowsers: true, // Set to false if you want to only use reporting and not cloud hosted browsers - serviceAuthType: "ACCESS_TOKEN", }), { /* From d1f72f90bc258f13b43742dc97cdfc21275b3900 Mon Sep 17 00:00:00 2001 From: Dhruwang Date: Thu, 16 Jan 2025 10:23:53 +0530 Subject: [PATCH 06/18] fix auth --- .github/workflows/e2e.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index ebaee9080c75..198274fa485c 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -60,13 +60,13 @@ jobs: echo "E2E_TESTING=1" >> .env shell: bash - - name: Login to Azure with AzPowershell (enableAzPSSession true) + - name: Login to Azure uses: azure/login@v2 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - enable-AzPSSession: true + enable-AzPSSession: false - name: Build App run: | From 1ae89f85723aaa91de1decc8fd9ac8b7a7b75794 Mon Sep 17 00:00:00 2001 From: Dhruwang Date: Thu, 16 Jan 2025 10:58:54 +0530 Subject: [PATCH 07/18] fix az auth --- .github/workflows/e2e.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 198274fa485c..c077b693baad 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -66,7 +66,7 @@ jobs: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - enable-AzPSSession: false + enable-AzPSSession: true - name: Build App run: | From 35f6398960da2f570c29797de415d70c4309748f Mon Sep 17 00:00:00 2001 From: Dhruwang Date: Thu, 16 Jan 2025 11:10:48 +0530 Subject: [PATCH 08/18] updated workflow --- .github/workflows/e2e.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index c077b693baad..6afcd3685848 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -60,13 +60,19 @@ jobs: echo "E2E_TESTING=1" >> .env shell: bash - - name: Login to Azure + - name: Azure login uses: azure/login@v2 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - enable-AzPSSession: true + + - name: Azure CLI script + uses: azure/cli@v2 + with: + azcliversion: latest + inlineScript: | + az account show - name: Build App run: | From b03911ed8992274462a46b7551705b8abce5f012 Mon Sep 17 00:00:00 2001 From: Dhruwang Date: Thu, 16 Jan 2025 11:31:09 +0530 Subject: [PATCH 09/18] fix workflow --- .github/workflows/pr.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 998bb68d37bc..0d58b284e05e 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -60,6 +60,9 @@ jobs: e2e-test: name: Run E2E Tests needs: [changes] + permissions: + id-token: write + contents: read if: ${{ needs.changes.outputs.has-files-requiring-all-checks == 'true' }} uses: ./.github/workflows/e2e.yml secrets: inherit From a1e27a2bcdce328fd297f05b119b1000348112a7 Mon Sep 17 00:00:00 2001 From: Dhruwang Date: Thu, 16 Jan 2025 15:12:15 +0530 Subject: [PATCH 10/18] removes filter --- .github/workflows/pr.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 0d58b284e05e..976d3ca470f3 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -22,12 +22,6 @@ jobs: steps: - uses: actions/checkout@v3 - uses: ./.github/actions/dangerous-git-checkout - - uses: dorny/paths-filter@v2 - id: filter - with: - filters: | - has-files-requiring-all-checks: - - "!(**.md|.github/CODEOWNERS)" test: name: Run Unit Tests From 77cfc9deb40a604883fa41eb4e423d39628a3dbf Mon Sep 17 00:00:00 2001 From: Dhruwang Date: Thu, 16 Jan 2025 15:15:12 +0530 Subject: [PATCH 11/18] fix pr.yml --- .github/workflows/pr.yml | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 976d3ca470f3..268bafc5ef9c 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -12,52 +12,31 @@ concurrency: cancel-in-progress: true jobs: - changes: - name: Detect changes - runs-on: ubuntu-latest - permissions: - pull-requests: read - outputs: - has-files-requiring-all-checks: ${{ steps.filter.outputs.has-files-requiring-all-checks }} - steps: - - uses: actions/checkout@v3 - - uses: ./.github/actions/dangerous-git-checkout - test: name: Run Unit Tests - needs: [changes] - if: ${{ needs.changes.outputs.has-files-requiring-all-checks == 'true' }} uses: ./.github/workflows/test.yml secrets: inherit lint: name: Run Linters - needs: [changes] - if: ${{ needs.changes.outputs.has-files-requiring-all-checks == 'true' }} uses: ./.github/workflows/lint.yml secrets: inherit build: name: Build Formbricks-web - needs: [changes] - if: ${{ needs.changes.outputs.has-files-requiring-all-checks == 'true' }} uses: ./.github/workflows/build-web.yml secrets: inherit docs: name: Build Docs - needs: [changes] - if: ${{ needs.changes.outputs.has-files-requiring-all-checks == 'true' }} uses: ./.github/workflows/build-docs.yml secrets: inherit e2e-test: name: Run E2E Tests - needs: [changes] permissions: id-token: write contents: read - if: ${{ needs.changes.outputs.has-files-requiring-all-checks == 'true' }} uses: ./.github/workflows/e2e.yml secrets: inherit From 9715b5ad682ff7ef8429dc844ae18def86484acb Mon Sep 17 00:00:00 2001 From: Dhruwang Date: Fri, 17 Jan 2025 14:42:59 +0530 Subject: [PATCH 12/18] added conditional check --- .github/workflows/e2e.yml | 40 +++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 6afcd3685848..af18e9b3d30f 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -9,7 +9,7 @@ env: permissions: id-token: write contents: read - + jobs: build: name: Run E2E Tests @@ -60,20 +60,6 @@ jobs: echo "E2E_TESTING=1" >> .env shell: bash - - name: Azure login - uses: azure/login@v2 - with: - client-id: ${{ secrets.AZURE_CLIENT_ID }} - tenant-id: ${{ secrets.AZURE_TENANT_ID }} - subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - - - name: Azure CLI script - uses: azure/cli@v2 - with: - azcliversion: latest - inlineScript: | - az account show - - name: Build App run: | pnpm build --filter=@formbricks/web... @@ -103,12 +89,34 @@ jobs: - name: Install Playwright run: pnpm exec playwright install --with-deps - - name: Run E2E Tests + - name: Azure login + if: ${{ secrets.AZURE_CLIENT_ID != '' && secrets.AZURE_TENANT_ID != '' && secrets.AZURE_SUBSCRIPTION_ID != '' }} + uses: azure/login@v2 + with: + client-id: ${{ secrets.AZURE_CLIENT_ID }} + tenant-id: ${{ secrets.AZURE_TENANT_ID }} + subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} + + - name: Azure CLI script + if: ${{ secrets.AZURE_CLIENT_ID != '' && secrets.AZURE_TENANT_ID != '' && secrets.AZURE_SUBSCRIPTION_ID != '' }} + uses: azure/cli@v2 + with: + azcliversion: latest + inlineScript: | + az account show + + - name: Run E2E Tests (Azure) + if: ${{ secrets.AZURE_CLIENT_ID != '' && secrets.AZURE_TENANT_ID != '' && secrets.AZURE_SUBSCRIPTION_ID != '' }} env: PLAYWRIGHT_SERVICE_URL: ${{ secrets.PLAYWRIGHT_SERVICE_URL }} run: | pnpm test-e2e:azure + - name: Run E2E Tests (Local) + if: ${{ secrets.AZURE_CLIENT_ID == '' || secrets.AZURE_TENANT_ID == '' || secrets.AZURE_SUBSCRIPTION_ID == '' }} + run: | + pnpm test:e2e + - uses: actions/upload-artifact@v4 if: always() with: From fd00eecc773e28b44d121ef0289f917138d43a4a Mon Sep 17 00:00:00 2001 From: Dhruwang Date: Fri, 17 Jan 2025 14:46:27 +0530 Subject: [PATCH 13/18] fix yml file --- .github/workflows/e2e.yml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index af18e9b3d30f..3e5617c7731e 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -1,6 +1,15 @@ name: E2E Tests on: workflow_call: + secrets: + AZURE_CLIENT_ID: + required: false + AZURE_TENANT_ID: + required: false + AZURE_SUBSCRIPTION_ID: + required: false + PLAYWRIGHT_SERVICE_URL: + required: false workflow_dispatch: env: @@ -90,7 +99,7 @@ jobs: run: pnpm exec playwright install --with-deps - name: Azure login - if: ${{ secrets.AZURE_CLIENT_ID != '' && secrets.AZURE_TENANT_ID != '' && secrets.AZURE_SUBSCRIPTION_ID != '' }} + if: inputs.AZURE_CLIENT_ID != '' && inputs.AZURE_TENANT_ID != '' && inputs.AZURE_SUBSCRIPTION_ID != '' uses: azure/login@v2 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} @@ -98,7 +107,7 @@ jobs: subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - name: Azure CLI script - if: ${{ secrets.AZURE_CLIENT_ID != '' && secrets.AZURE_TENANT_ID != '' && secrets.AZURE_SUBSCRIPTION_ID != '' }} + if: inputs.AZURE_CLIENT_ID != '' && inputs.AZURE_TENANT_ID != '' && inputs.AZURE_SUBSCRIPTION_ID != '' uses: azure/cli@v2 with: azcliversion: latest @@ -106,14 +115,14 @@ jobs: az account show - name: Run E2E Tests (Azure) - if: ${{ secrets.AZURE_CLIENT_ID != '' && secrets.AZURE_TENANT_ID != '' && secrets.AZURE_SUBSCRIPTION_ID != '' }} + if: inputs.AZURE_CLIENT_ID != '' && inputs.AZURE_TENANT_ID != '' && inputs.AZURE_SUBSCRIPTION_ID != '' env: PLAYWRIGHT_SERVICE_URL: ${{ secrets.PLAYWRIGHT_SERVICE_URL }} run: | pnpm test-e2e:azure - name: Run E2E Tests (Local) - if: ${{ secrets.AZURE_CLIENT_ID == '' || secrets.AZURE_TENANT_ID == '' || secrets.AZURE_SUBSCRIPTION_ID == '' }} + if: inputs.AZURE_CLIENT_ID == '' || inputs.AZURE_TENANT_ID == '' || inputs.AZURE_SUBSCRIPTION_ID == '' run: | pnpm test:e2e From 14cf97266a9dd664666a58a96bd5f1995eaf22a8 Mon Sep 17 00:00:00 2001 From: Dhruwang Date: Fri, 17 Jan 2025 15:13:17 +0530 Subject: [PATCH 14/18] fix condition --- .github/workflows/e2e.yml | 31 +++++++++++-------------------- 1 file changed, 11 insertions(+), 20 deletions(-) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 3e5617c7731e..9b5f702e28ec 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -1,15 +1,6 @@ name: E2E Tests on: workflow_call: - secrets: - AZURE_CLIENT_ID: - required: false - AZURE_TENANT_ID: - required: false - AZURE_SUBSCRIPTION_ID: - required: false - PLAYWRIGHT_SERVICE_URL: - required: false workflow_dispatch: env: @@ -98,31 +89,31 @@ jobs: - name: Install Playwright run: pnpm exec playwright install --with-deps + - name: Set Azure Secret Variables + run: | + if [[ -n "${{ secrets.AZURE_CLIENT_ID }}" && -n "${{ secrets.AZURE_TENANT_ID }}" && -n "${{ secrets.AZURE_SUBSCRIPTION_ID }}" ]]; then + echo "AZURE_ENABLED=true" >> $GITHUB_ENV + else + echo "AZURE_ENABLED=false" >> $GITHUB_ENV + fi + - name: Azure login - if: inputs.AZURE_CLIENT_ID != '' && inputs.AZURE_TENANT_ID != '' && inputs.AZURE_SUBSCRIPTION_ID != '' + if: env.AZURE_ENABLED == 'true' uses: azure/login@v2 with: client-id: ${{ secrets.AZURE_CLIENT_ID }} tenant-id: ${{ secrets.AZURE_TENANT_ID }} subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - - name: Azure CLI script - if: inputs.AZURE_CLIENT_ID != '' && inputs.AZURE_TENANT_ID != '' && inputs.AZURE_SUBSCRIPTION_ID != '' - uses: azure/cli@v2 - with: - azcliversion: latest - inlineScript: | - az account show - - name: Run E2E Tests (Azure) - if: inputs.AZURE_CLIENT_ID != '' && inputs.AZURE_TENANT_ID != '' && inputs.AZURE_SUBSCRIPTION_ID != '' + if: env.AZURE_ENABLED == 'true' env: PLAYWRIGHT_SERVICE_URL: ${{ secrets.PLAYWRIGHT_SERVICE_URL }} run: | pnpm test-e2e:azure - name: Run E2E Tests (Local) - if: inputs.AZURE_CLIENT_ID == '' || inputs.AZURE_TENANT_ID == '' || inputs.AZURE_SUBSCRIPTION_ID == '' + if: env.AZURE_ENABLED == 'false' run: | pnpm test:e2e From f8e96e73fe1d6528fd3df9a776cce1b1859765ee Mon Sep 17 00:00:00 2001 From: Dhruwang Date: Fri, 17 Jan 2025 17:24:42 +0530 Subject: [PATCH 15/18] fix: secret usage --- .github/workflows/e2e.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 9b5f702e28ec..02038dd0c50f 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -1,6 +1,17 @@ name: E2E Tests + on: workflow_call: + secrets: + AZURE_CLIENT_ID: + required: false + AZURE_TENANT_ID: + required: false + AZURE_SUBSCRIPTION_ID: + required: false + PLAYWRIGHT_SERVICE_URL: + required: false + # Add other secrets if necessary workflow_dispatch: env: From a5b101a3e4cc9eb1c78be1c10cd082886a25f801 Mon Sep 17 00:00:00 2001 From: Dhruwang Date: Fri, 17 Jan 2025 17:50:05 +0530 Subject: [PATCH 16/18] fix secrets passing --- .github/workflows/pr.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 268bafc5ef9c..7da6f5c94b32 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -34,11 +34,12 @@ jobs: e2e-test: name: Run E2E Tests - permissions: - id-token: write - contents: read uses: ./.github/workflows/e2e.yml - secrets: inherit + secrets: + AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }} + AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }} + AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }} + PLAYWRIGHT_SERVICE_URL: ${{ secrets.PLAYWRIGHT_SERVICE_URL }} required: name: PR Check Summary From 86aa805a6b16262d4849e38d60c0655f75204525 Mon Sep 17 00:00:00 2001 From: Dhruwang Date: Fri, 17 Jan 2025 18:20:18 +0530 Subject: [PATCH 17/18] fix: inherting secrets --- .github/workflows/pr.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 7da6f5c94b32..b5f307ee260f 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -35,11 +35,7 @@ jobs: e2e-test: name: Run E2E Tests uses: ./.github/workflows/e2e.yml - secrets: - AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }} - AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }} - AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }} - PLAYWRIGHT_SERVICE_URL: ${{ secrets.PLAYWRIGHT_SERVICE_URL }} + secrets: inherit required: name: PR Check Summary From e7212b6020fb75f14dcc3d1f47edb7d52b5fb6ec Mon Sep 17 00:00:00 2001 From: Dhruwang Date: Thu, 23 Jan 2025 11:49:00 +0530 Subject: [PATCH 18/18] fix: permission --- .github/workflows/pr.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 28ece0f046b1..ae703a4e4011 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -6,6 +6,7 @@ permissions: pull-requests: read actions: read checks: write + id-token: write on: pull_request: