Skip to content

fix(tokens): color classes generation from tokens #17199

fix(tokens): color classes generation from tokens

fix(tokens): color classes generation from tokens #17199

Re-run triggered October 13, 2025 13:59
Status Failure
Total duration 13m 47s
Artifacts 27

build.yml

on: pull_request
build-vue
42s
build-vue
Matrix: test-core-screenshot
build-angular
1m 7s
build-angular
build-angular-server
51s
build-angular-server
test-core-clean-build
11s
test-core-clean-build
test-core-lint
1m 1s
test-core-lint
test-core-spec
45s
test-core-spec
build-react-router
34s
build-react-router
build-vue-router
50s
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
3s
verify-test-angular-e2e
verify-test-react-e2e
3s
verify-test-react-e2e
verify-test-react-router-e2e
2s
verify-test-react-router-e2e
verify-test-vue-e2e
2s
verify-test-vue-e2e
Fit to window
Zoom out
Zoom in

Annotations

10 errors and 20 notices
test-vue-e2e (vue3)
Process completed with exit code 1.
verify-test-vue-e2e
Process completed with exit code 1.
[Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:130:11 › radio: a11y - md/ltr/dark › radio: keyboard navigation - md/ltr/dark › using arrow keys should move between enabled radios within group: src/components/radio/test/a11y/radio.e2e.ts#L134
3) [Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:130:11 › radio: a11y - md/ltr/dark › radio: keyboard navigation - md/ltr/dark › using arrow keys should move between enabled radios within group Error: expect(locator).toBeFocused() failed Locator: locator('#first-group ion-radio').first() Expected: focused Received: inactive Timeout: 5000ms 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" 132 | 133 | await pageUtils.pressKeys('Tab'); > 134 | await expect(firstGroupRadios.nth(0)).toBeFocused(); | ^ 135 | 136 | await page.keyboard.press('ArrowDown'); 137 | await expect(firstGroupRadios.nth(1)).toBeFocused(); at /ionic/src/components/radio/test/a11y/radio.e2e.ts:134:47
[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
2) [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: expect(locator).toBeFocused() failed Locator: locator('#first-group ion-radio').first() Expected: focused Received: inactive Timeout: 5000ms 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 Chrome] › src/components/radio/test/a11y/radio.e2e.ts:117:11 › radio: a11y - md/ltr › radio: keyboard navigation - md/ltr › 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 › radio: keyboard navigation - md/ltr › tabbing should switch between radio groups Error: expect(locator).toBeFocused() failed Locator: locator('#first-group ion-radio').first() Expected: focused Received: inactive Timeout: 5000ms 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 Firefox] › src/components/toast/test/swipe-gesture/toast.e2e.ts:58:9 › toast: swipe gesture with bottom position - ios/ltr › should swipe down to dismiss with anchor: src/components/toast/test/swipe-gesture/toast.e2e.ts#L0
2) [Mobile Firefox] › src/components/toast/test/swipe-gesture/toast.e2e.ts:58:9 › toast: swipe gesture with bottom position - ios/ltr › should swipe down to dismiss with anchor Test timeout of 30000ms exceeded.
[Mobile Firefox] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/ltr/light › should not have visual regressions: src/components/tab-bar/test/basic/tab-bar.e2e.ts#L45
1) [Mobile Firefox] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/ltr/light › should not have visual regressions Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveScreenshot(expected) failed 533 pixels (ratio 0.03 of all image pixels) are different. Snapshot: tab-bar-default-ionic-md-ltr-light.png Call log: - Expect "toHaveScreenshot(tab-bar-default-ionic-md-ltr-light.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('ion-tab-bar') - locator resolved to <ion-tab-bar role="tablist" selected-tab="2" class="ionic tab-bar-full tab-bar-round hydrated">…</ion-tab-bar> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 533 pixels (ratio 0.03 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('ion-tab-bar') - locator resolved to <ion-tab-bar role="tablist" selected-tab="2" class="ionic tab-bar-full tab-bar-round hydrated">…</ion-tab-bar> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 533 pixels (ratio 0.03 of all image pixels) are different. 43 | const tabBar = page.locator('ion-tab-bar'); 44 | > 45 | await expect(tabBar).toHaveScreenshot(screenshot(`tab-bar-default`)); | ^ 46 | }); 47 | }); 48 | }); at /ionic/src/components/tab-bar/test/basic/tab-bar.e2e.ts:45:28
[Mobile Firefox] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/ltr/light › should not have visual regressions: src/components/tab-bar/test/basic/tab-bar.e2e.ts#L45
1) [Mobile Firefox] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/ltr/light › should not have visual regressions Error: expect(locator).toHaveScreenshot(expected) failed 533 pixels (ratio 0.03 of all image pixels) are different. Snapshot: tab-bar-default-ionic-md-ltr-light.png Call log: - Expect "toHaveScreenshot(tab-bar-default-ionic-md-ltr-light.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('ion-tab-bar') - locator resolved to <ion-tab-bar role="tablist" selected-tab="2" class="ionic tab-bar-full tab-bar-round hydrated">…</ion-tab-bar> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 533 pixels (ratio 0.03 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('ion-tab-bar') - locator resolved to <ion-tab-bar role="tablist" selected-tab="2" class="ionic tab-bar-full tab-bar-round hydrated">…</ion-tab-bar> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 533 pixels (ratio 0.03 of all image pixels) are different. 43 | const tabBar = page.locator('ion-tab-bar'); 44 | > 45 | await expect(tabBar).toHaveScreenshot(screenshot(`tab-bar-default`)); | ^ 46 | }); 47 | }); 48 | }); at /ionic/src/components/tab-bar/test/basic/tab-bar.e2e.ts:45:28
[Mobile Firefox] › src/components/datetime/test/locale/datetime.e2e.ts:47:11 › datetime: locale - md/ltr › ja-JP › time picker should not have visual regressions: src/components/datetime/test/locale/datetime.e2e.ts#L166
1) [Mobile Firefox] › src/components/datetime/test/locale/datetime.e2e.ts:47:11 › datetime: locale - md/ltr › ja-JP › time picker should not have visual regressions Error: expect(locator).toHaveScreenshot(expected) failed 119 pixels (ratio 0.01 of all image pixels) are different. Snapshot: datetime-locale-ja-JP-time-diff-md-ltr.png Call log: - Expect "toHaveScreenshot(datetime-locale-ja-JP-time-diff-md-ltr.png)" with timeout 5000ms - verifying given screenshot expectation - waiting for locator('ion-datetime') - locator resolved to <ion-datetime max="2022" locale="ja-JP" presentation="time" show-default-title="true" show-default-buttons="true" value="2022-04-19T04:20:00" class="ion-color ion-color-primary md datetime-presentation-time datetime-size-fixed hydrated datetime-ready">…</ion-datetime> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - 119 pixels (ratio 0.01 of all image pixels) are different. - waiting 100ms before taking screenshot - waiting for locator('ion-datetime') - locator resolved to <ion-datetime max="2022" locale="ja-JP" presentation="time" show-default-title="true" show-default-buttons="true" value="2022-04-19T04:20:00" class="ion-color ion-color-primary md datetime-presentation-time datetime-size-fixed hydrated datetime-ready">…</ion-datetime> - taking element screenshot - disabled all CSS animations - waiting for fonts to load... - fonts loaded - attempting scroll into view action - waiting for element to be stable - captured a stable screenshot - 119 pixels (ratio 0.01 of all image pixels) are different. 164 | async expectLocalizedPicker(screenshot: ScreenshotFn, modifier?: string) { 165 | const modifierString = modifier === undefined ? '' : `-${modifier}`; > 166 | await expect(this.datetime).toHaveScreenshot(screenshot(`datetime-locale-${this.locale}${modifierString}-diff`)); | ^ 167 | } 168 | } 169 | at DatetimeLocaleFixture.expectLocalizedPicker (/ionic/src/components/datetime/test/locale/datetime.e2e.ts:166:33) at DatetimeLocaleFixture.expectLocalizedTimePicker (/ionic/src/components/datetime/test/locale/datetime.e2e.ts:161:16) at /ionic/src/components/datetime/test/locale/datetime.e2e.ts:49:31
[Mobile Safari] › src/components/select/test/basic/select.e2e.ts:68:11 › select: basic - md/ltr › select: alert › it should not focus any option when opened with a value: src/components/select/test/basic/select.e2e.ts#L95
1) [Mobile Safari] › src/components/select/test/basic/select.e2e.ts:68:11 › select: basic - md/ltr › select: alert › it should not focus any option when opened with a value Error: expect(locator).toHaveCount(expected) failed Locator: locator('ion-alert').locator('.alert-radio-button.ion-focused') Expected: 0 Received: 1 Timeout: 5000ms Call log: - Expect "toHaveCount" with timeout 5000ms - waiting for locator('ion-alert').locator('.alert-radio-button.ion-focused') 9 × locator resolved to 1 element - unexpected value "1" 93 | // Alert interface doesn't apply ion-focused class to selected options 94 | const focusedOptions = alert.locator('.alert-radio-button.ion-focused'); > 95 | await expect(focusedOptions).toHaveCount(0); | ^ 96 | }); 97 | }); 98 | at /ionic/src/components/select/test/basic/select.e2e.ts:95:38
🎭 Playwright Run Summary
360 skipped 276 passed (2.3m)
🎭 Playwright Run Summary
8 skipped 680 passed (3.8m)
🎭 Playwright Run Summary
2 skipped 669 passed (3.6m)
🎭 Playwright Run Summary
368 skipped 303 passed (3.6m)
🎭 Playwright Run Summary
1 skipped 676 passed (4.0m)
🎭 Playwright Run Summary
8 skipped 660 passed (4.4m)
🎭 Playwright Run Summary
3 flaky [Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:117:11 › radio: a11y - md/ltr › radio: keyboard navigation - md/ltr › tabbing should switch between radio groups [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 [Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:130:11 › radio: a11y - md/ltr/dark › radio: keyboard navigation - md/ltr/dark › using arrow keys should move between enabled radios within group 4 skipped 673 passed (5.2m)
🎭 Playwright Run Summary
14 skipped 489 passed (6.3m)
🎭 Playwright Run Summary
10 skipped 648 passed (6.7m)
🎭 Playwright Run Summary
5 skipped 676 passed (7.1m)
🎭 Playwright Run Summary
36 skipped 819 passed (6.4m)
🎭 Playwright Run Summary
3 skipped 664 passed (7.7m)
🎭 Playwright Run Summary
2 flaky [Mobile Firefox] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/ltr/light › should not have visual regressions [Mobile Firefox] › src/components/toast/test/swipe-gesture/toast.e2e.ts:58:9 › toast: swipe gesture with bottom position - ios/ltr › should swipe down to dismiss with anchor 5 skipped 708 passed (8.3m)
🎭 Playwright Run Summary
1 flaky [Mobile Firefox] › src/components/datetime/test/locale/datetime.e2e.ts:47:11 › datetime: locale - md/ltr › ja-JP › time picker should not have visual regressions 18 skipped 612 passed (8.4m)
🎭 Playwright Run Summary
1 flaky [Mobile Safari] › src/components/select/test/basic/select.e2e.ts:68:11 › select: basic - md/ltr › select: alert › it should not focus any option when opened with a value 12 skipped 684 passed (8.5m)
🎭 Playwright Run Summary
1 skipped 656 passed (8.5m)
🎭 Playwright Run Summary
4 skipped 729 passed (9.2m)
🎭 Playwright Run Summary
5 skipped 667 passed (9.3m)
🎭 Playwright Run Summary
13 skipped 653 passed (9.3m)
🎭 Playwright Run Summary
14 skipped 681 passed (10.6m)

Artifacts

Produced during runtime
Name Size Digest
ionic-angular Expired
866 KB
sha256:b6c1b64d112ae691461e24991da0473cf5a0e14f46d3c6f20bce4d605d159b9c
ionic-angular-server Expired
8.55 KB
sha256:57a2a12bc1a23ea15130d9d2fa963350f440183280f2938ceb772ad1e5459a34
ionic-core Expired
5.16 MB
sha256:1de250eb3dfaef42058caeef10b87685e85a36eb26b233c4bf8b0572c5e5f7ff
ionic-react Expired
404 KB
sha256:837659c49cc30cde4f5cca80ab40d4777bedd8c355221d29cc079a2065968bdd
ionic-react-router Expired
27.9 KB
sha256:7554ea67a2ec2d0a1d6cc9688630a124a1db3a25bd502d1b19648bccade0c386
ionic-vue Expired
435 KB
sha256:aa3a5a1c5576040e7f85ba94ff20d77793a362abb30d44aa50e518855539c7d2
ionic-vue-router Expired
17.1 KB
sha256:36a2c87bdba817065e8422f86ddb51b0f7cf946272b65e7d3abf7d27538052ca
test-results-1-20 Expired
494 KB
sha256:5c1bdcceb117c8413e8b4d57884f60c67ae3809ab9a2b59008d1158be50b5871
test-results-10-20 Expired
444 KB
sha256:91b57783bd33fcebe06f9ac72814dcef1912985ba7bc78fc35131877a5648db9
test-results-11-20 Expired
2.06 MB
sha256:d0dd68cdfe922eed5d6451c4a98bb58b2dc934578752301382afcc3aa2016750
test-results-12-20 Expired
483 KB
sha256:ef896de5eacc2f4b2208e5a7f30e2f85e4f032004cb599c97bef45b231ba5516
test-results-13-20 Expired
509 KB
sha256:415e9133fea072e5c33102e71a31ed672cced245aad9cd050758602fb9a4d02e
test-results-14-20 Expired
425 KB
sha256:7ed7028647ca989fcf128a2ba98292f29e0dda2fe3f481bb1bad510b3f3368f0
test-results-15-20 Expired
459 KB
sha256:48fe8fb88783e6f9b98d93f2d92942f03bd4cccefd2e4e12ab0868e0f28d8c8a
test-results-16-20 Expired
473 KB
sha256:4178f3b9e662f20c285fe2b074fc135190edac4f245b041ef1af50e70d2b19fa
test-results-17-20 Expired
561 KB
sha256:3e271838a04a4e0cb66f5b55bab6f0b6b254e18294b1e172853c878deee7f117
test-results-18-20 Expired
1.35 MB
sha256:617a2a940eeb1f6c013ae4dbcbea29ea5c757092c153b377337a2672315e6232
test-results-19-20 Expired
446 KB
sha256:048db650fee5b3b8b0f77925585d2cd5efe1cad0b539400a891e3c23f913500a
test-results-2-20 Expired
1.3 MB
sha256:f05bb1dc7041902d6d3b069bef2da90aa482eb03d83d26ea18bb701ebf20242b
test-results-20-20 Expired
343 KB
sha256:e7e8d2913cf3f94c585d71f2d272d37a6b84a15fcc9755b04481dfac9e940eaa
test-results-3-20 Expired
440 KB
sha256:85cb783a7a2991385276f6215b3921e62a5ac4a8e679f0bf3f32eb2c7b13ca59
test-results-4-20 Expired
587 KB
sha256:6f226556451a4ca057a17f2315d5680120b8331a5ef7ebcba9afa451d141751b
test-results-5-20 Expired
490 KB
sha256:61e719c2408577433add4278ce76ab395a7fba3f9558a5a6169b1aa429e5d394
test-results-6-20 Expired
2.18 MB
sha256:cd03a3163a6a1d2ba66d569f2e36637aeedbed672f4965d066375caae9bdc747
test-results-7-20 Expired
362 KB
sha256:1b8ddfc2b79b07e0ab4849fe9b11737a1e36bb02db8cd4d65e2b5c62bcc33296
test-results-8-20 Expired
447 KB
sha256:e7192f2f5f5a92369d0c1bfb9ac26066204da66a22bb0020d3c0f259f2ae88eb
test-results-9-20 Expired
486 KB
sha256:c7482d2df031093aa3cd4ef0165543c29acb2a4fc8f0e860ea8ff74759f01e9d