Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[4.1-beta2]マージ漏れ修正と docker build のテストを追加 #5009

Merged
merged 2 commits into from
Apr 12, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
112 changes: 112 additions & 0 deletions .github/workflows/dockerbuild.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
name: Testing dockerbuild
on:
push:
paths:
- 'Dockerfile'
- 'dockerbuild/*'
- 'docker-compose*.yml'
- '.github/workflows/dockerbuild.yml'
pull_request:
paths:
- 'Dockerfile'
- 'dockerbuild/*'
- 'docker-compose*.yml'
- '.github/workflows/dockerbuild.yml'

jobs:
dockerbuild:
name: dockerbuild
runs-on: ${{ matrix.operating-system }}
strategy:
fail-fast: false
matrix:
operating-system: [ ubuntu-18.04 ]
php: [ 7.3 ]
db: [ pgsql ]
group: [ admin01 ]
include:
- db: pgsql
database_url: postgres://dbuser:[email protected]:15432/eccubedb
database_server_version: 11
- group: admin01
app_env: 'codeception'
# - group: admin02
# app_env: 'codeception'
# - group: admin03
# app_env: 'codeception'
# - group: front
# app_env: 'codeception'
# - group: installer
# app_env: 'install'

steps:
- name: Checkout
uses: actions/checkout@master

- name: docker build
run: docker-compose build

- name: Get Composer Cache Directory
id: composer-cache
run: |
echo "::set-output name=dir::$(composer config cache-files-dir)"
- uses: actions/cache@v1
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-

- name: Setup PHP
uses: nanasess/setup-php@master
with:
php-version: ${{ matrix.php }}

- name: composer install
run: composer install --dev --no-interaction -o --apcu-autoloader
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

こちらの composer install は必要ですか?
docker-compose build で Docker 内のライブラリはインストール済みかと思います。

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Codeception はローカル側で動かしているので、ローカル側にインストールが必要なんです😥

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

そうでした😌
ご確認ありがとうございます。

- name: Setup to EC-CUBE
env:
APP_ENV: ${{ matrix.app_env }}
DATABASE_URL: ${{ matrix.database_url }}
DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }}
run: |
docker-compose -f docker-compose.yml -f docker-compose.pgsql.yml up -d
docker-compose -f docker-compose.yml -f docker-compose.pgsql.yml exec -T ec-cube bin/console doctrine:schema:create --env=dev
docker-compose -f docker-compose.yml -f docker-compose.pgsql.yml exec -T ec-cube bin/console eccube:fixtures:load --env=dev
sed -i 's!APP_ENV: "dev"!APP_ENV: "prod"!g' docker-compose.yml
docker-compose -f docker-compose.yml -f docker-compose.pgsql.yml up -d

- name: setup-chromedriver
uses: nanasess/setup-chromedriver@master

- name: Run chromedriver
run: |
export DISPLAY=:99
chromedriver --url-base=/wd/hub &
echo ">>> Started chrome-driver"
sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 &
echo ">>> Started xvfb"

- name: Codeception
env:
APP_ENV: ${{ matrix.app_env }}
DATABASE_URL: ${{ matrix.database_url }}
DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }}
MAILER_URL: 'smtp://localhost:1025'
GROUP: ${{ matrix.group }}
SYMFONY_DEPRECATIONS_HELPER: weak
run: |
echo "APP_ENV=${APP_ENV}" > .env
vendor/bin/codecept -vvv run acceptance --env chrome,github_action_docker -g ${GROUP}
- name: Upload evidence
if: failure()
uses: actions/upload-artifact@v2
with:
name: codeception-${{ matrix.group }}-evidence
path: codeception/_output/
- name: Upload logs
if: failure()
uses: actions/upload-artifact@v2
with:
name: codeception-${{ matrix.group }}-logs
path: var/log/
3 changes: 1 addition & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,7 @@ RUN curl -sS https://getcomposer.org/installer \

# 全体コピー前にcomposer installを先行完了させる(docker cache利用によるリビルド速度向上)
USER www-data
RUN composer config -g repos.packagist composer https://packagist.jp \
&& composer global require hirak/prestissimo
RUN composer config -g repos.packagist composer https://packagist.jp
COPY composer.json ${APACHE_DOCUMENT_ROOT}/composer.json
COPY composer.lock ${APACHE_DOCUMENT_ROOT}/composer.lock
RUN composer install \
Expand Down
13 changes: 13 additions & 0 deletions codeception/_envs/github_action_docker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
modules:
config:
WebDriver:
host: 'localhost'
port: 9515
url: 'http://localhost:8080'
capabilities:
chromeOptions:
prefs:
download.default_directory: '%GITHUB_WORKSPACE%/codeception/_support/_downloads'
MailCatcher:
url: 'localhost'
port: 1080