@@ -550,20 +550,44 @@ jobs:
550550 - name : DevExtreme - Build
551551 run : pnpx nx build devextreme
552552
553+ - name : Install Roboto font for Material theme
554+ run : |
555+ if [ ! -d "/usr/share/fonts/truetype/roboto" ]; then
556+ echo "Installing Roboto font..."
557+ sudo apt-get update -qq
558+ sudo apt-get install -y -qq fonts-roboto fonts-roboto-unhinted
559+ sudo fc-cache -f -v > /dev/null 2>&1
560+ echo "Roboto font installed"
561+ else
562+ echo "Roboto font already installed"
563+ fi
564+
553565 - name : Run Web Server
554566 run : |
555567 python -m http.server 8080 &
556568 python -m http.server 8081 &
557569 python -m http.server 8082 &
558570 python -m http.server 8083 &
559571
572+ - name : Set Chrome flags
573+ id : chrome-flags
574+ run : |
575+ BASE_FLAGS="chrome:headless --window-size=1200,800 --disable-gpu --no-sandbox --disable-dev-shm-usage --disable-partial-raster --disable-skia-runtime-opts --run-all-compositor-stages-before-draw --disable-new-content-rendering-timeout --disable-threaded-animation --disable-threaded-scrolling --disable-checker-imaging --disable-image-animation-resync --use-gl=\"swiftshader\" --disable-features=PaintHolding --js-flags=--random-seed=2147483647"
576+
577+ # For Material theme, enable better font rendering to avoid instability
578+ if [[ "${{ matrix.THEME }}" != *"material"* ]]; then
579+ BASE_FLAGS="$BASE_FLAGS --font-render-hinting=none --disable-font-subpixel-positioning"
580+ fi
581+
582+ echo "flags=$BASE_FLAGS" >> $GITHUB_OUTPUT
583+
560584 - name : Run TestCafe tests
561585 shell : bash
562586 working-directory : apps/demos
563587 env :
564588 STRATEGY : ${{ matrix.STRATEGY }}
565589 CHANGEDFILEINFOSPATH : changed-files.json
566- BROWSERS : chrome:headless --disable-gpu --no-sandbox --disable-dev-shm-usage --disable-partial-raster --disable-skia-runtime-opts --run-all-compositor-stages-before-draw --disable-new-content-rendering-timeout --disable-threaded-animation --disable-threaded-scrolling --disable-checker-imaging --disable-image-animation-resync --use-gl="swiftshader" --disable-features=PaintHolding --js- flags=--random-seed=2147483647 --font-render-hinting=none --disable-font-subpixel-positioning
590+ BROWSERS : ${{ steps.chrome- flags.outputs.flags }}
567591 # DEBUG: hammerhead:*,testcafe:*
568592 CONCURRENCY : 4
569593 TCQUARANTINE : true
@@ -802,19 +826,43 @@ jobs:
802826 name : changed-demos
803827 path : apps/demos
804828
829+ - name : Install Roboto font for Material theme
830+ run : |
831+ if [ ! -d "/usr/share/fonts/truetype/roboto" ]; then
832+ echo "Installing Roboto font..."
833+ sudo apt-get update -qq
834+ sudo apt-get install -y -qq fonts-roboto fonts-roboto-unhinted
835+ sudo fc-cache -f -v > /dev/null 2>&1
836+ echo "Roboto font installed"
837+ else
838+ echo "Roboto font already installed"
839+ fi
840+
805841 - name : Run Web Server
806842 run : |
807843 python -m http.server 8080 &
808844 python -m http.server 8081 &
809845 python -m http.server 8082 &
810846 python -m http.server 8083 &
811847
848+ - name : Set Chrome flags
849+ id : chrome-flags
850+ run : |
851+ BASE_FLAGS="chrome:headless --window-size=1200,800 --disable-gpu --no-sandbox --disable-dev-shm-usage --disable-partial-raster --disable-skia-runtime-opts --run-all-compositor-stages-before-draw --disable-new-content-rendering-timeout --disable-threaded-animation --disable-threaded-scrolling --disable-checker-imaging --disable-image-animation-resync --use-gl=\"swiftshader\" --disable-features=PaintHolding --js-flags=--random-seed=2147483647"
852+
853+ # For Material theme, enable better font rendering to avoid instability
854+ if [[ "${{ matrix.THEME }}" != *"material"* ]]; then
855+ BASE_FLAGS="$BASE_FLAGS --font-render-hinting=none --disable-font-subpixel-positioning"
856+ fi
857+
858+ echo "flags=$BASE_FLAGS" >> $GITHUB_OUTPUT
859+
812860 - name : Run TestCafe tests
813861 shell : bash
814862 working-directory : apps/demos
815863 env :
816864 CHANGEDFILEINFOSPATH : changed-files.json
817- BROWSERS : chrome:headless --window-size=1200,800 --disable-gpu --no-sandbox --disable-dev-shm-usage --disable-partial-raster --disable-skia-runtime-opts --run-all-compositor-stages-before-draw --disable-new-content-rendering-timeout --disable-threaded-animation --disable-threaded-scrolling --disable-checker-imaging --disable-image-animation-resync --use-gl="swiftshader" --disable-features=PaintHolding --js- flags=--random-seed=2147483647 --font-render-hinting=none --disable-font-subpixel-positioning
865+ BROWSERS : ${{ steps.chrome- flags.outputs.flags }}
818866 # DEBUG: hammerhead:*,testcafe:*
819867 CONCURRENCY : 1
820868 TCQUARANTINE : true
0 commit comments