Skip to content

merge release-8.7.1 #16770

merge release-8.7.1

merge release-8.7.1 #16770

Triggered via pull request July 31, 2025 16:02
Status Success
Total duration 10m 14s
Artifacts 27

build.yml

on: pull_request
build-react
43s
build-react
build-vue
39s
build-vue
Matrix: test-core-screenshot
build-angular
59s
build-angular
build-angular-server
42s
build-angular-server
test-core-clean-build
12s
test-core-clean-build
test-core-lint
44s
test-core-lint
test-core-spec
41s
test-core-spec
build-react-router
36s
build-react-router
build-vue-router
46s
build-vue-router
verify-screenshots
3s
verify-screenshots
Matrix: test-angular-e2e
Matrix: test-react-e2e
Matrix: test-react-router-e2e
Matrix: test-vue-e2e
verify-test-angular-e2e
2s
verify-test-angular-e2e
verify-test-react-e2e
3s
verify-test-react-e2e
verify-test-react-router-e2e
3s
verify-test-react-router-e2e
verify-test-vue-e2e
4s
verify-test-vue-e2e
Fit to window
Zoom out
Zoom in

Annotations

8 errors and 20 notices
[Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:117:11 › radio: a11y - md/ltr/dark › radio: keyboard navigation - md/ltr/dark › tabbing should switch between radio groups: src/components/radio/test/a11y/radio.e2e.ts#L122
1) [Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:117:11 › radio: a11y - md/ltr/dark › radio: keyboard navigation - md/ltr/dark › tabbing should switch between radio groups Error: Timed out 5000ms waiting for expect(locator).toBeFocused() Locator: locator('#first-group ion-radio').first() Expected: focused Received: inactive Call log: - Expect "toBeFocused" with timeout 5000ms - waiting for locator('#first-group ion-radio').first() 9 × locator resolved to <ion-radio value="huey" role="radio" tabindex="0" aria-checked="true" class="md in-item radio-checked radio-label-placement-start hydrated">Huey</ion-radio> - unexpected value "inactive" 120 | 121 | await pageUtils.pressKeys('Tab'); > 122 | await expect(firstGroupRadios.nth(0)).toBeFocused(); | ^ 123 | 124 | await pageUtils.pressKeys('Tab'); 125 | await expect(secondGroupRadios.nth(0)).toBeFocused(); at /ionic/src/components/radio/test/a11y/radio.e2e.ts:122:47
[Mobile Safari] › src/components/input-otp/test/separators/input-otp.e2e.ts:90:9 › input-otp: separators functionality - ios/ltr › should render separators after the second and third input box: src/components/input-otp/test/separators/input-otp.e2e.ts#L99
2) [Mobile Safari] › src/components/input-otp/test/separators/input-otp.e2e.ts:90:9 › input-otp: separators functionality - ios/ltr › should render separators after the second and third input box Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(received).toBe(expected) // Object.is equality Expected: true Received: false 97 | 98 | await expect(await hasSeparatorAfter(page, 0)).toBe(false); > 99 | await expect(await hasSeparatorAfter(page, 1)).toBe(true); | ^ 100 | await expect(await hasSeparatorAfter(page, 2)).toBe(true); 101 | await expect(await hasSeparatorAfter(page, 3)).toBe(false); 102 | }); at /ionic/src/components/input-otp/test/separators/input-otp.e2e.ts:99:54
[Mobile Safari] › src/components/input-otp/test/separators/input-otp.e2e.ts:90:9 › input-otp: separators functionality - ios/ltr › should render separators after the second and third input box: src/components/input-otp/test/separators/input-otp.e2e.ts#L99
2) [Mobile Safari] › src/components/input-otp/test/separators/input-otp.e2e.ts:90:9 › input-otp: separators functionality - ios/ltr › should render separators after the second and third input box Error: expect(received).toBe(expected) // Object.is equality Expected: true Received: false 97 | 98 | await expect(await hasSeparatorAfter(page, 0)).toBe(false); > 99 | await expect(await hasSeparatorAfter(page, 1)).toBe(true); | ^ 100 | await expect(await hasSeparatorAfter(page, 2)).toBe(true); 101 | await expect(await hasSeparatorAfter(page, 3)).toBe(false); 102 | }); at /ionic/src/components/input-otp/test/separators/input-otp.e2e.ts:99:54
[Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:11:9 › datetime-button: rendering - md/ltr › should size the modal correctly: src/components/datetime-button/test/overlays/datetime-button.e2e.ts#L27
1) [Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:11:9 › datetime-button: rendering - md/ltr › should size the modal correctly Error: expect(page).toHaveScreenshot(expected) 1769 pixels (ratio 0.01 of all image pixels) are different. Snapshot: datetime-overlay-modal-md-ltr.png Call log: - Expect "toHaveScreenshot(datetime-overlay-modal-md-ltr.png)" with timeout 5000ms - verifying given screenshot expectation - taking page screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - 1769 pixels (ratio 0.01 of all image pixels) are different. - waiting 100ms before taking screenshot - taking page screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - captured a stable screenshot - 1769 pixels (ratio 0.01 of all image pixels) are different. 25 | await ionModalDidPresent.next(); 26 | > 27 | await expect(page).toHaveScreenshot(screenshot(`datetime-overlay-modal`)); | ^ 28 | }); 29 | 30 | test('should size the popover correctly', async ({ page, skip }) => { at /ionic/src/components/datetime-button/test/overlays/datetime-button.e2e.ts:27:26
[Mobile Safari] › src/components/datetime/test/datetime.e2e.ts:35:9 › datetime: switching months with different number of days - md/ltr › should adjust the selected day when moving to a month with a different number of days: src/components/datetime/test/datetime.e2e.ts#L48
2) [Mobile Safari] › src/components/datetime/test/datetime.e2e.ts:35:9 › datetime: switching months with different number of days - md/ltr › should adjust the selected day when moving to a month with a different number of days Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expected event "ionChange" to have been called 1 times, but it was called 2 times 46 | 47 | await ionChange.next(); > 48 | await expect(ionChange).toHaveReceivedEventTimes(1); | ^ 49 | await expect(datetime).toHaveJSProperty('value', '2022-02-28'); 50 | }); 51 | }); at /ionic/src/components/datetime/test/datetime.e2e.ts:48:31
[Mobile Safari] › src/components/datetime/test/datetime.e2e.ts:35:9 › datetime: switching months with different number of days - md/ltr › should adjust the selected day when moving to a month with a different number of days: src/components/datetime/test/datetime.e2e.ts#L49
2) [Mobile Safari] › src/components/datetime/test/datetime.e2e.ts:35:9 › datetime: switching months with different number of days - md/ltr › should adjust the selected day when moving to a month with a different number of days Error: Timed out 5000ms waiting for expect(locator).toHaveJSProperty(expected) Locator: locator('ion-datetime') Expected: "2022-02-28" Received: "2021-02-28" Call log: - Expect "toHaveJSProperty" with timeout 5000ms - waiting for locator('ion-datetime') 9 × locator resolved to <ion-datetime locale="en-US" value="2022-01-31" presentation="date" class="ion-color ion-color-primary md datetime-presentation-date datetime-size-fixed datetime-grid hydrated datetime-ready show-month-and-year month-year-picker-open">…</ion-datetime> - unexpected value "2021-02-28" 47 | await ionChange.next(); 48 | await expect(ionChange).toHaveReceivedEventTimes(1); > 49 | await expect(datetime).toHaveJSProperty('value', '2022-02-28'); | ^ 50 | }); 51 | }); 52 | }); at /ionic/src/components/datetime/test/datetime.e2e.ts:49:30
[Mobile Safari] › src/components/datetime/test/datetime.e2e.ts:17:9 › datetime: switching months with different number of days - md/ltr › should switch the calendar header when moving to a month with a different number of days: src/components/datetime/test/datetime.e2e.ts#L32
1) [Mobile Safari] › src/components/datetime/test/datetime.e2e.ts:17:9 › datetime: switching months with different number of days - md/ltr › should switch the calendar header when moving to a month with a different number of days Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: Timed out 5000ms waiting for expect(locator).toContainText(expected) Locator: locator('ion-datetime .calendar-month-year') Expected string: "February 2022" Received string: "February 2021" Call log: - Expect "toContainText" with timeout 5000ms - waiting for locator('ion-datetime .calendar-month-year') 9 × locator resolved to <div class="calendar-month-year">…</div> - unexpected value "February 2021" 30 | await page.waitForChanges(); 31 | > 32 | await expect(monthYearToggle).toContainText('February 2022'); | ^ 33 | }); 34 | 35 | test('should adjust the selected day when moving to a month with a different number of days', async ({ page }) => { at /ionic/src/components/datetime/test/datetime.e2e.ts:32:37
[Mobile Safari] › src/components/datetime/test/datetime.e2e.ts:17:9 › datetime: switching months with different number of days - md/ltr › should switch the calendar header when moving to a month with a different number of days: src/components/datetime/test/datetime.e2e.ts#L32
1) [Mobile Safari] › src/components/datetime/test/datetime.e2e.ts:17:9 › datetime: switching months with different number of days - md/ltr › should switch the calendar header when moving to a month with a different number of days Error: Timed out 5000ms waiting for expect(locator).toContainText(expected) Locator: locator('ion-datetime .calendar-month-year') Expected string: "February 2022" Received string: "February 2021" Call log: - Expect "toContainText" with timeout 5000ms - waiting for locator('ion-datetime .calendar-month-year') 9 × locator resolved to <div class="calendar-month-year">…</div> - unexpected value "February 2021" 30 | await page.waitForChanges(); 31 | > 32 | await expect(monthYearToggle).toContainText('February 2022'); | ^ 33 | }); 34 | 35 | test('should adjust the selected day when moving to a month with a different number of days', async ({ page }) => { at /ionic/src/components/datetime/test/datetime.e2e.ts:32:37
🎭 Playwright Run Summary
216 skipped 257 passed (2.3m)
🎭 Playwright Run Summary
407 passed (2.5m)
🎭 Playwright Run Summary
1 skipped 534 passed (3.1m)
🎭 Playwright Run Summary
1 skipped 529 passed (3.1m)
🎭 Playwright Run Summary
212 skipped 303 passed (3.5m)
🎭 Playwright Run Summary
1 flaky [Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:117:11 › radio: a11y - md/ltr/dark › radio: keyboard navigation - md/ltr/dark › tabbing should switch between radio groups 4 skipped 509 passed (3.6m)
🎭 Playwright Run Summary
4 skipped 635 passed (3.7m)
🎭 Playwright Run Summary
638 passed (4.1m)
🎭 Playwright Run Summary
10 skipped 503 passed (4.7m)
🎭 Playwright Run Summary
2 flaky [Mobile Safari] › src/components/datetime-button/test/overlays/datetime-button.e2e.ts:11:9 › datetime-button: rendering - md/ltr › should size the modal correctly [Mobile Safari] › src/components/input-otp/test/separators/input-otp.e2e.ts:90:9 › input-otp: separators functionality - ios/ltr › should render separators after the second and third input box 5 skipped 508 passed (5.0m)
🎭 Playwright Run Summary
14 skipped 399 passed (5.2m)
🎭 Playwright Run Summary
10 skipped 526 passed (6.5m)
🎭 Playwright Run Summary
1 skipped 537 passed (6.7m)
🎭 Playwright Run Summary
5 skipped 515 passed (7.0m)
🎭 Playwright Run Summary
4 skipped 528 passed (7.0m)
🎭 Playwright Run Summary
2 flaky [Mobile Safari] › src/components/datetime/test/datetime.e2e.ts:17:9 › datetime: switching months with different number of days - md/ltr › should switch the calendar header when moving to a month with a different number of days [Mobile Safari] › src/components/datetime/test/datetime.e2e.ts:35:9 › datetime: switching months with different number of days - md/ltr › should adjust the selected day when moving to a month with a different number of days 2 skipped 507 passed (7.3m)
🎭 Playwright Run Summary
1 skipped 523 passed (7.4m)
🎭 Playwright Run Summary
5 skipped 563 passed (7.5m)
🎭 Playwright Run Summary
14 skipped 497 passed (7.6m)
🎭 Playwright Run Summary
7 skipped 507 passed (8.0m)

Artifacts

Produced during runtime
Name Size Digest
ionic-angular Expired
666 KB
sha256:e79911dc0afbaaa981516d773eafe4b7766f86e3f745954937a5f1423c2fe0e9
ionic-angular-server Expired
8.55 KB
sha256:3b45eb5d1474c8434b6a30acbda50d703691d8279719bef2501073939ec4fcab
ionic-core Expired
4.51 MB
sha256:9f903f7c0b78b7ff71b3039d1219475df7a69ba3df61989dff731fbc599f5f79
ionic-react Expired
211 KB
sha256:19ea2c0a6adec7f068a21626ce6b301c7b488a142bc93743197a5d8bca8c40ac
ionic-react-router Expired
27.9 KB
sha256:8e5ad3d56149cb78b2a17ebbbf88654e6020b31dd224eef0224676750833c77d
ionic-vue Expired
233 KB
sha256:c4986e9835308e875d7091cb263637b1e6143402e8cce194835d2c4507d63e45
ionic-vue-router Expired
17 KB
sha256:ae1fcd3e0a9e244a9517426016b8ac79c82f2b4191e57eb32227359f5ad625bc
test-results-1-20 Expired
430 KB
sha256:1f5184ec30a6703852a5f6cebb69874315fa2be2363e48f4e85b931bb9f0e04e
test-results-10-20 Expired
404 KB
sha256:663123825bc439df30bdd60525623798585bfb92a46e3c7bd55e0eefcb09d490
test-results-11-20 Expired
1.22 MB
sha256:9a8b0ec9a8b7d73e90f3f3be9cb0a941bc80ab7566b001447e7c9926db3bd08c
test-results-12-20 Expired
441 KB
sha256:fc9a8cb3bc67ee25b847302583f1be72b8adfc4a36816cdecdf6184baa195f67
test-results-13-20 Expired
434 KB
sha256:a468d107a004d92a24ffeb82a1e3b48f223988643728e6939264d1a6357b6cf2
test-results-14-20 Expired
398 KB
sha256:832f4d56f88c7569605bc8329cb5e9f550f5881816c2242e98ac5a66a33ce2df
test-results-15-20 Expired
2.72 MB
sha256:9cb8ffb77ebc3185779e926fbb9852eaa9af088b912e918987a8231728f8bca7
test-results-16-20 Expired
1.99 MB
sha256:6f243e17536d84fa736d8046b88a23bb484285d4732558fef555e221a1bd8735
test-results-17-20 Expired
525 KB
sha256:c1537536dbdd973388f4d3468521bf0f223e3e08c14142e3c181b3e7fc9f0280
test-results-18-20 Expired
503 KB
sha256:20ae0f6679556c910c365933f65daff76686bfe2055d4da86055bc4e4835b920
test-results-19-20 Expired
389 KB
sha256:00bd1bd56d3c14a83c66b453e7daab87f40ee880c732b0ce9117c111e3ea91bf
test-results-2-20 Expired
466 KB
sha256:7dd12cc85de01cc5f2017e81f532d208dc037fede40a25e85749d1c5f122d271
test-results-20-20 Expired
344 KB
sha256:67d2c720ab62980e43783d91c783ba836fee99640df20d6d2bb2b3f398b14523
test-results-3-20 Expired
422 KB
sha256:edd174fee032ec1d2a51575fdc957f0d1ad526618a8f93bb236df06d8f190773
test-results-4-20 Expired
518 KB
sha256:78d3b500db531e0259bf08d9d0cc0d60a1103532613e2797914506877b0dacad
test-results-5-20 Expired
451 KB
sha256:08c0423fd14df1b353f889b934e7922cdd82cf50f04c901370c142f76c41ea30
test-results-6-20 Expired
435 KB
sha256:38e72fdfbbb817334d6af16263760a26489825bc7a7abc12415ca96b0a2173de
test-results-7-20 Expired
339 KB
sha256:38a1668c1a02be38fba794559a2fcc25ead0021cf818e542445d54a88bc06d72
test-results-8-20 Expired
417 KB
sha256:cdc5448d379ab0de810cb4033c80a1d2498cd550d53f6f326f799a13b15dc749
test-results-9-20 Expired
476 KB
sha256:bbfba6207e8af9db1f9636518b171155eb96368a761e7f2f4fb15c9e29025808