diff --git a/src/quarto-cli/devcontainer-feature.json b/src/quarto-cli/devcontainer-feature.json index 789ef75..91b19b1 100644 --- a/src/quarto-cli/devcontainer-feature.json +++ b/src/quarto-cli/devcontainer-feature.json @@ -1,7 +1,7 @@ { "name": "Quarto CLI", "id": "quarto-cli", - "version": "1.1.4", + "version": "1.1.5", "description": "Installs the Quarto CLI. Auto-detects latest version.", "documentationURL": "https://github.com/rocker-org/devcontainer-features/tree/main/src/quarto-cli", "options": { @@ -22,7 +22,7 @@ "installChromium": { "type": "boolean", "default": false, - "description": "Run the `quarto install chromium` command. Check the document for details." + "description": "Run the `quarto install chromium` or `quarto install chrome-headless-shell` command. Check the document for details." } }, "installsAfter": [ diff --git a/src/quarto-cli/install.sh b/src/quarto-cli/install.sh index 1b408e8..2da0595 100755 --- a/src/quarto-cli/install.sh +++ b/src/quarto-cli/install.sh @@ -57,6 +57,10 @@ check_packages() { fi } +quarto_supports_chrome_headless_shell() { + LC_ALL=C quarto install --help 2>&1 | grep -Fq 'chrome-headless-shell' +} + find_version_from_git_tags() { local variable_name=$1 local requested_version=${!variable_name} @@ -142,7 +146,11 @@ if [ "${INSTALL_CHROMIUM}" = "true" ]; then echo "(!) Quarto CLI installs headless Chromium via Puppeteer." echo " The bundled Chromium that Puppeteer installs may not work on Docker containers." echo " Please check the Puppeteer document: " - su "${USERNAME}" -c 'quarto install chromium --quiet' + if quarto_supports_chrome_headless_shell; then + su "${USERNAME}" -c 'quarto install chrome-headless-shell --quiet' + else + su "${USERNAME}" -c 'quarto install chromium --quiet' + fi echo "Chromium installation complete." fi diff --git a/test/quarto-cli/chromium-on-ubuntu.sh b/test/quarto-cli/chromiumheadless-on-debian.sh similarity index 100% rename from test/quarto-cli/chromium-on-ubuntu.sh rename to test/quarto-cli/chromiumheadless-on-debian.sh diff --git a/test/quarto-cli/scenarios.json b/test/quarto-cli/scenarios.json index 9734934..eda1d3a 100644 --- a/test/quarto-cli/scenarios.json +++ b/test/quarto-cli/scenarios.json @@ -59,15 +59,15 @@ } } }, - "chromium-on-ubuntu": { - "image": "mcr.microsoft.com/devcontainers/base:ubuntu", + "chromiumheadless-on-debian": { + "image": "mcr.microsoft.com/devcontainers/base:debian", "features": { "quarto-cli": { - "version": "1.4", // https://github.com/quarto-dev/quarto-cli/issues/10961 + "version": "1.9", "installChromium": true }, "ghcr.io/rocker-org/devcontainer-features/apt-packages:1": { - "packages": "libgtk-3-dev,libnotify-dev,libgconf-2-4,libnss3,libxss1,libasound2" + "packages": "chromium" } } }