diff --git a/.github/workflows/test-extensions.yml b/.github/workflows/test-extensions.yml index ca189a5..7b59e91 100644 --- a/.github/workflows/test-extensions.yml +++ b/.github/workflows/test-extensions.yml @@ -192,3 +192,14 @@ jobs: - name: Checkout uses: actions/checkout@v3 - run: ./install-php-extensions ${{ matrix.source }} + test_upgrading_icu_data_en: + name: Test that icu-data-en can be upgraded + needs: + - check_syntax_data + - check_syntax_shell + - check_syntax_php + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - run: docker run --rm --volume "$(pwd):/app" --workdir /app php:8.2-cli-alpine ./scripts/test-icu-data-en-upgradable diff --git a/install-php-extensions b/install-php-extensions index ffd400e..268c7ea 100755 --- a/install-php-extensions +++ b/install-php-extensions @@ -4116,25 +4116,27 @@ cleanup() { fi done fi - if test -n "$PACKAGES_VOLATILE"; then - printf '### REMOVING UNNEEDED PACKAGES ###\n' - case "$DISTRO" in - alpine) + case "$DISTRO" in + alpine) + if stringInList icu-libs "${PACKAGES_PERSISTENT_NEW:-}" && stringInList icu-data-en "${PACKAGES_PERSISTENT_NEW:-}"; then + apk del icu-data-en >/dev/null 2>&1 || true + fi + if test -n "$PACKAGES_VOLATILE"; then + printf '### REMOVING UNNEEDED PACKAGES ###\n' apk del --purge $PACKAGES_VOLATILE - ;; - debian) + fi + ;; + debian) + if test -n "$PACKAGES_VOLATILE"; then + printf '### REMOVING UNNEEDED PACKAGES ###\n' DEBIAN_FRONTEND=noninteractive apt-get remove --purge -y $PACKAGES_VOLATILE - ;; - esac - fi - if test -n "$PACKAGES_PREVIOUS"; then - case "$DISTRO" in - debian) + fi + if test -n "$PACKAGES_PREVIOUS"; then printf '### RESTORING PREVIOUSLY INSTALLED PACKAGES ###\n' DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends --no-upgrade $IPE_APTGET_INSTALLOPTIONS $PACKAGES_PREVIOUS - ;; - esac - fi + fi + ;; + esac docker-php-source delete rm -rf /tmp/src rm -rf /tmp/pickle diff --git a/scripts/test-icu-data-en-upgradable b/scripts/test-icu-data-en-upgradable new file mode 100755 index 0000000..491c672 --- /dev/null +++ b/scripts/test-icu-data-en-upgradable @@ -0,0 +1,10 @@ +#!/bin/sh + +# Let's set a sane environment +set -o errexit +set -o nounset + +IPE_ICU_EN_ONLY=1 CI=true ./install-php-extensions intl + +apk update +apk add --simulate chromium