Skip to content

Commit

Permalink
Merge pull request #767 from nanasess/fix-github-actions
Browse files Browse the repository at this point in the history
GitHub Actions が失敗するのを修正
  • Loading branch information
dotani1111 authored Oct 23, 2023
2 parents ac42946 + 121a79a commit df1d50a
Show file tree
Hide file tree
Showing 8 changed files with 118 additions and 37 deletions.
40 changes: 35 additions & 5 deletions .github/workflows/dockerbuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -32,26 +32,50 @@ 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/debian-security" >> ${GITHUB_ENV}
- if: ${{ matrix.php == 5.5 }}
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=" >> ${GITHUB_ENV}
echo "FORCE_YES=--force-yes" >> ${GITHUB_ENV}
- if: ${{ matrix.php == 5.5 || matrix.php == 5.6 }}
echo "APT_REPO=cloudfront.debian.net/debian-archive" >> ${GITHUB_ENV}
echo "APT_SECURITY_REPO=cloudfront.debian.net/debian-archive/debian-security" >> ${GITHUB_ENV}
- if: ${{ 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
Expand Down Expand Up @@ -97,6 +121,9 @@ jobs:
GD_OPTIONS=${{ env.GD_OPTIONS }}
EXT_INSTALL_ARGS=${{ env.EXT_INSTALL_ARGS }}
APCU=${{ env.APCU }}
FORCE_YES=${{ env.FORCE_YES }}
APT_REPO=${{ env.APT_REPO }}
APT_SECURITY_REPO=${{ env.APT_SECURITY_REPO }}
- name: Setup to EC-CUBE
env:
Expand Down Expand Up @@ -142,6 +169,9 @@ jobs:
GD_OPTIONS=${{ env.GD_OPTIONS }}
EXT_INSTALL_ARGS=${{ env.EXT_INSTALL_ARGS }}
APCU=${{ env.APCU }}
FORCE_YES=${{ env.FORCE_YES }}
APT_REPO=${{ env.APT_REPO }}
APT_SECURITY_REPO=${{ env.APT_SECURITY_REPO }}
- name: Upload evidence
if: failure()
Expand Down
40 changes: 34 additions & 6 deletions .github/workflows/e2e-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ jobs:
fail-fast: false
matrix:
db: [ 'pgsql', 'mysql' ]
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' ]
include:
- db: mysql
dbport: '3306'
Expand All @@ -109,22 +109,50 @@ 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}
- if: ${{ matrix.php == 5.5 || matrix.php == 5.6 }}
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/debian-security" >> ${GITHUB_ENV}
- if: ${{ matrix.php == 5.5 }}
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/debian-security" >> ${GITHUB_ENV}
- if: ${{ 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=" >> ${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
Expand All @@ -142,7 +170,7 @@ jobs:
sudo chown -R 1001:1000 zap
sudo chmod -R g+w zap
sh -c 'echo "<?php" >> 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}" --build-arg FORCE_YES="${FORCE_YES}" --build-arg APT_REPO="${APT_REPO}" --build-arg APT_SECURITY_REPO="${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
Expand Down
40 changes: 27 additions & 13 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
fail-fast: false
matrix:
operating-system: [ ubuntu-22.04 ]
php: [ '5.4', '5.5', '5.6', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2snapshot' ]
php: [ '5.4', '5.5', '5.6', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2' ]
db: [ mysql, pgsql ]
include:
- db: mysql
Expand Down Expand Up @@ -131,9 +131,12 @@ jobs:

- run: sleep 1
- name: Run to PHPUnit
run: data/vendor/bin/phpunit --exclude-group classloader
run: data/vendor/bin/phpunit --exclude-group classloader,mysql_prepare
- name: Run to PHPUnit classloader
run: data/vendor/bin/phpunit --group classloader
- name: Run to PHPUnit mysql_prepare
# XXX 連続してテストを実行すると、何故か MySQL の prepare statement に失敗するため個別に実行する
run: data/vendor/bin/phpunit --group mysql_prepare
- name: Run to PHPUnit SessionFactory
run: data/vendor/bin/phpunit tests/class/SC_SessionFactoryTest.php

Expand All @@ -150,7 +153,7 @@ jobs:
strategy:
fail-fast: false
matrix:
operating-system: [ windows-2019 ]
operating-system: [ windows-2022 ]
php: [ 5.5, 5.6, 7.1, 7.2, 7.3, 7.4 ]
steps:
- name: Checkout
Expand All @@ -177,11 +180,21 @@ jobs:
- name: composer install
run: composer install --no-interaction -o

- name: Setup to database
- name: Start PostgreSQL on Windows
# see https://www.cybertec-postgresql.com/en/postgresql-github-actions-continuous-integration/
run: |
choco install -y mysql --version 5.7.18
mysql --user=root -e "CREATE DATABASE eccube_db DEFAULT COLLATE=utf8_general_ci;"
mysql --user=root -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;FLUSH PRIVILEGES;"
echo $env:PGBIN >> $Env:GITHUB_PATH
$pgService = Get-Service -Name postgresql*
Set-Service -InputObject $pgService -Status running -StartupType automatic
Start-Process -FilePath "$env:PGBIN\pg_isready" -Wait -PassThru
$env:PGPASSWORD = 'root'
(Get-Content $env:PGDATA\postgresql.conf) | foreach { $_ -replace "#password_encryption = scram-sha-256","password_encryption = md5" } | Set-Content $env:PGDATA\postgresql.conf
(Get-Content $env:PGDATA\pg_hba.conf) | foreach { $_ -replace "scram-sha-256","md5" } | Set-Content $env:PGDATA\pg_hba.conf
Restart-Service -InputObject $pgService -Force
Start-Process -FilePath "$env:PGBIN\pg_isready" -Wait -PassThru
& $env:PGBIN\createuser -U postgres -d -R eccube_db_user
& $env:PGBIN\psql -U postgres -c "ALTER role eccube_db_user with password 'root';" postgres
& $env:PGBIN\createdb --owner=eccube_db_user eccube_db
- name: Setup PHP
uses: nanasess/setup-php@master
Expand All @@ -190,16 +203,17 @@ jobs:

- name: Setup to EC-CUBE
env:
DB: mysql
USER: root
DBUSER: root
DBPASS: password
DB: pgsql
DBUSER: eccube_db_user
DBPASS: root
DBNAME: eccube_db
DBPORT: 3306
DBPORT: 5432
DBSERVER: 127.0.0.1
HTTP_URL: http://127.0.0.1:8085/
HTTPS_URL: http://127.0.0.1:8085/
run: bash eccube_install.sh mysql
run: |
echo $PATH
bash eccube_install.sh pgsql
shell: bash
- run: sleep 1
shell: bash
Expand Down
16 changes: 13 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,21 @@ 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 if [ ! -e /etc/apt/sources.list ]; then touch /etc/apt/sources.list; fi # for bookworm
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
# ext-zip: libzip-dev zlib1g-dev
Expand All @@ -27,7 +37,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
Expand Down Expand Up @@ -64,4 +74,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
4 changes: 2 additions & 2 deletions tests/class/SC_Query_Test.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
* @author Kentaro Ohkouchi
* @version $Id$
*/
class SC_Query_Test extends PHPUnit_Framework_TestCase
class SC_Query_Test extends PHPUnit_Framework_TestCase
{

/**
Expand Down Expand Up @@ -317,7 +317,7 @@ protected function setTestData($column1, $column2, $column3)
$sql = "INSERT INTO test_table (column1, column2, column3) VALUES (?, ?, ?)";
$result = $this->objQuery->query($sql, $fields_values);
if (PEAR::isError($result)) {
error_log(var_export($result, true));
throw new \Exception($result->getMessage());
}

return $result;
Expand Down
3 changes: 1 addition & 2 deletions tests/class/util/SC_Utils/SC_Utils_sfGetAddressTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
/**
* SC_Utils::sfGetAddress()のテストクラス.
*
*
* @group mysql_prepare
* @author Hiroko Tamagawa
* @version $Id$
*/
Expand Down Expand Up @@ -191,4 +191,3 @@ protected function setUpAddress()
}
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
* SC_Utils::sfGetClassCatCount()のテストクラス.
*
*
* @group mysql_prepare
* @author Hiroko Tamagawa
* @version $Id$
*/
Expand Down Expand Up @@ -134,4 +135,3 @@ protected function setUpClassCat()
}
}
}

10 changes: 5 additions & 5 deletions tests/class/util/SC_Utils/SC_Utils_sfGetProductClassIdTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
* SC_Utils::sfGetProductClassId()のテストクラス.
* TODO del_flgは使わなくて良い??
* TODO classcategory_id1とclasscategory_id2を使わないと一意に指定できない。
* @group mysql_prepare
* @author Hiroko Tamagawa
* @version $Id$
*/
Expand All @@ -49,7 +50,7 @@ protected function tearDown()
/////////////////////////////////////////
public function testSfGetProductClassId_存在する製品IDのみを指定した場合_カテゴリ0の対応する製品クラスが取得できる()
{

$this->expected = '2001';
$this->actual = SC_Utils::sfGetProductClassId('2001');

Expand All @@ -58,7 +59,7 @@ public function testSfGetProductClassId_存在する製品IDのみを指定し

public function testSfGetProductClassId_存在する製品IDのみを指定してカテゴリ0の製品クラスが存在しなければ_nullが返る()
{

$this->expected = null;
$this->actual = SC_Utils::sfGetProductClassId('1001');

Expand All @@ -67,7 +68,7 @@ public function testSfGetProductClassId_存在する製品IDのみを指定し

public function testSfGetProductClassId_存在する製品IDとカテゴリIDを指定した場合_対応する製品クラスが取得できる()
{

$this->expected = '1002';
$this->actual = SC_Utils::sfGetProductClassId('1001', '2');

Expand All @@ -76,7 +77,7 @@ public function testSfGetProductClassId_存在する製品IDとカテゴリIDを

public function testSfGetProductClassId_存在する製品IDと存在しないカテゴリIDを指定した場合_nullが返る()
{

$this->expected = null;
$this->actual = SC_Utils::sfGetProductClassId('1001', '999');

Expand Down Expand Up @@ -130,4 +131,3 @@ protected function setUpProductsClass()
}
}
}

0 comments on commit df1d50a

Please sign in to comment.