Compare commits

...

12 Commits

Author SHA1 Message Date
Johnpaul Chiwetelu
f9feb0fba4 Merge branch 'main' into fix-nigthly-test 2026-01-29 03:25:47 +01:00
github-actions
c909f99a99 [automated] Update test expectations 2026-01-29 02:22:27 +00:00
Johnpaul
69ef8ff804 fix: build frontend with IS_NIGHTLY=true in CI workflows
The test was failing because the frontend was built without IS_NIGHTLY=true,
so the compiled code had __IS_NIGHTLY__ set to false. Setting IS_NIGHTLY=true
during test runtime didn't affect the already-compiled code.

This fix ensures the frontend is built with IS_NIGHTLY=true during the build
phase in the CI workflows, so the compiled code will have the correct value.
2026-01-29 03:09:44 +01:00
Alexander Brown
0fdbd77ac8 Merge branch 'main' into fix-nigthly-test 2026-01-28 14:13:01 -08:00
Alexander Brown
508de7ac88 Merge branch 'main' into fix-nigthly-test 2026-01-27 20:27:04 -08:00
Johnpaul Chiwetelu
da81399727 Merge branch 'main' into fix-nigthly-test 2026-01-28 01:13:56 +01:00
GitHub Action
6c30c93e83 [automated] Apply ESLint and Oxfmt fixes 2026-01-27 22:34:45 +00:00
Johnpaul
664be8fc19 test: configure Playwright tests to always run as nightly builds
- Set IS_NIGHTLY=true for all Playwright test runs
- Update CI workflows to pass IS_NIGHTLY=true to test commands
- Update package.json test:browser scripts to include IS_NIGHTLY=true
- Update dialog test to expect 'oss-nightly' instead of 'oss'
- Also update playwright expectations workflow to use IS_NIGHTLY=true

This ensures consistent test behavior regardless of where tests run,
since Playwright tests now always run with IS_NIGHTLY=true.
2026-01-27 23:31:53 +01:00
GitHub Action
0ac13a6f8d [automated] Apply ESLint and Oxfmt fixes 2026-01-27 21:53:19 +00:00
Johnpaul
14d7aecf71 test: exclude top 15% of viewport from mobile screenshot tests
- Add viewport clipping to mobile baseline tests to reduce flakiness
- Clip top 15% of viewport for all @mobile screenshot tests
- Affects:
  - mobileBaseline.spec.ts: empty canvas and default workflow tests
  - pan.spec.ts: touch pan test
  - move.spec.ts: touch node move test
- This helps reduce test flakiness from variable mobile UI elements
2026-01-27 22:50:18 +01:00
Johnpaul
4b2804aec1 Merge remote-tracking branch 'origin/main' into fix-nigthly-test 2026-01-27 22:39:05 +01:00
Johnpaul
7bca1558a6 test: fix dialog support URL test to properly mock IS_NIGHTLY flag
- Test both nightly and stable build scenarios
- Mock __IS_NIGHTLY__ global to true/false before page loads
- Expect 'oss-nightly' when IS_NIGHTLY is true
- Expect 'oss' when IS_NIGHTLY is false
- Uses Object.defineProperty to properly set the global value
2026-01-27 22:38:28 +01:00
28 changed files with 12 additions and 4 deletions

View File

@@ -22,6 +22,8 @@ jobs:
uses: ./.github/actions/setup-frontend
with:
include_build_step: true
env:
IS_NIGHTLY: 'true'
# Upload only built dist/ (containerized test jobs will pnpm install without cache)
- name: Upload built frontend
@@ -70,6 +72,7 @@ jobs:
run: pnpm exec playwright test --project=chromium --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }} --reporter=blob
env:
PLAYWRIGHT_BLOB_OUTPUT_DIR: ./blob-report
IS_NIGHTLY: 'true'
- name: Upload blob report
uses: actions/upload-artifact@v4
@@ -117,6 +120,7 @@ jobs:
run: pnpm exec playwright test --project=${{ matrix.browser }} --reporter=blob
env:
PLAYWRIGHT_BLOB_OUTPUT_DIR: ./blob-report
IS_NIGHTLY: 'true'
- name: Generate HTML and JSON reports
if: always()

View File

@@ -63,6 +63,8 @@ jobs:
uses: ./.github/actions/setup-frontend
with:
include_build_step: true
env:
IS_NIGHTLY: 'true'
# Upload built dist/ (containerized test jobs will pnpm install without cache)
- name: Upload built frontend
@@ -110,6 +112,8 @@ jobs:
- name: Update snapshots (Shard ${{ matrix.shardIndex }}/${{ matrix.shardTotal }})
id: playwright-tests
run: pnpm exec playwright test --update-snapshots --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }}
env:
IS_NIGHTLY: 'true'
continue-on-error: true
- name: Stage changed snapshot files

View File

@@ -320,7 +320,7 @@ test.describe('Support', () => {
await expect(newPage).toHaveURL(/.*support\.comfy\.org.*/)
const url = new URL(newPage.url())
expect(url.searchParams.get('tf_42243568391700')).toBe('oss')
expect(url.searchParams.get('tf_42243568391700')).toBe('oss-nightly')
await newPage.close()
})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View File

@@ -1,8 +1,8 @@
import {
type ComfyPage,
comfyExpect as expect,
comfyPageFixture as test
} from '../../../../fixtures/ComfyPage'
import type { ComfyPage } from '../../../../fixtures/ComfyPage'
import type { Position } from '../../../../fixtures/types'
test.describe('Vue Node Moving', () => {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 107 KiB

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 KiB

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 139 KiB

After

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 107 KiB

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 85 KiB

View File

@@ -43,8 +43,8 @@
"storybook:desktop": "nx run @comfyorg/desktop-ui:storybook",
"stylelint:fix": "stylelint --cache --fix '{apps,packages,src}/**/*.{css,vue}'",
"stylelint": "stylelint --cache '{apps,packages,src}/**/*.{css,vue}'",
"test:browser": "pnpm exec nx e2e",
"test:browser:local": "cross-env PLAYWRIGHT_LOCAL=1 pnpm test:browser",
"test:browser": "cross-env IS_NIGHTLY=true pnpm exec nx e2e",
"test:browser:local": "cross-env PLAYWRIGHT_LOCAL=1 IS_NIGHTLY=true pnpm test:browser",
"test:unit": "nx run test",
"typecheck": "vue-tsc --noEmit",
"typecheck:desktop": "nx run @comfyorg/desktop-ui:typecheck",