diff --git a/.github/actions/run-qunit-tests/action.yml b/.github/actions/run-qunit-tests/action.yml index c4f9134bed0c..9aa865d45a39 100644 --- a/.github/actions/run-qunit-tests/action.yml +++ b/.github/actions/run-qunit-tests/action.yml @@ -52,7 +52,7 @@ runs: - name: Setup Chrome if: ${{ inputs.browser == 'chrome' }} - uses: ./.github/actions/setup-chrome + uses: ./.github/actions/setup-chrome-headless-shell with: chrome-version: '133.0.6943.53' @@ -139,6 +139,7 @@ runs: GITHUBACTION: "true" TARGET: "test" DISPLAY: ":99" + CHROME_CMD: ${{ env.CHROME_SHELL }} run: | chmod +x ./docker-ci.sh ./docker-ci.sh diff --git a/.github/actions/setup-chrome-headless-shell/action.yml b/.github/actions/setup-chrome-headless-shell/action.yml new file mode 100644 index 000000000000..5ad9bca9ffc2 --- /dev/null +++ b/.github/actions/setup-chrome-headless-shell/action.yml @@ -0,0 +1,34 @@ +name: Chrome headless shell installer +description: Install chrome-headless-shell + +# Chrome headless shell +# https://developer.chrome.com/blog/chrome-headless-shell + +inputs: + chrome-version: + description: Chrome headless shell version to install + default: "latest" + +runs: + using: composite + steps: + - name: Setup chrome-headless-shell + shell: bash + env: + CHROME_VERSION: ${{ inputs.chrome-version }} + run: | + if [ -n "$CHROME_VERSION" ]; then + sudo apt-get update + sudo apt-get -y install libu2f-udev + sudo apt-get -y install dbus + + echo "version to install: $CHROME_VERSION" + CHROME_BIN=`npx @puppeteer/browsers install chrome-headless-shell@$CHROME_VERSION | awk '{print $2}'` + chmod +x $CHROME_BIN + echo "chrome-headless-shell installed in: $CHROME_BIN" + $CHROME_BIN --version + echo "CHROME_SHELL=$CHROME_BIN" >> $GITHUB_ENV + else + echo "chrome-headless-shell not installed!" + fi + diff --git a/.github/workflows/qunit_tests-additional-renovation.yml b/.github/workflows/qunit_tests-additional-renovation.yml index e17e58af4e10..bc667e268b84 100644 --- a/.github/workflows/qunit_tests-additional-renovation.yml +++ b/.github/workflows/qunit_tests-additional-renovation.yml @@ -127,7 +127,7 @@ jobs: browser: 'chrome' isPerformance: 'true' useJQuery: 'true' - headless: 'false' + headless: 'true' useCsp: 'false' qunit-tests-mobile-and-shadow-dom: @@ -157,7 +157,6 @@ jobs: ] kind: [ 'shadow-dom', 'ios10', 'android6' ] include: - - headless: false - kind: 'shadow-dom' userAgent: '' useShadowDom: true @@ -166,10 +165,6 @@ jobs: - kind: 'android6' userAgent: 'android6' useJQuery: true - - constel: 'ui' - headless: true - - constel: 'viz' - headless: true steps: - name: Get sources @@ -184,7 +179,7 @@ jobs: useJQuery: ${{ matrix.useJquery || 'false' }} userAgent: ${{ matrix.userAgent }} useShadowDom: ${{ matrix.useShadowDom }} - headless: ${{ matrix.headless }} + headless: 'true' useCsp: 'true' qunit-tests-firefox: diff --git a/packages/devextreme/docker-ci.sh b/packages/devextreme/docker-ci.sh index 95864472d735..72e190a1449d 100755 --- a/packages/devextreme/docker-ci.sh +++ b/packages/devextreme/docker-ci.sh @@ -24,6 +24,7 @@ function run_test_impl { local runner_pid local runner_result=0 + [ -z "$CHROME_CMD"] && CHROME_CMD=google-chrome-stable [ "$LOCAL" == "true" ] && url="http://host.docker.internal:$port/run?notimers=true" [ -n "$CONSTEL" ] && url="$url&constellation=$CONSTEL" [ -n "$MOBILE_UA" ] && url="$url&deviceMode=true" @@ -96,7 +97,7 @@ function run_test_impl { ;; *) - local chrome_command=google-chrome-stable + local chrome_command=$CHROME_CMD local chrome_args=( --no-sandbox --disable-dev-shm-usage @@ -163,7 +164,7 @@ function run_test_impl { printf ' %s\n' "${chrome_args[@]}" tput setaf 9 fi - google-chrome-stable --version + eval "$chrome_command --version" eval "$chrome_command ${chrome_args[@]} '$url'" &>chrome.log & ;;