-
Notifications
You must be signed in to change notification settings - Fork 656
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'origin/4.3' into dev/symfony6
- Loading branch information
Showing
18 changed files
with
538 additions
and
235 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,161 @@ | ||
name: 'Prepare VAddy' | ||
on: | ||
workflow_call: | ||
|
||
inputs: | ||
vaddy-verification-code: | ||
description: 'VAddy verification code' | ||
required: true | ||
type: string | ||
vaddy-fqdn: | ||
description: 'VAddy FQDN' | ||
required: true | ||
type: string | ||
vaddy-user: | ||
description: 'VAddy USER' | ||
required: true | ||
type: string | ||
vaddy-auth-key: | ||
description: 'VAddy AUTH key' | ||
required: true | ||
type: string | ||
|
||
runs: | ||
using: "composite" | ||
steps: | ||
|
||
- name: Setup PHP | ||
uses: nanasess/setup-php@master | ||
with: | ||
php-version: '7.4' | ||
|
||
- name: setup-chromedriver | ||
uses: nanasess/setup-chromedriver@master | ||
|
||
- name: Install fonts | ||
shell: bash | ||
run: sudo apt install fonts-noto | ||
|
||
- name: "VAddy: install" | ||
working-directory: /tmp | ||
shell: bash | ||
run: | | ||
wget -q https://github.com/vaddy/go-vaddy/archive/master.zip | ||
unzip master.zip | ||
echo 'export VADDY_AUTH_KEY="${{ inputs.vaddy-auth-key }}" | ||
export VADDY_FQDN="${{ inputs.vaddy-fqdn }}" | ||
export VADDY_VERIFICATION_CODE="${{ inputs.vaddy-verification-code }}" | ||
export VADDY_USER="${{ inputs.vaddy-user }}" | ||
export VADDY_YOUR_LOCAL_IP="127.0.0.1" | ||
export VADDY_YOUR_LOCAL_PORT="8080" | ||
export VADDY_HTTPS_PROXY=""' > go-vaddy-master/privatenet/conf/vaddy.conf | ||
mkdir -p ${HOME}/.ssh | ||
echo 'Host *.vaddy.net | ||
StrictHostKeyChecking no' >> ${HOME}/.ssh/config | ||
- name: Get Composer Cache Directory | ||
id: composer-cache | ||
shell: bash | ||
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: "EC-CUBE: setup" | ||
shell: bash | ||
env: | ||
DATABASE_URL: postgres://postgres:[email protected]:5432/eccube_db | ||
DATABASE_SERVER_VERSION: 14 | ||
run: | | ||
composer install --no-scripts --no-dev --no-interaction --optimize-autoloader --no-plugins | ||
php bin/template_jp.php | ||
rm -rf app/Plugin/* | ||
echo '<?php | ||
namespace Eccube\Doctrine\EventSubscriber; | ||
use Doctrine\Common\EventSubscriber; | ||
use Doctrine\ORM\Event\LifecycleEventArgs; | ||
use Doctrine\ORM\Events; | ||
class CancelDeletionEventSubscriber implements EventSubscriber | ||
{ | ||
public function getSubscribedEvents() | ||
{ | ||
return [Events::preRemove]; | ||
} | ||
public function preRemove(LifecycleEventArgs $event) | ||
{ | ||
$event->getEntityManager()->detach($event->getEntity()); | ||
} | ||
}' > src/Eccube/Doctrine/EventSubscriber/CancelDeletionEventSubscriber.php | ||
sed -i.bak -e 's_$fs->remove_// $fs->remove_' src/Eccube/Controller/Admin/Content/PageController.php | ||
rm -f app/config/eccube/packages/dev/web_profiler.yaml | ||
sed -i -e "s/eccube_login_throttling_max_attempts: 5/eccube_login_throttling_max_attempts: 1024/" -e "s/eccube_login_throttling_interval: '30 minutes'/eccube_login_throttling_interval: '1 minutes'/" app/config/eccube/packages/eccube.yaml | ||
rm -f app/config/eccube/packages/prod/eccube_rate_limiter.yaml | ||
sed -i -e 's/30 min/1 min/g' app/config/eccube/packages/eccube_rate_limiter.yaml | ||
bin/console cache:clear | ||
bin/console debug:container --parameter eccube_login_throttling_max_attempts | ||
bin/console debug:container --parameter eccube_login_throttling_interval | ||
bin/console debug:config eccube | ||
bin/console doctrine:database:create --env=dev | ||
bin/console doctrine:schema:create --env=dev | ||
bin/console eccube:fixtures:load --env=dev | ||
chmod -R 777 html | ||
- name: Setup Plugins | ||
shell: bash | ||
env: | ||
APP_ENV: 'prod' | ||
DATABASE_URL: postgres://postgres:[email protected]:5432/eccube_db | ||
DATABASE_SERVER_VERSION: 14 | ||
PGPASSWORD: 'password' | ||
run: | | ||
bin/console eccube:composer:require "ec-cube/recommend42" | ||
bin/console eccube:composer:require "ec-cube/coupon42" | ||
bin/console eccube:composer:require "ec-cube/mailmagazine42" | ||
bin/console eccube:composer:require "ec-cube/salesreport42" | ||
bin/console eccube:composer:require "ec-cube/relatedproduct42" | ||
bin/console eccube:composer:require "ec-cube/securitychecker42" | ||
bin/console eccube:composer:require "ec-cube/productreview42" | ||
bin/console eccube:composer:require "ec-cube/api42" | ||
bin/console eccube:composer:require "ec-cube/sitekit42" | ||
psql eccube_db -h 127.0.0.1 -U postgres -c "select id,name,code,0 as enabled,version,source,0 as initialized,'2021-08-13 00:00:00' as create_date,'2021-08-13 00:00:00' as update_date,discriminator_type from dtb_plugin;" -A -F, --pset footer > src/Eccube/Resource/doctrine/import_csv/ja/dtb_plugin.csv | ||
- name: "EC-CUBE: package" | ||
shell: bash | ||
working-directory: ../ | ||
run: ${{ github.event.repository.name }}/package.sh | ||
|
||
- name: "EC-CUBE: build" | ||
shell: bash | ||
run: docker build -t ec-cube . | ||
|
||
- name: "Codeception: prepare" | ||
shell: bash | ||
run: | | ||
echo "APP_ENV=codeception" > .env | ||
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" | ||
composer install --no-scripts --no-interaction --optimize-autoloader | ||
sudo echo "127.0.0.1 ${{ inputs.vaddy-fqdn }}" | sudo tee -a /etc/hosts | ||
echo "modules: | ||
config: | ||
WebDriver: | ||
host: '127.0.0.1' | ||
port: 9515 | ||
url: "http://${{ inputs.vaddy-fqdn }}:8080" | ||
browser: chrome | ||
capabilities: | ||
chromeOptions: | ||
args: ["--headless", "--disable-gpu"] | ||
prefs: | ||
download.default_directory: '%PWD%/codeception/_support/_downloads' | ||
MailCatcher: | ||
url: '172.17.0.1' | ||
port: 1080" > codeception/_envs/local.yml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
name: 'Run VAddy scan' | ||
on: | ||
workflow_call: | ||
|
||
inputs: | ||
command: | ||
description: 'codeception command' | ||
required: true | ||
vaddy-verification-code: | ||
description: 'VAddy verification code' | ||
required: true | ||
type: string | ||
vaddy-proxy: | ||
description: 'VAddy proxy' | ||
required: true | ||
type: string | ||
vaddy-proxy-port: | ||
description: 'VAddy proxy port number' | ||
required: true | ||
type: string | ||
vaddy-fqdn: | ||
description: 'VAddy FQDN' | ||
required: true | ||
type: string | ||
|
||
runs: | ||
using: "composite" | ||
steps: | ||
- name: "EC-CUBE: run" | ||
shell: bash | ||
run: | | ||
docker run \ | ||
-e APP_ENV=prod \ | ||
-e APP_DEBUG=0 \ | ||
-e DATABASE_URL="postgres://postgres:[email protected]:5432/eccube_db" \ | ||
-e DATABASE_SERVER_VERSION=14 \ | ||
-e MAILER_URL="smtp://172.17.0.1:1025" \ | ||
-v ${PWD}/html:/tmp/html \ | ||
--rm -d -p 8080:80 --name eccube ec-cube | ||
until [ $(docker inspect -f {{.State.Health.Status}} eccube) != "starting" ]; do | ||
echo -n . | ||
sleep 10; | ||
done; | ||
docker cp ../eccube.tar.gz eccube:/tmp/ | ||
docker exec -w /tmp eccube bash -c "rm -rf /var/www/html; tar xf /tmp/eccube.tar.gz -C /var/www; mv /var/www/ec-cube /var/www/html; chown -R www-data: /var/www/html" | ||
docker exec eccube bash -c "rm -rf /var/www/html/html; ln -s /tmp/html /var/www/html/html;" | ||
docker exec -u www-data eccube bin/console eccube:install -n | ||
docker exec -u www-data -e VADDY_VERIFICATION_CODE=${{ inputs.vaddy-verification-code }} eccube bash -c 'echo ${VADDY_VERIFICATION_CODE} > vaddy-${VADDY_VERIFICATION_CODE}.html' | ||
docker exec -u www-data eccube bash -c 'for code in Api42 Coupon42 MailMagazine42 ProductReview42 Recommend42 RelatedProduct42 SalesReport42 Securitychecker42 SiteKit42; do bin/console eccube:plugin:enable --code $code; done' | ||
- name: "VAddy: connect" | ||
shell: bash | ||
working-directory: /tmp/go-vaddy-master/privatenet | ||
run: ./vaddy_privatenet.sh connect | ||
|
||
- name: "VAddy: crawl" | ||
shell: bash | ||
env: | ||
APP_ENV: "codeception" | ||
DATABASE_URL: "postgres://postgres:[email protected]:5432/eccube_db" | ||
DATABASE_SERVER_VERSION: "14" | ||
MAILER_URL: "smtp://127.0.0.1:1025" | ||
BASE_URL: "http://${{ inputs.vaddy-fqdn }}:8080" | ||
VADDY_PROXY: "${{ inputs.vaddy-proxy }}" | ||
VADDY_PROXY_PORT: "${{ inputs.vaddy-proxy-port }}" | ||
VADDY_VERIFICATION_CODE: "${{ inputs.vaddy-verification-code }}" | ||
VADDY_CRAWL: "${{ inputs.command }}" | ||
run: | | ||
vendor/bin/codecept -vvv run acceptance --env chrome,local,vaddy VaddyCest:begin | ||
vendor/bin/codecept -vvv run -g vaddy acceptance --env chrome,local,vaddy --html report.html ${{ inputs.command }} || true | ||
vendor/bin/codecept -vvv run acceptance --env chrome,local,vaddy VaddyCest:commit | ||
- name: Upload report | ||
uses: actions/upload-artifact@v2 | ||
with: | ||
name: crawl-reports | ||
path: codeception/_output/**/* | ||
|
||
- name: "VAddy: disconnect" | ||
shell: bash | ||
if: ${{ always() }} | ||
working-directory: /tmp/go-vaddy-master/privatenet | ||
run: ./vaddy_privatenet.sh disconnect | ||
|
||
- name: "VAddy: scan" | ||
shell: bash | ||
continue-on-error: true | ||
env: | ||
VADDY_CRAWL: "${{ inputs.command }}" | ||
working-directory: /tmp/go-vaddy-master/privatenet | ||
run: ./vaddy_privatenet.sh scan | ||
|
||
- name: "EC-CUBE: stop" | ||
shell: bash | ||
if: ${{ always() }} | ||
continue-on-error: true | ||
run: docker rm -f -v eccube |
Oops, something went wrong.