From 4a12b8bbbb209e795362f0a30ef51e503ec0d3ae Mon Sep 17 00:00:00 2001 From: Kentaro Ohkouchi Date: Sat, 16 Sep 2023 23:19:27 +0900 Subject: [PATCH 1/3] Add PHP8.2 --- .github/workflows/dockerbuild.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dockerbuild.yml b/.github/workflows/dockerbuild.yml index e6cdd862bc..0bc9876d2f 100644 --- a/.github/workflows/dockerbuild.yml +++ b/.github/workflows/dockerbuild.yml @@ -21,7 +21,7 @@ jobs: strategy: fail-fast: false matrix: - php: [ '5.4', '5.5', '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1' ] + php: [ '5.4', '5.5', '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2' ] steps: - name: downcase REPO From b13489369bf3448b40ddd8df4bdeafe99677497b Mon Sep 17 00:00:00 2001 From: Kentaro Ohkouchi Date: Sun, 17 Sep 2023 02:20:21 +0900 Subject: [PATCH 2/3] =?UTF-8?q?build-args=20=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/dockerbuild.yml | 14 +++++++++++--- .github/workflows/e2e-tests.yml | 16 ++++++++++++++-- Dockerfile | 17 +++++++++++------ 3 files changed, 36 insertions(+), 11 deletions(-) diff --git a/.github/workflows/dockerbuild.yml b/.github/workflows/dockerbuild.yml index e6cdd862bc..cfccdb5d3a 100644 --- a/.github/workflows/dockerbuild.yml +++ b/.github/workflows/dockerbuild.yml @@ -32,14 +32,22 @@ jobs: run: | echo "GD_OPTIONS=--with-freetype-dir=/usr/include --with-jpeg-dir=/usr/include" >> ${GITHUB_ENV} echo "EXT_INSTALL_ARGS=gd zip mysqli pgsql mbstring" >> ${GITHUB_ENV} - echo "APCU=apcu-4.0.11" >> ${GITHUB_ENV} - echo "FORCE_YES=--force-yes" >> ${GITHUB_ENV} + echo "APCU=apcu-4.0.11" >> ${GITHUB_ENV} + echo "FORCE_YES=--force-yes" >> ${GITHUB_ENV} + echo "APT_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV} + echo "APT_SECURITY_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV} - if: ${{ matrix.php == 5.5 || matrix.php == 5.6 }} run: | echo "GD_OPTIONS=--with-freetype-dir=/usr/include --with-jpeg-dir=/usr/include" >> ${GITHUB_ENV} echo "EXT_INSTALL_ARGS=gd zip mysqli pgsql opcache" >> ${GITHUB_ENV} - echo "APCU=apcu-4.0.11" >> ${GITHUB_ENV} + echo "APCU=" >> ${GITHUB_ENV} echo "FORCE_YES=--force-yes" >> ${GITHUB_ENV} + echo "APT_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV} + echo "APT_SECURITY_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV} + - if: ${{ matrix.php == 7.0 }} + run: | + echo "APT_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV} + echo "APT_SECURITY_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV} - if: ${{ matrix.php >= 7.0 && matrix.php <= 7.3 }} run: | echo "GD_OPTIONS=--with-freetype-dir=/usr/include --with-jpeg-dir=/usr/include" >> ${GITHUB_ENV} diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index f12c5d3442..ffd5659be2 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -109,22 +109,34 @@ jobs: run: | echo "GD_OPTIONS=--with-freetype-dir=/usr/include --with-jpeg-dir=/usr/include" >> ${GITHUB_ENV} echo "EXT_INSTALL_ARGS=gd zip mysqli pgsql mbstring" >> ${GITHUB_ENV} - echo "APCU=apcu-4.0.11" >> ${GITHUB_ENV} + echo "APCU=apcu-4.0.11" >> ${GITHUB_ENV} + echo "FORCE_YES=--force-yes" >> ${GITHUB_ENV} + echo "APT_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV} + echo "APT_SECURITY_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV} - if: ${{ matrix.php == 5.5 || matrix.php == 5.6 }} run: | echo "GD_OPTIONS=--with-freetype-dir=/usr/include --with-jpeg-dir=/usr/include" >> ${GITHUB_ENV} echo "EXT_INSTALL_ARGS=gd zip mysqli pgsql opcache" >> ${GITHUB_ENV} - echo "APCU=apcu-4.0.11" >> ${GITHUB_ENV} + echo "APCU=" >> ${GITHUB_ENV} + echo "FORCE_YES=--force-yes" >> ${GITHUB_ENV} + echo "APT_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV} + echo "APT_SECURITY_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV} + - if: ${{ matrix.php == 7.0 }} + run: | + echo "APT_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV} + echo "APT_SECURITY_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV} - if: ${{ matrix.php >= 7.0 && matrix.php <= 7.3 }} run: | echo "GD_OPTIONS=--with-freetype-dir=/usr/include --with-jpeg-dir=/usr/include" >> ${GITHUB_ENV} echo "EXT_INSTALL_ARGS=gd zip mysqli pgsql opcache" >> ${GITHUB_ENV} echo "APCU=apcu" >> ${GITHUB_ENV} + echo "FORCE_YES=" >> ${GITHUB_ENV} - if: ${{ matrix.php >= 7.4 }} run: | echo "GD_OPTIONS=--with-freetype --with-jpeg" >> ${GITHUB_ENV} echo "EXT_INSTALL_ARGS=gd zip mysqli pgsql opcache" >> ${GITHUB_ENV} echo "APCU=apcu" >> ${GITHUB_ENV} + echo "FORCE_YES=" >> ${GITHUB_ENV} - name: Checkout uses: actions/checkout@v3 diff --git a/Dockerfile b/Dockerfile index 3e27089bac..a5b6a7c8b2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,14 +5,19 @@ FROM php:${TAG} ARG GD_OPTIONS="--with-freetype --with-jpeg" ARG EXT_INSTALL_ARGS="gd zip mysqli pgsql opcache" ARG APCU="apcu" -ARG FORCE_YES="--force-yes" +ARG FORCE_YES="" +ARG APT_REPO="deb.debian.org" +ARG APT_SECURITY_REPO="security.debian.org" + # See https://github.com/debuerreotype/debuerreotype/issues/10 RUN if [ ! -d /usr/share/man/man1 ]; then mkdir /usr/share/man/man1; fi RUN if [ ! -d /usr/share/man/man7 ]; then mkdir /usr/share/man/man7; fi -RUN sed -i s,deb.debian.org,cloudfront.debian.net/debian-archive,g /etc/apt/sources.list -RUN sed -i 's,security.debian.org,cloudfront.debian.net/debian-archive,g' /etc/apt/sources.list -RUN sed -i '/stretch-updates/d' /etc/apt/sources.list +RUN sed -i s,deb.debian.org,${APT_REPO},g /etc/apt/sources.list; +RUN sed -i s,security.debian.org,${APT_SECURITY_REPO},g /etc/apt/sources.list; +RUN sed -i s,httpredir.debian.org,${APT_REPO},g /etc/apt/sources.list; # for jessie +RUN sed -i '/stretch-updates/d' /etc/apt/sources.list # for stretch +RUN sed -i '/jessie-updates/d' /etc/apt/sources.list # for jessie # ext-gd: libfreetype6-dev libjpeg62-turbo-dev libpng-dev # ext-pgsql: libpq-dev @@ -31,7 +36,7 @@ RUN apt-get update \ && rm -rf /var/lib/apt/lists/* RUN docker-php-ext-configure gd ${GD_OPTIONS} && docker-php-ext-install ${EXT_INSTALL_ARGS} -RUN pecl install ${APCU} && docker-php-ext-enable apcu +RUN if [[ ${APCU} ]]; then pecl install ${APCU} && docker-php-ext-enable apcu; fi # composer COPY --from=composer:2.2 /usr/bin/composer /usr/bin/composer @@ -68,4 +73,4 @@ COPY composer.lock ${ECCUBE_PREFIX}/composer.lock RUN composer install --no-scripts --no-autoloader --no-dev -d ${ECCUBE_PREFIX} COPY . ${ECCUBE_PREFIX} -RUN composer dumpautoload -o --apcu +RUN composer dumpautoload -o From 9e56bdfa17921408f9b07f3e468be0433217215b Mon Sep 17 00:00:00 2001 From: Kentaro Ohkouchi Date: Sun, 17 Sep 2023 02:20:21 +0900 Subject: [PATCH 3/3] =?UTF-8?q?build-args=20=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/dockerbuild.yml | 26 ++++++++++++++++++++++---- .github/workflows/e2e-tests.yml | 28 ++++++++++++++++++++++++---- Dockerfile | 17 +++++++++++------ 3 files changed, 57 insertions(+), 14 deletions(-) diff --git a/.github/workflows/dockerbuild.yml b/.github/workflows/dockerbuild.yml index e6cdd862bc..9b07fcb0fe 100644 --- a/.github/workflows/dockerbuild.yml +++ b/.github/workflows/dockerbuild.yml @@ -32,26 +32,42 @@ jobs: run: | echo "GD_OPTIONS=--with-freetype-dir=/usr/include --with-jpeg-dir=/usr/include" >> ${GITHUB_ENV} echo "EXT_INSTALL_ARGS=gd zip mysqli pgsql mbstring" >> ${GITHUB_ENV} - echo "APCU=apcu-4.0.11" >> ${GITHUB_ENV} - echo "FORCE_YES=--force-yes" >> ${GITHUB_ENV} + echo "APCU=apcu-4.0.11" >> ${GITHUB_ENV} + echo "FORCE_YES=--force-yes" >> ${GITHUB_ENV} + echo "APT_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV} + echo "APT_SECURITY_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV} - if: ${{ matrix.php == 5.5 || matrix.php == 5.6 }} run: | echo "GD_OPTIONS=--with-freetype-dir=/usr/include --with-jpeg-dir=/usr/include" >> ${GITHUB_ENV} echo "EXT_INSTALL_ARGS=gd zip mysqli pgsql opcache" >> ${GITHUB_ENV} - echo "APCU=apcu-4.0.11" >> ${GITHUB_ENV} + echo "APCU=" >> ${GITHUB_ENV} echo "FORCE_YES=--force-yes" >> ${GITHUB_ENV} - - if: ${{ matrix.php >= 7.0 && matrix.php <= 7.3 }} + echo "APT_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV} + echo "APT_SECURITY_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV} + - if: ${{ matrix.php == 7.0 }} + run: | + echo "GD_OPTIONS=--with-freetype-dir=/usr/include --with-jpeg-dir=/usr/include" >> ${GITHUB_ENV} + echo "EXT_INSTALL_ARGS=gd zip mysqli pgsql opcache" >> ${GITHUB_ENV} + echo "APCU=apcu" >> ${GITHUB_ENV} + echo "FORCE_YES=" >> ${GITHUB_ENV} + echo "APT_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV} + echo "APT_SECURITY_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV} + - if: ${{ matrix.php >= 7.1 && matrix.php <= 7.3 }} run: | echo "GD_OPTIONS=--with-freetype-dir=/usr/include --with-jpeg-dir=/usr/include" >> ${GITHUB_ENV} echo "EXT_INSTALL_ARGS=gd zip mysqli pgsql opcache" >> ${GITHUB_ENV} echo "APCU=apcu" >> ${GITHUB_ENV} echo "FORCE_YES=" >> ${GITHUB_ENV} + echo "APT_REPO=deb.debian.org" >> ${GITHUB_ENV} + echo "APT_SECURITY_REPO=security.debian.org" >> ${GITHUB_ENV} - if: ${{ matrix.php >= 7.4 }} run: | echo "GD_OPTIONS=--with-freetype --with-jpeg" >> ${GITHUB_ENV} echo "EXT_INSTALL_ARGS=gd zip mysqli pgsql opcache" >> ${GITHUB_ENV} echo "APCU=apcu" >> ${GITHUB_ENV} echo "FORCE_YES=" >> ${GITHUB_ENV} + echo "APT_REPO=deb.debian.org" >> ${GITHUB_ENV} + echo "APT_SECURITY_REPO=security.debian.org" >> ${GITHUB_ENV} - name: Checkout uses: actions/checkout@v3 @@ -97,6 +113,8 @@ jobs: GD_OPTIONS=${{ env.GD_OPTIONS }} EXT_INSTALL_ARGS=${{ env.EXT_INSTALL_ARGS }} APCU=${{ env.APCU }} + APT_REPO=${{ env.APT_REPO }} + APT_SECURITY_REPO=${{ env.APT_SECURITY_REPO }} - name: Setup to EC-CUBE env: diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index f12c5d3442..27ad0e76c6 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -109,22 +109,42 @@ jobs: run: | echo "GD_OPTIONS=--with-freetype-dir=/usr/include --with-jpeg-dir=/usr/include" >> ${GITHUB_ENV} echo "EXT_INSTALL_ARGS=gd zip mysqli pgsql mbstring" >> ${GITHUB_ENV} - echo "APCU=apcu-4.0.11" >> ${GITHUB_ENV} + echo "APCU=apcu-4.0.11" >> ${GITHUB_ENV} + echo "FORCE_YES=--force-yes" >> ${GITHUB_ENV} + echo "APT_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV} + echo "APT_SECURITY_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV} - if: ${{ matrix.php == 5.5 || matrix.php == 5.6 }} run: | echo "GD_OPTIONS=--with-freetype-dir=/usr/include --with-jpeg-dir=/usr/include" >> ${GITHUB_ENV} echo "EXT_INSTALL_ARGS=gd zip mysqli pgsql opcache" >> ${GITHUB_ENV} - echo "APCU=apcu-4.0.11" >> ${GITHUB_ENV} - - if: ${{ matrix.php >= 7.0 && matrix.php <= 7.3 }} + echo "APCU=" >> ${GITHUB_ENV} + echo "FORCE_YES=--force-yes" >> ${GITHUB_ENV} + echo "APT_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV} + echo "APT_SECURITY_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV} + - if: ${{ matrix.php == 7.0 }} run: | echo "GD_OPTIONS=--with-freetype-dir=/usr/include --with-jpeg-dir=/usr/include" >> ${GITHUB_ENV} echo "EXT_INSTALL_ARGS=gd zip mysqli pgsql opcache" >> ${GITHUB_ENV} echo "APCU=apcu" >> ${GITHUB_ENV} + echo "FORCE_YES=" >> ${GITHUB_ENV} + echo "APT_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV} + echo "APT_SECURITY_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV} + - if: ${{ matrix.php >= 7.1 && matrix.php <= 7.3 }} + run: | + echo "GD_OPTIONS=--with-freetype-dir=/usr/include --with-jpeg-dir=/usr/include" >> ${GITHUB_ENV} + echo "EXT_INSTALL_ARGS=gd zip mysqli pgsql opcache" >> ${GITHUB_ENV} + echo "APCU=apcu" >> ${GITHUB_ENV} + echo "FORCE_YES=" >> ${GITHUB_ENV} + echo "APT_REPO=deb.debian.org" >> ${GITHUB_ENV} + echo "APT_SECURITY_REPO=security.debian.org" >> ${GITHUB_ENV} - if: ${{ matrix.php >= 7.4 }} run: | echo "GD_OPTIONS=--with-freetype --with-jpeg" >> ${GITHUB_ENV} echo "EXT_INSTALL_ARGS=gd zip mysqli pgsql opcache" >> ${GITHUB_ENV} echo "APCU=apcu" >> ${GITHUB_ENV} + echo "FORCE_YES=" >> ${GITHUB_ENV} + echo "APT_REPO=deb.debian.org" >> ${GITHUB_ENV} + echo "APT_SECURITY_REPO=security.debian.org" >> ${GITHUB_ENV} - name: Checkout uses: actions/checkout@v3 @@ -142,7 +162,7 @@ jobs: sudo chown -R 1001:1000 zap sudo chmod -R g+w zap sh -c 'echo "> data/config/config.php' - docker build -t ec-cube2 --build-arg PHP_VERSION_TAG="${PHP_VERSION_TAG}" --build-arg GD_OPTIONS="${GD_OPTIONS}" --build-arg EXT_INSTALL_ARGS="${EXT_INSTALL_ARGS}" --build-arg APCU="${APCU}" . + docker build -t ec-cube2 --build-arg PHP_VERSION_TAG="${PHP_VERSION_TAG}" --build-arg GD_OPTIONS="${GD_OPTIONS}" --build-arg EXT_INSTALL_ARGS="${EXT_INSTALL_ARGS}" --build-arg APCU="${APCU} APT_REPO=${{ env.APT_REPO }} APT_SECURITY_REPO=${{ env.APT_SECURITY_REPO }}" . docker tag ec-cube2 ghcr.io/ec-cube/ec-cube2-php:${PHP_VERSION_TAG}-apache TAG=${PHP_VERSION_TAG}-apache docker-compose up -d diff --git a/Dockerfile b/Dockerfile index 3e27089bac..a5b6a7c8b2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,14 +5,19 @@ FROM php:${TAG} ARG GD_OPTIONS="--with-freetype --with-jpeg" ARG EXT_INSTALL_ARGS="gd zip mysqli pgsql opcache" ARG APCU="apcu" -ARG FORCE_YES="--force-yes" +ARG FORCE_YES="" +ARG APT_REPO="deb.debian.org" +ARG APT_SECURITY_REPO="security.debian.org" + # See https://github.com/debuerreotype/debuerreotype/issues/10 RUN if [ ! -d /usr/share/man/man1 ]; then mkdir /usr/share/man/man1; fi RUN if [ ! -d /usr/share/man/man7 ]; then mkdir /usr/share/man/man7; fi -RUN sed -i s,deb.debian.org,cloudfront.debian.net/debian-archive,g /etc/apt/sources.list -RUN sed -i 's,security.debian.org,cloudfront.debian.net/debian-archive,g' /etc/apt/sources.list -RUN sed -i '/stretch-updates/d' /etc/apt/sources.list +RUN sed -i s,deb.debian.org,${APT_REPO},g /etc/apt/sources.list; +RUN sed -i s,security.debian.org,${APT_SECURITY_REPO},g /etc/apt/sources.list; +RUN sed -i s,httpredir.debian.org,${APT_REPO},g /etc/apt/sources.list; # for jessie +RUN sed -i '/stretch-updates/d' /etc/apt/sources.list # for stretch +RUN sed -i '/jessie-updates/d' /etc/apt/sources.list # for jessie # ext-gd: libfreetype6-dev libjpeg62-turbo-dev libpng-dev # ext-pgsql: libpq-dev @@ -31,7 +36,7 @@ RUN apt-get update \ && rm -rf /var/lib/apt/lists/* RUN docker-php-ext-configure gd ${GD_OPTIONS} && docker-php-ext-install ${EXT_INSTALL_ARGS} -RUN pecl install ${APCU} && docker-php-ext-enable apcu +RUN if [[ ${APCU} ]]; then pecl install ${APCU} && docker-php-ext-enable apcu; fi # composer COPY --from=composer:2.2 /usr/bin/composer /usr/bin/composer @@ -68,4 +73,4 @@ COPY composer.lock ${ECCUBE_PREFIX}/composer.lock RUN composer install --no-scripts --no-autoloader --no-dev -d ${ECCUBE_PREFIX} COPY . ${ECCUBE_PREFIX} -RUN composer dumpautoload -o --apcu +RUN composer dumpautoload -o