From bfec2b9667bec1acd9bdc36b1509d5ced41e3ea9 Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Mon, 16 Jan 2023 10:20:32 +0900 Subject: [PATCH 01/49] =?UTF-8?q?=E4=B8=80=E6=99=82=E7=9A=84=E3=81=ABactio?= =?UTF-8?q?ns=E3=82=92=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/coverage.yml | 236 --------- .github/workflows/deny-test.yml | 126 ----- .github/workflows/deploy.yml | 139 ----- .github/workflows/dockerbuild.yml | 145 ------ .github/workflows/e2e-test-throttling.yml | 154 ------ .github/workflows/e2e-test.yml | 159 ------ .github/workflows/penetration-test.yml | 87 ---- .github/workflows/phpstan.yml | 35 -- .github/workflows/plugin-test.yml | 596 ---------------------- .github/workflows/unit-test.yml | 122 ----- 10 files changed, 1799 deletions(-) delete mode 100644 .github/workflows/coverage.yml delete mode 100644 .github/workflows/deny-test.yml delete mode 100644 .github/workflows/deploy.yml delete mode 100644 .github/workflows/dockerbuild.yml delete mode 100644 .github/workflows/e2e-test-throttling.yml delete mode 100644 .github/workflows/e2e-test.yml delete mode 100644 .github/workflows/penetration-test.yml delete mode 100644 .github/workflows/phpstan.yml delete mode 100644 .github/workflows/plugin-test.yml delete mode 100644 .github/workflows/unit-test.yml diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml deleted file mode 100644 index ce5b14fc62f..00000000000 --- a/.github/workflows/coverage.yml +++ /dev/null @@ -1,236 +0,0 @@ -name: Coverage -on: - push: - branches: - - '*' - tags: - - '*' - paths: - - '**' - - '!*.md' - pull_request: - paths: - - '**' - - '!*.md' -jobs: - phpunit: - name: PHPUnit - runs-on: ubuntu-22.04 - strategy: - fail-fast: false - matrix: - php: [ 8.1 ] - db: [ pgsql ] - include: - - db: pgsql - database_url: postgres://postgres:password@127.0.0.1:5432/eccube_db - database_server_version: 14 - services: - postgres: - image: postgres:14 - env: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: password - ports: - - 5432:5432 - # needed because the postgres container does not provide a healthcheck - options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 - - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Setup PHP - uses: nanasess/setup-php@master - with: - php-version: ${{ matrix.php }} - - - name: Setup pcov - run: | - sudo apt-fast install -y php8.1-pcov - sudo phpenmod -s cli pcov - - - name: Initialize Composer - uses: ./.github/actions/composer - - - name: Setup EC-CUBE - env: - APP_ENV: 'test' - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - run: | - bin/console doctrine:database:create - bin/console doctrine:schema:create - bin/console eccube:fixtures:load - - - name: PHPUnit - env: - APP_ENV: 'test' - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - MAILER_URL: 'smtp://127.0.0.1:1025' - continue-on-error: true - run: php -dpcov.enabled=1 vendor/bin/phpunit --exclude-group cache-clear,cache-clear-install,update-schema-doctrine --coverage-clover=coverage1.xml - - name: Upload report - if: success() - uses: actions/upload-artifact@v2 - with: - name: phpunit-reports - path: coverage1.xml - codeception: - name: Codeception - runs-on: ubuntu-22.04 - strategy: - fail-fast: false - matrix: - php: [ 8.1 ] - db: [ pgsql ] - group: [ admin01, admin02, admin03, front, installer ] - include: - - db: pgsql - database_url: postgres://postgres:password@127.0.0.1:5432/eccube_db - database_server_version: 14 - - 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' - services: - postgres: - image: postgres:14 - env: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: password - ports: - - 5432:5432 - # needed because the postgres container does not provide a healthcheck - options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 - - mailcatcher: - image: schickling/mailcatcher - ports: - - 1080:1080 - - 1025:1025 - - steps: - - name: Checkout - uses: actions/checkout@master - - - name: Setup PHP - uses: nanasess/setup-php@master - with: - php-version: ${{ matrix.php }} - - - name: Initialize Composer - uses: ./.github/actions/composer - - - name: Setup to EC-CUBE - env: - APP_ENV: ${{ matrix.app_env }} - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - run: | - echo "APP_ENV=${APP_ENV}" > .env - bin/console doctrine:database:create --env=dev - bin/console doctrine:schema:create --env=dev - bin/console eccube:fixtures:load --env=dev - - - 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: Run package-api - run: | - if [[ ! -d ${PWD}/repos ]]; then mkdir -p ${PWD}/repos ; fi - docker run -d --rm -v ${PWD}/repos:/repos -e MOCK_REPO_DIR=/repos -p 8080:8080 eccube/mock-package-api:composer2 - cp codeception/_data/plugins/*-1.0.0.tgz repos - - - name: Setup pcov - run: | - sudo apt-fast install -y php8.1-pcov - sudo phpenmod -s cli pcov - - - name: Setup codeception - run: | - composer config --no-plugins allow-plugins.codeception/c3 true - composer require --dev codeception/c3 "2.*" - sed -i "7a include __DIR__.'/c3.php';" index.php - - - name: Start PHP Development Server - env: - APP_ENV: 'codeception' - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - MAILER_URL: 'smtp://127.0.0.1:1025' - ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' - run: php -S 127.0.0.1:8000 & - - - name: Codeception - env: - APP_ENV: ${{ matrix.app_env }} - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - MAILER_URL: 'smtp://127.0.0.1:1025' - ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' - GROUP: ${{ matrix.group }} - SYMFONY_DEPRECATIONS_HELPER: weak - continue-on-error: true - run: php -dpcov.enabled=1 vendor/bin/codecept -vvv run acceptance --env chrome,github_action -g ${GROUP} --skip-group excludeCoverage --coverage --coverage-xml - - name: Upload outputs - uses: actions/upload-artifact@v2 - with: - name: codeception-${{ matrix.group }}-evidence - path: codeception/_output/ - - name: Upload report - if: success() - uses: actions/upload-artifact@v2 - with: - name: codeception-${{ matrix.group }}-reports - path: codeception/_output/**/*.xml - - name: Upload logs - if: failure() - uses: actions/upload-artifact@v2 - with: - name: codeception-${{ matrix.group }}-logs - path: var/log/ - - upload: - name: Upload coverage reports - runs-on: ubuntu-latest - needs: [ phpunit, codeception ] - steps: - - name: Checkout - uses: actions/checkout@v2 - - uses: actions/download-artifact@v2 - with: - path: reports - - run: | - mv reports/codeception-admin01-reports/acceptance\ \(chrome,\ github_action\).remote.coverage.xml reports/acceptance.admin01.coverage.xml - mv reports/codeception-admin02-reports/acceptance\ \(chrome,\ github_action\).remote.coverage.xml reports/acceptance.admin02.coverage.xml - mv reports/codeception-admin03-reports/acceptance\ \(chrome,\ github_action\).remote.coverage.xml reports/acceptance.admin03.coverage.xml - mv reports/codeception-front-reports/acceptance\ \(chrome,\ github_action\).remote.coverage.xml reports/acceptance.front.coverage.xml - mv reports/codeception-installer-reports/acceptance\ \(chrome,\ github_action\).remote.coverage.xml reports/acceptance.installer.coverage.xml - - name: Upload unit test coverage - uses: codecov/codecov-action@v1 - with: - files: ./reports/phpunit-reports/coverage1.xml - flags: Unit - fail_ci_if_error: true - - name: Upload E2E coverage - uses: codecov/codecov-action@v1 - with: - files: ./reports/acceptance.admin01.coverage.xml,./reports/acceptance.admin02.coverage.xml,./reports/acceptance.admin03.coverage.xml,./reports/acceptance.front.coverage.xml,./reports/acceptance.installer.coverage.xml - flags: E2E - fail_ci_if_error: true diff --git a/.github/workflows/deny-test.yml b/.github/workflows/deny-test.yml deleted file mode 100644 index 90a11bf6280..00000000000 --- a/.github/workflows/deny-test.yml +++ /dev/null @@ -1,126 +0,0 @@ -name: Deny check for EC-CUBE -on: - push: - branches: - - '*' - tags: - - '*' - paths: - - '**' - - '!*.md' - pull_request: - paths: - - '**' - - '!*.md' -jobs: - deploy: - name: Deny check - runs-on: ubuntu-22.04 - services: - postgres: - image: postgres:14 - env: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: password - ports: - - 5432:5432 - # needed because the postgres container does not provide a healthcheck - options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 - steps: - - name: Checkout - uses: actions/checkout@master - - - name: Setup PHP - uses: nanasess/setup-php@master - with: - php-version: '7.4' - - - name: Initialize Composer - uses: ./.github/actions/composer - - - name: Translate to templates - run: php bin/template_jp.php - - - name: Setup to EC-CUBE - env: - APP_ENV: 'prod' - DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db - DATABASE_SERVER_VERSION: 14 - run: | - rm -rf $GITHUB_WORKSPACE/app/Plugin/* - echo "APP_ENV=${APP_ENV}" > .env - bin/console doctrine:database:create --env=dev - bin/console doctrine:schema:create --env=dev - bin/console eccube:fixtures:load --env=dev - - - name: Install Plugins - env: - APP_ENV: 'prod' - DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db - DATABASE_SERVER_VERSION: 14 - 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" - - - name: Pre Install Plugins - env: - PGPASSWORD: 'password' - run: 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: Packaging - working-directory: ../ - run: ${{ github.event.repository.name }}/package.sh - - - name: Build Container - run: docker build -t ec-cube . - - - name: Container Run - run: | - docker run -e APP_ENV=prod -e APP_DEBUG=0 -e DATABASE_URL="sqlite:///var/eccube.db" -e DATABASE_SERVER_VERSION=3 --rm -d -p 8080:80 --name eccube ec-cube - echo -n $(docker inspect -f {{.State.Health.Status}} eccube) - until [ $(docker inspect -f {{.State.Health.Status}} eccube) != "starting" ]; do - echo -n . - sleep 10; - done; - docker inspect -f {{.State.Health.Status}} eccube - 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 -u www-data eccube bin/console eccube:install -n - 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: setup-chromedriver - uses: nanasess/setup-chromedriver@master - - - name: Prepare test - 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" - composer install --no-scripts --no-interaction --optimize-autoloader - echo "modules: - enabled: - - REST: - depends: PhpBrowser - url: 'http://127.0.0.1:8080' - config: - WebDriver: - host: '127.0.0.1' - port: 9515 - url: 'http://127.0.0.1:8080'" > codeception/_envs/local.yml - - - name: Run tests - env: - APP_ENV: 'codeception' - DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db - DATABASE_SERVER_VERSION: 14 - run: | - vendor/bin/codecept -vvv run acceptance --env chrome,local CL01DenyCest diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml deleted file mode 100644 index 2037d58f320..00000000000 --- a/.github/workflows/deploy.yml +++ /dev/null @@ -1,139 +0,0 @@ -name: Deploy for EC-CUBE -on: - release: - types: [ published ] -jobs: - deploy: - name: Deploy - runs-on: ubuntu-22.04 - services: - postgres: - image: postgres:14 - env: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: password - ports: - - 5432:5432 - # needed because the postgres container does not provide a healthcheck - options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 - steps: - - name: Checkout - uses: actions/checkout@master - - - name: Setup PHP - uses: nanasess/setup-php@master - with: - php-version: '7.4' - - - name: Install to Composer - run: composer install --no-scripts --no-dev --no-interaction --optimize-autoloader - - - name: Translate to templates - run: php bin/template_jp.php - - - name: Setup to EC-CUBE - env: - APP_ENV: 'prod' - DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db - DATABASE_SERVER_VERSION: 14 - run: | - rm -rf $GITHUB_WORKSPACE/app/Plugin/* - echo "APP_ENV=${APP_ENV}" > .env - bin/console doctrine:database:create --env=dev - bin/console doctrine:schema:create --env=dev - bin/console eccube:fixtures:load --env=dev - - - name: Install Plugins - env: - APP_ENV: 'prod' - DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db - DATABASE_SERVER_VERSION: 14 - 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" - - - name: revert to config platform.php - run: composer config platform.php 7.4.0 - - - name: Pre Install Plugins - env: - PGPASSWORD: 'password' - run: 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: Packaging - working-directory: ../ - env: - TAG_NAME: ${{ github.event.release.tag_name }} - run: ${{ github.event.repository.name }}/package.sh - - - name: Upload binaries to release of TGZ - uses: svenstaro/upload-release-action@v1-release - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ runner.workspace }}/eccube-${{ github.event.release.tag_name }}.tar.gz - asset_name: eccube-${{ github.event.release.tag_name }}.tar.gz - tag: ${{ github.ref }} - overwrite: true - - name: Upload binaries to release of ZIP - uses: svenstaro/upload-release-action@v1-release - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ runner.workspace }}/eccube-${{ github.event.release.tag_name }}.zip - asset_name: eccube-${{ github.event.release.tag_name }}.zip - tag: ${{ github.ref }} - overwrite: true - - name: Upload binaries to release of TGZ md5 checksum - uses: svenstaro/upload-release-action@v1-release - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ runner.workspace }}/eccube-${{ github.event.release.tag_name }}.tar.gz.checksum.md5 - asset_name: eccube-${{ github.event.release.tag_name }}.tar.gz.checksum.md5 - tag: ${{ github.ref }} - overwrite: true - - name: Upload binaries to release of TGZ sha1 checksum - uses: svenstaro/upload-release-action@v1-release - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ runner.workspace }}/eccube-${{ github.event.release.tag_name }}.tar.gz.checksum.sha1 - asset_name: eccube-${{ github.event.release.tag_name }}.tar.gz.checksum.sha1 - tag: ${{ github.ref }} - overwrite: true - - name: Upload binaries to release of TGZ sha256 checksum - uses: svenstaro/upload-release-action@v1-release - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ runner.workspace }}/eccube-${{ github.event.release.tag_name }}.tar.gz.checksum.sha256 - asset_name: eccube-${{ github.event.release.tag_name }}.tar.gz.checksum.sha256 - tag: ${{ github.ref }} - overwrite: true - - name: Upload binaries to release of ZIP md5 checksum - uses: svenstaro/upload-release-action@v1-release - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ runner.workspace }}/eccube-${{ github.event.release.tag_name }}.zip.checksum.md5 - asset_name: eccube-${{ github.event.release.tag_name }}.zip.checksum.md5 - tag: ${{ github.ref }} - overwrite: true - - name: Upload binaries to release of ZIP sha1 checksum - uses: svenstaro/upload-release-action@v1-release - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ runner.workspace }}/eccube-${{ github.event.release.tag_name }}.zip.checksum.sha1 - asset_name: eccube-${{ github.event.release.tag_name }}.zip.checksum.sha1 - tag: ${{ github.ref }} - overwrite: true - - name: Upload binaries to release of ZIP sha256 checksum - uses: svenstaro/upload-release-action@v1-release - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: ${{ runner.workspace }}/eccube-${{ github.event.release.tag_name }}.zip.checksum.sha256 - asset_name: eccube-${{ github.event.release.tag_name }}.zip.checksum.sha256 - tag: ${{ github.ref }} - overwrite: true diff --git a/.github/workflows/dockerbuild.yml b/.github/workflows/dockerbuild.yml deleted file mode 100644 index 72bd6040e25..00000000000 --- a/.github/workflows/dockerbuild.yml +++ /dev/null @@ -1,145 +0,0 @@ -name: Testing dockerbuild -on: - push: - paths: - - '**' - - '!*.md' - release: - types: [ published ] -env: - REGISTRY: ghcr.io - -jobs: - dockerbuild: - name: dockerbuild - runs-on: ${{ matrix.operating-system }} - permissions: - contents: read - packages: write - strategy: - fail-fast: false - matrix: - operating-system: [ ubuntu-22.04 ] - php: [ '7.4', '8.0', '8.1' ] - db: [ pgsql ] - group: [ admin01 ] - include: - - db: pgsql - database_url: postgres://dbuser:secret@127.0.0.1:15432/eccubedb - database_server_version: 14 - - group: admin01 - app_env: 'codeception' - - php: '7.4' - tag: '7.4-apache' - - php: '8.0' - tag: '8.0-apache' - - php: '8.1' - tag: '8.1-apache' - steps: - - name: downcase REPO - run: | - echo "IMAGE_NAME=${GITHUB_REPOSITORY,,}-php" >> ${GITHUB_ENV} - - name: Checkout - uses: actions/checkout@master - ## Used when creating multi-platform images - # - name: Set up QEMU - # uses: docker/setup-qemu-action@v2 - # - name: Set up Docker Buildx - # uses: docker/setup-buildx-action@v2 - - - name: Setup PHP - uses: nanasess/setup-php@master - with: - php-version: ${{ matrix.php }} - - - name: Initialize Composer - uses: ./.github/actions/composer - - - name: Login to GitHub Container Registry - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Extract metadata (tags, labels) for Docker - id: meta - uses: docker/metadata-action@v4 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - tags: | - # set latest tag for default branch - type=raw,value=${{ matrix.php }}-apache,prefix=,enable={{is_default_branch}} - type=ref,event=branch,prefix=${{ matrix.php }}-apache- - type=ref,event=tag,prefix=${{ matrix.php }}-apache- - type=ref,event=pr,prefix=${{ matrix.php }}-apache-pr- - - - name: Build and export to Docker - uses: docker/build-push-action@v3 - with: - context: . - load: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - build-args: TAG=${{ matrix.tag }} - - - name: Setup to EC-CUBE - env: - APP_ENV: ${{ matrix.app_env }} - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - REGISTRY: ${{ env.REGISTRY }} - IMAGE_NAME: ${{ env.IMAGE_NAME }} - TAG: ${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.version'] }} - run: | - docker compose -f docker-compose.yml -f docker-compose.pgsql.yml up -d --wait - 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 --wait - - - 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://127.0.0.1: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} - ## see https://docs.github.com/ja/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#publishing-a-package-using-an-action - - - name: Push Docker image - uses: docker/build-push-action@v3 - if: success() - with: - context: . - push: true - # platforms: linux/amd64,linux/arm64 - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - build-args: TAG=${{ matrix.tag }} - - - 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/ diff --git a/.github/workflows/e2e-test-throttling.yml b/.github/workflows/e2e-test-throttling.yml deleted file mode 100644 index d5c1d0a6328..00000000000 --- a/.github/workflows/e2e-test-throttling.yml +++ /dev/null @@ -1,154 +0,0 @@ -name: E2E test(Throttoling) for EC-CUBE -on: - push: - branches: - - '*' - tags: - - '*' - paths: - - '**' - - '!*.md' - pull_request: - paths: - - '**' - - '!*.md' -jobs: - codeception: - name: Codeception - runs-on: ubuntu-22.04 - strategy: - fail-fast: false - matrix: - php: [ 8.1 ] - db: [ pgsql ] - method: [ フロント画面ログイン_IP, フロント画面ログイン_会員, 管理画面ログイン_IP, 管理画面ログイン_会員, 会員登録, 問い合わせ, パスワード再発行, 注文確認_非会員購入, 注文確認_会員購入, 注文完了_非会員購入, 注文完了_会員購入, 会員情報編集, 配送先情報_追加, 配送先情報_編集, 配送先情報_削除, order_お届け先追加, order_お届け先変更 ] - include: - - db: pgsql - database_url: postgres://postgres:password@127.0.0.1:5432/eccube_db - database_server_version: 14 - services: - postgres: - image: postgres:14 - env: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: password - ports: - - 5432:5432 - # needed because the postgres container does not provide a healthcheck - options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 - - mailcatcher: - image: schickling/mailcatcher - ports: - - 1080:1080 - - 1025:1025 - - steps: - - name: Checkout - uses: actions/checkout@master - - # ShoppingController::checkoutをテストするため、confirmの上限値を変更する - - name: Fix limiter limit - if: startsWith(matrix.method, '注文完了') - run: | - echo "eccube: - rate_limiter: - shopping_confirm_ip: - route: ~ - limit: 1024 - interval: '30 minutes' - shopping_confirm_customer: - route: ~ - limit: 1024 - interval: '30 minutes' - shopping_checkout_ip: - route: ~ - limit: 25 - interval: '30 minutes' - shopping_checkout_customer: - route: ~ - limit: 10 - interval: '30 minutes'" > app/config/eccube/packages/prod/eccube_rate_limiter.yaml - - # delivery deleteのテストするため、delivery addの上限値を変更する - - name: Fix limiter limi for delivery delete - if: startsWith(matrix.method, '配送先情報_削除') - run: | - echo "eccube: - rate_limiter: - mypage_delivery_new: - route: mypage_delivery_new - method: [ 'POST' ] - type: customer - limit: 1024 - interval: '30 minutes' - mypage_delivery_delete: - route: mypage_delivery_delete - method: [ 'DELETE' ] - type: customer - limit: 10 - interval: '30 minutes'" > app/config/eccube/packages/prod/eccube_rate_limiter.yaml - - - name: Setup PHP - uses: nanasess/setup-php@master - with: - php-version: ${{ matrix.php }} - - - name: Initialize Composer - uses: ./.github/actions/composer - - - name: Setup to EC-CUBE - env: - APP_ENV: 'prod' - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - run: | - echo "APP_ENV=${APP_ENV}" > .env - echo "TRUSTED_HOSTS=127.0.0.1,localhost" >> .env - bin/console doctrine:database:create --env=dev - bin/console doctrine:schema:create --env=dev - bin/console eccube:fixtures:load --env=dev - - - 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: Start PHP Development Server - env: - APP_ENV: 'prod' - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - MAILER_DSN: 'smtp://127.0.0.1:1025' - ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' - run: php -S 127.0.0.1:8000 codeception/router.php & - - - name: Codeception - env: - APP_ENV: 'prod' - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - MAILER_DSN: 'smtp://127.0.0.1:1025' - ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' - METHOD: ${{ matrix.method }} - SYMFONY_DEPRECATIONS_HELPER: weak - run: vendor/bin/codecept -vvv run acceptance --env chrome,github_action EF09ThrottlingCest::${METHOD} --html report.html - - - name: Upload evidence - if: failure() - uses: actions/upload-artifact@v2 - with: - name: codeception-${{ matrix.method }}-evidence - path: codeception/_output/ - - name: Upload logs - if: failure() - uses: actions/upload-artifact@v2 - with: - name: codeception-${{ matrix.method }}-logs - path: var/log/ diff --git a/.github/workflows/e2e-test.yml b/.github/workflows/e2e-test.yml deleted file mode 100644 index d8bdd141a05..00000000000 --- a/.github/workflows/e2e-test.yml +++ /dev/null @@ -1,159 +0,0 @@ -name: E2E test for EC-CUBE -on: - push: - branches: - - '*' - tags: - - '*' - paths: - - '**' - - '!*.md' - pull_request: - paths: - - '**' - - '!*.md' -jobs: - codeception: - name: Codeception - runs-on: ubuntu-22.04 - strategy: - fail-fast: false - matrix: - php: [ 7.4 ] - db: [ pgsql ] - group: [ 'admin01', 'admin02', 'admin03', 'front', 'restrict-fileupload', 'installer' ] - include: - - db: pgsql - database_url: postgres://postgres:password@127.0.0.1:5432/eccube_db - database_server_version: 14 - - group: 'admin01' - app_env: 'codeception' - - group: 'admin02' - app_env: 'codeception' - - group: 'admin03' - app_env: 'codeception' - - group: 'front' - app_env: 'codeception' - - group: 'restrict-fileupload' - app_env: 'codeception' - - group: 'installer' - app_env: 'install' - services: - postgres: - image: postgres:14 - env: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: password - ports: - - 5432:5432 - # needed because the postgres container does not provide a healthcheck - options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 - - mailcatcher: - image: schickling/mailcatcher - ports: - - 1080:1080 - - 1025:1025 - - steps: - - name: Checkout - uses: actions/checkout@master - - - name: Setup PHP - uses: nanasess/setup-php@master - with: - php-version: ${{ matrix.php }} - - - name: Initialize Composer - uses: ./.github/actions/composer - - - name: Setup to EC-CUBE - env: - APP_ENV: ${{ matrix.app_env }} - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - run: | - echo "APP_ENV=${APP_ENV}" > .env - echo "TRUSTED_HOSTS=127.0.0.1,localhost" >> .env - bin/console doctrine:database:create --env=dev - bin/console doctrine:schema:create --env=dev - bin/console eccube:fixtures:load --env=dev - - - name: setup-chromedriver - uses: nanasess/setup-chromedriver@master - - - name: Install fonts - run: sudo apt install fonts-ipafont fonts-ipaexfont - - - 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: Run package-api - run: | - if [[ ! -d ${PWD}/repos ]]; then mkdir -p ${PWD}/repos ; fi - docker run -d --rm -v ${PWD}/repos:/repos -e MOCK_REPO_DIR=/repos -p 8080:8080 eccube/mock-package-api:composer2 - cp codeception/_data/plugins/*-1.0.0.tgz repos - - - name: Start PHP Development Server - if: ${{ matrix.group != 'restrict-fileupload' }} - env: - APP_ENV: 'codeception' - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - MAILER_DSN: 'smtp://127.0.0.1:1025' - ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' - run: php -S 127.0.0.1:8000 codeception/router.php & - - - name: Start PHP Development Server - if: ${{ matrix.group == 'restrict-fileupload' }} - env: - APP_ENV: 'codeception' - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - MAILER_DSN: 'smtp://127.0.0.1:1025' - ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' - ECCUBE_RESTRICT_FILE_UPLOAD: '1' - run: php -S 127.0.0.1:8000 codeception/router.php & - - - name: Codeception - if: ${{ matrix.group != 'restrict-fileupload' }} - env: - APP_ENV: ${{ matrix.app_env }} - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - MAILER_DSN: 'smtp://127.0.0.1:1025' - ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' - GROUP: ${{ matrix.group }} - SYMFONY_DEPRECATIONS_HELPER: weak - run: vendor/bin/codecept -vvv run acceptance --env chrome,github_action -g ${GROUP} --skip-group restrict-file-upload --html report.html - - - name: Codeception with Restrict file upload - if: ${{ matrix.group == 'restrict-fileupload' }} - env: - APP_ENV: ${{ matrix.app_env }} - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - MAILER_DSN: 'smtp://127.0.0.1:1025' - ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' - GROUP: ${{ matrix.group }} - SYMFONY_DEPRECATIONS_HELPER: weak - ECCUBE_RESTRICT_FILE_UPLOAD: '1' - run: vendor/bin/codecept -vvv run acceptance --env chrome,github_action -g ${GROUP} --html report.html - - - 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/ diff --git a/.github/workflows/penetration-test.yml b/.github/workflows/penetration-test.yml deleted file mode 100644 index f68197bca64..00000000000 --- a/.github/workflows/penetration-test.yml +++ /dev/null @@ -1,87 +0,0 @@ -name: Penetration testing for EC-CUBE -on: - schedule: - - cron: '0 15 * * 1' - -jobs: - PenetrationTest: - name: Penetration testing - runs-on: ${{ matrix.operating-system }} - strategy: - fail-fast: false - matrix: - operating-system: [ ubuntu-18.04 ] - group: - - 'test/front_login/contact.test.ts' - - 'test/front_guest/about.test.ts' - - 'test/front_guest/contact.test.ts' - - 'test/admin/content_layout.test.ts' - - 'test/admin/content_layout_delete.test.ts' - - 'test/admin/customer_new.test.ts' - - 'test/admin/customer.test.ts' - - 'test/admin/content_cache.test.ts' - - 'test/admin/customer_edit.test.ts' - - 'test/admin/product_class_name.test.ts' - - 'test/admin/order_mail.test.ts' - - 'test/admin/product.test.ts' - - 'test/admin/product_csv_template.test.ts' - - 'test/admin/content_block.test.ts' - - 'test/admin/content_page.test.ts' - - 'test/admin/product_category_export.test.ts' - - 'test/admin/change_password.test.ts' - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Setup to EC-CUBE - run: | - sudo chown -R 1001:1000 zap - sudo chmod -R g+w zap - docker-compose -f docker-compose.yml -f docker-compose.pgsql.yml -f docker-compose.dev.yml -f docker-compose.owaspzap.yml -f docker-compose.owaspzap.daemon.yml up -d - docker-compose -f docker-compose.yml -f docker-compose.pgsql.yml -f docker-compose.dev.yml -f docker-compose.owaspzap.yml -f docker-compose.owaspzap.daemon.yml exec -T ec-cube bin/console doctrine:schema:create --env=dev - docker-compose -f docker-compose.yml -f docker-compose.pgsql.yml -f docker-compose.dev.yml -f docker-compose.owaspzap.yml -f docker-compose.owaspzap.daemon.yml exec -T ec-cube bin/console eccube:fixtures:load --env=dev - docker-compose -f docker-compose.yml -f docker-compose.pgsql.yml -f docker-compose.dev.yml -f docker-compose.owaspzap.yml -f docker-compose.owaspzap.daemon.yml exec -T ec-cube bin/console eccube:fixtures:generate --products=5 --customers=1 --orders=5 - docker-compose -f docker-compose.yml -f docker-compose.pgsql.yml -f docker-compose.dev.yml -f docker-compose.owaspzap.yml -f docker-compose.owaspzap.daemon.yml exec -T ec-cube bin/console doctrine:query:sql "UPDATE dtb_customer SET email = 'zap_user@example.com' WHERE id = 1;" - sed -i 's!APP_ENV: "dev"!APP_ENV: "prod"!g' docker-compose.yml - docker-compose -f docker-compose.yml -f docker-compose.pgsql.yml -f docker-compose.dev.yml -f docker-compose.owaspzap.yml -f docker-compose.owaspzap.daemon.yml up -d ec-cube - - - name: yarn install - working-directory: zap/selenium/ci/TypeScript - run: | - yarn install - yarn run playwright install --with-deps chromium - yarn playwright install-deps chromium - - run: | - git config --global user.name "$(git --no-pager log --format=format:'%an' -n 1)" - git config --global user.email "$(git --no-pager log --format=format:'%ae' -n 1)" - - name: Apply patch to change_password - if: matrix.group == 'test/admin/change_password.test.ts' - working-directory: zap/selenium/ci/TypeScript - run: git am patches/0001-Member.patch - - name: Apply patch to delete_layout - if: matrix.group == 'test/admin/content_layout_delete.test.ts' - working-directory: zap/selenium/ci/TypeScript - run: git am patches/0001-DeleteLayout.patch - - name: Apply patch to new_customer - if: matrix.group == 'test/admin/customer_new.test.ts' - working-directory: zap/selenium/ci/TypeScript - run: git am patches/0002-NewCustomer.patch - - name: Penetration testing - working-directory: zap/selenium/ci/TypeScript - env: - GROUP: ${{ matrix.group }} - HTTP_PROXY: 127.0.0.1:8090 - HTTPS_PROXY: 127.0.0.1:8090 - CI: 1 - FORCE_COLOR: 1 - run: yarn playwright test ${GROUP} - - env: - GROUP: ${{ matrix.group }} - if: always() - run: echo "ARTIFACT_NAME=$(echo ${GROUP} | sed 's,/,-,g')" >> $GITHUB_ENV - - name: Upload evidence - if: always() - uses: actions/upload-artifact@v2 - with: - name: zap-${{ env.ARTIFACT_NAME }}-session - path: zap/sessions diff --git a/.github/workflows/phpstan.yml b/.github/workflows/phpstan.yml deleted file mode 100644 index c388e72b937..00000000000 --- a/.github/workflows/phpstan.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: PHPStan -on: - push: - branches: - - '*' - tags: - - '*' - paths: - - '**' - - '!*.md' - pull_request: - paths: - - '**' - - '!*.md' - -jobs: - phpstan: - name: PHPStan - - runs-on: ubuntu-latest - - steps: - - name: "Checkout" - uses: actions/checkout@v2 - - - name: Setup PHP - uses: nanasess/setup-php@master - with: - php-version: '7.4' - - - name: Initialize Composer - uses: ./.github/actions/composer - - - name: PHPStan - run: vendor/bin/phpstan analyze src/ --error-format=github diff --git a/.github/workflows/plugin-test.yml b/.github/workflows/plugin-test.yml deleted file mode 100644 index d9410d4d73f..00000000000 --- a/.github/workflows/plugin-test.yml +++ /dev/null @@ -1,596 +0,0 @@ -name: Plugin test for EC-CUBE -on: - push: - branches: - - '*' - tags: - - '*' - paths: - - '**' - - '!*.md' - pull_request: - paths: - - '**' - - '!*.md' -jobs: - plugin-install: - name: Plugin install - runs-on: ${{ matrix.operating-system }} - strategy: - fail-fast: false - matrix: - operating-system: [ ubuntu-22.04 ] - php: [ '7.4', '8.0', '8.1' ] - db: [ pgsql, mysql ] - method: - - test_install_enable_disable_remove_store - - test_install_enable_disable_remove_local - - test_install_enable_disable_enable_disable_remove_store - - test_install_enable_disable_enable_disable_remove_local - - test_install_remove_local - - test_install_remove_store - - test_bundle_install_enable_disable_remove_store - - test_bundle_install_update_enable_disable_remove_store - include: - - db: pgsql - database_url: postgres://postgres:password@127.0.0.1:5432/eccube_db - database_server_version: 14 - database_charset: utf8 - - db: mysql - database_url: mysql://root:password@127.0.0.1:3306/eccube_db - database_server_version: 5 - database_charset: utf8mb4 - - services: - mysql: - image: mysql:5.7 - env: - MYSQL_ROOT_PASSWORD: password - ports: - - 3306:3306 - options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 - postgres: - image: postgres:14 - env: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: password - ports: - - 5432:5432 - # needed because the postgres container does not provide a healthcheck - options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 - mailcatcher: - image: schickling/mailcatcher - ports: - - 1080:1080 - - 1025:1025 - - steps: - - name: Checkout - uses: actions/checkout@master - - - name: Setup PHP - uses: nanasess/setup-php@master - with: - php-version: ${{ matrix.php }} - - - name: Initialize Composer - uses: ./.github/actions/composer - - - name: Setup to EC-CUBE - env: - APP_ENV: 'codeception' - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - DATABASE_CHARSET: ${{ matrix.database_charset }} - run: | - echo "APP_ENV=${APP_ENV}" > .env - bin/console doctrine:database:create --env=dev - bin/console doctrine:schema:create --env=dev - bin/console eccube:fixtures:load --env=dev - - - name: Update baseinfo with pgsql - if: matrix.db == 'pgsql' - env: - PGPASSWORD: 'password' - run: | - sudo apt-fast install -y postgresql-client - psql eccube_db -h 127.0.0.1 -U postgres -c "update dtb_base_info set authentication_key='test';" - - - name: Update baseinfo with mysql - if: matrix.db == 'mysql' - run: mysql -h 127.0.0.1 -u root -ppassword eccube_db -e "update dtb_base_info set authentication_key='test';" - - - 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: Start PHP Development Server - env: - APP_ENV: 'codeception' - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - DATABASE_CHARSET: ${{ matrix.database_charset }} - MAILER_URL: 'smtp://127.0.0.1:1025' - ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' - run: php -S 127.0.0.1:8000 codeception/router.php & - - ## ${PWD}/repos does not exist so service cannot be started - - name: Run package-api - run: | - if [[ ! -d ${PWD}/repos ]]; then mkdir -p ${PWD}/repos ; fi - docker run -d --rm -v ${PWD}/repos:/repos -e MOCK_REPO_DIR=/repos -p 8080:8080 eccube/mock-package-api:composer2 - - - name: Codeception - env: - APP_ENV: ${{ matrix.app_env }} - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - DATABASE_CHARSET: ${{ matrix.database_charset }} - MAILER_URL: 'smtp://127.0.0.1:1025' - METHOD: ${{ matrix.method }} - ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' - NO_FIXTURES: 1 - run: vendor/bin/codecept -vvv run acceptance --env chrome,github_action EA10PluginCest:${METHOD} - - name: Upload evidence - if: failure() - uses: actions/upload-artifact@v2 - with: - name: plugin-install-${{ matrix.method }}-evidence - path: codeception/_output/ - - name: Upload logs - if: failure() - uses: actions/upload-artifact@v2 - with: - name: plugin-install-${{ matrix.method }}-logs - path: var/log/ - - plugin-update: - name: Plugin Update - runs-on: ${{ matrix.operating-system }} - strategy: - fail-fast: false - matrix: - operating-system: [ ubuntu-22.04 ] - php: [ '7.4', '8.0', '8.1' ] - db: [ pgsql, mysql ] - method: - - test_install_update_remove_store - - test_install_update_remove_local - - test_install_enable_disable_update_enable_disable_remove_local - - test_install_enable_disable_update_enable_disable_remove_store - - test_install_enable_update_disable_remove_store - - test_install_enable_update_disable_remove_local - include: - - db: pgsql - database_url: postgres://postgres:password@127.0.0.1:5432/eccube_db - database_server_version: 14 - database_charset: utf8 - - db: mysql - database_url: mysql://root:password@127.0.0.1:3306/eccube_db - database_server_version: 5 - database_charset: utf8mb4 - - services: - mysql: - image: mysql:5.7 - env: - MYSQL_ROOT_PASSWORD: password - ports: - - 3306:3306 - options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 - postgres: - image: postgres:14 - env: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: password - ports: - - 5432:5432 - # needed because the postgres container does not provide a healthcheck - options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 - mailcatcher: - image: schickling/mailcatcher - ports: - - 1080:1080 - - 1025:1025 - - steps: - - name: Checkout - uses: actions/checkout@master - - - 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: Install to Composer - run: composer install --dev --no-interaction -o --apcu-autoloader - - - name: Setup to EC-CUBE - env: - APP_ENV: 'codeception' - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - DATABASE_CHARSET: ${{ matrix.database_charset }} - run: | - echo "APP_ENV=${APP_ENV}" > .env - bin/console doctrine:database:create --env=dev - bin/console doctrine:schema:create --env=dev - bin/console eccube:fixtures:load --env=dev - - - name: Update baseinfo with pgsql - if: matrix.db == 'pgsql' - env: - PGPASSWORD: 'password' - run: | - sudo apt-fast install -y postgresql-client - psql eccube_db -h 127.0.0.1 -U postgres -c "update dtb_base_info set authentication_key='test';" - - - name: Update baseinfo with mysql - if: matrix.db == 'mysql' - run: mysql -h 127.0.0.1 -u root -ppassword eccube_db -e "update dtb_base_info set authentication_key='test';" - - - 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: Start PHP Development Server - env: - APP_ENV: 'codeception' - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - DATABASE_CHARSET: ${{ matrix.database_charset }} - MAILER_URL: 'smtp://127.0.0.1:1025' - ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' - run: php -S 127.0.0.1:8000 codeception/router.php & - - ## ${PWD}/repos does not exist so service cannot be started - - name: Run package-api - run: | - if [[ ! -d ${PWD}/repos ]]; then mkdir -p ${PWD}/repos ; fi - docker run -d --rm -v ${PWD}/repos:/repos -e MOCK_REPO_DIR=/repos -p 8080:8080 eccube/mock-package-api:composer2 - - - name: Run to Codeception - env: - APP_ENV: ${{ matrix.app_env }} - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - DATABASE_CHARSET: ${{ matrix.database_charset }} - MAILER_URL: 'smtp://127.0.0.1:1025' - METHOD: ${{ matrix.method }} - ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' - NO_FIXTURES: 1 - run: vendor/bin/codecept -vvv run acceptance --env chrome,github_action EA10PluginCest:${METHOD} - - name: Upload evidence - if: failure() - uses: actions/upload-artifact@v2 - with: - name: plugin-update-${{ matrix.method }}-evidence - path: codeception/_output/ - - name: Upload logs - if: failure() - uses: actions/upload-artifact@v2 - with: - name: plugin-update-${{ matrix.method }}-logs - path: var/log/ - - plugin-extend: - name: Plugin extend - runs-on: ${{ matrix.operating-system }} - strategy: - fail-fast: false - matrix: - operating-system: [ ubuntu-22.04 ] - php: [ '7.4', '8.0', '8.1' ] - db: [ pgsql, mysql ] - method: - - test_extend_same_table_store - - test_extend_same_table_disabled_remove_store - - test_extend_same_table_local - - test_extend_same_table_disabled_remove_local - - test_extend_same_table_crossed_store - - test_extend_same_table_crossed_local - include: - - db: pgsql - database_url: postgres://postgres:password@127.0.0.1:5432/eccube_db - database_server_version: 14 - database_charset: utf8 - - db: mysql - database_url: mysql://root:password@127.0.0.1:3306/eccube_db - database_server_version: 5 - database_charset: utf8mb4 - - services: - mysql: - image: mysql:5.7 - env: - MYSQL_ROOT_PASSWORD: password - ports: - - 3306:3306 - options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 - postgres: - image: postgres:14 - env: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: password - ports: - - 5432:5432 - # needed because the postgres container does not provide a healthcheck - options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 - mailcatcher: - image: schickling/mailcatcher - ports: - - 1080:1080 - - 1025:1025 - - steps: - - name: Checkout - uses: actions/checkout@master - - - 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: Install to Composer - run: composer install --dev --no-interaction -o --apcu-autoloader - - - name: Setup to EC-CUBE - env: - APP_ENV: 'codeception' - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - DATABASE_CHARSET: ${{ matrix.database_charset }} - run: | - echo "APP_ENV=${APP_ENV}" > .env - bin/console doctrine:database:create --env=dev - bin/console doctrine:schema:create --env=dev - bin/console eccube:fixtures:load --env=dev - - - name: Update baseinfo with pgsql - if: matrix.db == 'pgsql' - env: - PGPASSWORD: 'password' - run: | - sudo apt-fast install -y postgresql-client - psql eccube_db -h 127.0.0.1 -U postgres -c "update dtb_base_info set authentication_key='test';" - - - name: Update baseinfo with mysql - if: matrix.db == 'mysql' - run: mysql -h 127.0.0.1 -u root -ppassword eccube_db -e "update dtb_base_info set authentication_key='test';" - - - 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: Start PHP Development Server - env: - APP_ENV: 'codeception' - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - DATABASE_CHARSET: ${{ matrix.database_charset }} - MAILER_URL: 'smtp://127.0.0.1:1025' - ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' - run: php -S 127.0.0.1:8000 codeception/router.php & - - ## ${PWD}/repos does not exist so service cannot be started - - name: Run package-api - run: | - if [[ ! -d ${PWD}/repos ]]; then mkdir -p ${PWD}/repos ; fi - docker run -d --rm -v ${PWD}/repos:/repos -e MOCK_REPO_DIR=/repos -p 8080:8080 eccube/mock-package-api:composer2 - - - name: Run to Codeception - env: - APP_ENV: ${{ matrix.app_env }} - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - DATABASE_CHARSET: ${{ matrix.database_charset }} - MAILER_URL: 'smtp://127.0.0.1:1025' - METHOD: ${{ matrix.method }} - ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' - NO_FIXTURES: 1 - run: vendor/bin/codecept -vvv run acceptance --env chrome,github_action EA10PluginCest:${METHOD} - - name: Upload evidence - if: failure() - uses: actions/upload-artifact@v2 - with: - name: plugin-extend-${{ matrix.method }}-evidence - path: codeception/_output/ - - name: Upload logs - if: failure() - uses: actions/upload-artifact@v2 - with: - name: plugin-extend-${{ matrix.method }}-logs - path: var/log/ - - plugin-depend: - name: Plugin depend - runs-on: ${{ matrix.operating-system }} - strategy: - fail-fast: false - matrix: - operating-system: [ ubuntu-22.04 ] - php: [ '7.4', '8.0', '8.1' ] - db: [ pgsql, mysql ] - method: - - test_dependency_each_install_plugin - - test_dependency_plugin_install - - test_dependency_plugin_update - - test_install_error - - install_enable_disable_enable_disable_remove_store - - test_enhance_plugin_entity - include: - - db: pgsql - database_url: postgres://postgres:password@127.0.0.1:5432/eccube_db - database_server_version: 14 - database_charset: utf8 - - db: mysql - database_url: mysql://root:password@127.0.0.1:3306/eccube_db - database_server_version: 5 - database_charset: utf8mb4 - exclude: - - db: mysql - method: test_dependency_plugin_update - - services: - mysql: - image: mysql:5.7 - env: - MYSQL_ROOT_PASSWORD: password - ports: - - 3306:3306 - options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 - postgres: - image: postgres:14 - env: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: password - ports: - - 5432:5432 - # needed because the postgres container does not provide a healthcheck - options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 - mailcatcher: - image: schickling/mailcatcher - ports: - - 1080:1080 - - 1025:1025 - - steps: - - name: Checkout - uses: actions/checkout@master - - - 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: Install to Composer - run: composer install --dev --no-interaction -o --apcu-autoloader - - - name: Setup to EC-CUBE - env: - APP_ENV: 'codeception' - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - DATABASE_CHARSET: ${{ matrix.database_charset }} - run: | - echo "APP_ENV=${APP_ENV}" > .env - bin/console doctrine:database:create --env=dev - bin/console doctrine:schema:create --env=dev - bin/console eccube:fixtures:load --env=dev - - - name: Update baseinfo with pgsql - if: matrix.db == 'pgsql' - env: - PGPASSWORD: 'password' - run: | - sudo apt-fast install -y postgresql-client - psql eccube_db -h 127.0.0.1 -U postgres -c "update dtb_base_info set authentication_key='test';" - - - name: Update baseinfo with mysql - if: matrix.db == 'mysql' - run: mysql -h 127.0.0.1 -u root -ppassword eccube_db -e "update dtb_base_info set authentication_key='test';" - - - 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: Start PHP Development Server - env: - APP_ENV: 'codeception' - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - DATABASE_CHARSET: ${{ matrix.database_charset }} - MAILER_URL: 'smtp://127.0.0.1:1025' - ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' - run: php -S 127.0.0.1:8000 codeception/router.php & - - ## ${PWD}/repos does not exist so service cannot be started - - name: Run package-api - run: | - if [[ ! -d ${PWD}/repos ]]; then mkdir -p ${PWD}/repos ; fi - docker run -d --rm -v ${PWD}/repos:/repos -e MOCK_REPO_DIR=/repos -p 8080:8080 eccube/mock-package-api:composer2 - - - name: Run to Codeception - env: - APP_ENV: ${{ matrix.app_env }} - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - DATABASE_CHARSET: ${{ matrix.database_charset }} - MAILER_URL: 'smtp://127.0.0.1:1025' - METHOD: ${{ matrix.method }} - ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' - NO_FIXTURES: 1 - run: vendor/bin/codecept -vvv run acceptance --env chrome,github_action EA10PluginCest:${METHOD} - - name: Upload evidence - if: failure() - uses: actions/upload-artifact@v2 - with: - name: plugin-depend-${{ matrix.method }}-evidence - path: codeception/_output/ - - name: Upload logs - if: failure() - uses: actions/upload-artifact@v2 - with: - name: plugin-depend-${{ matrix.method }}-logs - path: var/log/ diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml deleted file mode 100644 index 02076ffdae2..00000000000 --- a/.github/workflows/unit-test.yml +++ /dev/null @@ -1,122 +0,0 @@ -name: Unit test for EC-CUBE -on: - push: - branches: - - '*' - tags: - - '*' - paths: - - '**' - - '!*.md' - pull_request: - paths: - - '**' - - '!*.md' -jobs: - phpunit: - name: PHPUnit - runs-on: ${{ matrix.operating-system }} - strategy: - fail-fast: false - matrix: - operating-system: [ ubuntu-22.04 ] - php: [ '7.4', '8.0', '8.1' ] - db: [ mysql, pgsql, sqlite3 ] - include: - - db: mysql - database_url: mysql://root:password@127.0.0.1:3306/eccube_db - database_server_version: 5 - database_charset: utf8mb4 - - db: pgsql - database_url: postgres://postgres:password@127.0.0.1:5432/eccube_db - database_server_version: 14 - database_charset: utf8 - - db: sqlite3 - database_url: sqlite:///var/eccube.db - database_server_version: 3 - database_charset: utf8 - - services: - mysql: - image: mysql:5.7 - env: - MYSQL_ROOT_PASSWORD: password - ports: - - 3306:3306 - options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 - postgres: - image: postgres:14 - env: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: password - ports: - - 5432:5432 - # needed because the postgres container does not provide a healthcheck - options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 - - steps: - - name: Checkout - uses: actions/checkout@master - - - name: Setup PHP - uses: nanasess/setup-php@master - with: - php-version: ${{ matrix.php }} - - - name: Initialize Composer - uses: ./.github/actions/composer - - - name: Setup EC-CUBE - env: - APP_ENV: 'test' - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - DATABASE_CHARSET: ${{ matrix.database_charset }} - run: | - bin/console doctrine:database:create - bin/console doctrine:schema:create - bin/console eccube:fixtures:load - - - name: PHPUnit - env: - APP_ENV: 'test' - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - DATABASE_CHARSET: ${{ matrix.database_charset }} - MAILER_URL: 'smtp://127.0.0.11025' - run: vendor/bin/phpunit --exclude-group cache-clear,cache-clear-install,update-schema-doctrine,plugin-service - - name: PHPUnit - env: - APP_ENV: 'test' - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - DATABASE_CHARSET: ${{ matrix.database_charset }} - MAILER_URL: 'smtp://127.0.0.11025' - run: | - vendor/bin/phpunit --group cache-clear - vendor/bin/phpunit --group cache-clear-install - vendor/bin/phpunit --group update-schema-doctrine --exclude-group update-schema-doctrine-install - vendor/bin/phpunit --group update-schema-doctrine-install --filter=testInstallPluginWithNoProxy - vendor/bin/phpunit --group update-schema-doctrine-install --filter=testInstallPluginWithProxy - vendor/bin/phpunit --group update-schema-doctrine-install --filter=testEnablePluginWithNoProxy - vendor/bin/phpunit --group update-schema-doctrine-install --filter=testEnablePluginWithProxy - vendor/bin/phpunit --group update-schema-doctrine-install --filter=testDisablePluginWithNoProxy - vendor/bin/phpunit --group update-schema-doctrine-install --filter=testDisablePluginWithProxy - vendor/bin/phpunit --group update-schema-doctrine-install --filter=testCreateEntityAndTrait - ## XXX MySQL で Syntax error or access violation: 1305 SAVEPOINT DOCTRINE2_SAVEPOINT_3 does not exist が - ## 発生するため \DAMA\DoctrineTestBundle\PHPUnit\PHPUnitListener を削除する - ## see https://github.com/dmaicher/doctrine-test-bundle/issues/58#issuecomment-391081408 - - run: sed -e '/DoctrineTestBundle/d' phpunit.xml.dist > phpunit.xml - if: ${{ matrix.db == 'mysql' }} - - name: PHPUnit - env: - APP_ENV: 'test' - DATABASE_URL: ${{ matrix.database_url }} - DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} - DATABASE_CHARSET: ${{ matrix.database_charset }} - MAILER_URL: 'smtp://127.0.0.11025' - run: | - rm -r app/Plugin/* - git checkout app/Plugin - rm -r var/cache - vendor/bin/phpunit --group plugin-service From ea48f899c80ab631e449014ba8e1b6be88980068 Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Mon, 16 Jan 2023 10:22:30 +0900 Subject: [PATCH 02/49] temp --- .github/workflows/vaddy-1.yml | 498 --------------------- .github/workflows/vaddy/prepare/action.yml | 161 +++++++ .github/workflows/vaddy/scan/action.yml | 97 ++++ .github/workflows/vaddyscan.yml | 134 ++++++ 4 files changed, 392 insertions(+), 498 deletions(-) delete mode 100644 .github/workflows/vaddy-1.yml create mode 100644 .github/workflows/vaddy/prepare/action.yml create mode 100644 .github/workflows/vaddy/scan/action.yml create mode 100644 .github/workflows/vaddyscan.yml diff --git a/.github/workflows/vaddy-1.yml b/.github/workflows/vaddy-1.yml deleted file mode 100644 index 77f2828805f..00000000000 --- a/.github/workflows/vaddy-1.yml +++ /dev/null @@ -1,498 +0,0 @@ -name: VAddy -on: - schedule: - - cron: '0 15 * * 0' - -jobs: - vaddy: - name: VAddy - runs-on: ubuntu-18.04 - strategy: - matrix: - include: - - vaddy_project: 'ADMIN01' - command1: 'EA03ProductCest' - command2: 'EA05CustomerCest' - command3: 'EA08SysteminfoCest' - command4: 'EA09ShippingCest' - - vaddy_project: 'ADMIN02' - command1: 'EA04OrderCest' - - vaddy_project: 'FRONT' - command1: '-x admin -x plugin' - services: - postgres: - image: postgres:14 - env: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: password - ports: - - 5432:5432 - # needed because the postgres container does not provide a healthcheck - options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 - mailcatcher: - image: schickling/mailcatcher - ports: - - 1080:1080 - - 1025:1025 - steps: - - name: Checkout - uses: actions/checkout@master - - - name: Setup PHP - uses: nanasess/setup-php@master - with: - php-version: '7.4' - - - name: setup-chromedriver - uses: nanasess/setup-chromedriver@master - - - name: "VAddy: install" - working-directory: /tmp - run: | - wget -q https://github.com/vaddy/go-vaddy/archive/master.zip - unzip master.zip - echo 'export VADDY_AUTH_KEY="${{ secrets.VADDY_AUTH_KEY }}" - export VADDY_FQDN="${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}" - export VADDY_VERIFICATION_CODE="${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" - export VADDY_USER="${{ secrets.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: Initialize Composer - uses: ./.github/actions/composer - - - name: "EC-CUBE: setup" - env: - DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db - DATABASE_SERVER_VERSION: 14 - run: | - php bin/template_jp.php - rm -rf app/Plugin/* - echo 'getEntityManager()->detach($event->getEntity()); - } - }' > 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 - 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: Install Plugins - env: - APP_ENV: 'prod' - DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db - DATABASE_SERVER_VERSION: 14 - run: | - bin/console eccube:composer:require "ec-cube/recommend4" - bin/console eccube:composer:require "ec-cube/coupon4" - bin/console eccube:composer:require "ec-cube/mailmagazine4" - bin/console eccube:composer:require "ec-cube/salesreport4" - bin/console eccube:composer:require "ec-cube/relatedproduct4" - bin/console eccube:composer:require "ec-cube/securitychecker4" - bin/console eccube:composer:require "ec-cube/productreview4" - bin/console eccube:composer:require "ec-cube/api" - bin/console eccube:composer:require "ec-cube/sitekit" - bin/console eccube:composer:require "ec-cube/gmc" - - - name: Pre Install Plugins - env: - DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db - DATABASE_SERVER_VERSION: 14 - PGPASSWORD: 'password' - run: | - 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 - for code in Api Coupon4 GMC MailMagazine4 ProductReview4 Recommend4 RelatedProduct4 SalesReport4 Securitychecker4 SiteKit; do bin/console eccube:plugin:enable --code $code; done - - - name: "EC-CUBE: package" - working-directory: ../ - run: ${{ github.event.repository.name }}/package.sh - - - name: "EC-CUBE: build" - run: docker build -t ec-cube --build-arg SKIP_INSTALL_SCRIPT_ON_DOCKER_BUILD=true . - - name: "Codeception: prepare" - 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 ${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}" | sudo tee -a /etc/hosts - echo "modules: - config: - WebDriver: - host: '127.0.0.1' - port: 9515 - url: "http://${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}:8080" - browser: chrome - capabilities: - chromeOptions: - args: ["--headless", "--disable-gpu"] - prefs: - download.default_directory: '%PWD%/codeception/_support/_downloads' - MailCatcher: - url: 'mail' - port: 1080" > codeception/_envs/local.yml - - - name: "Scan 1" - run: echo 'Scan 1' - - - name: "EC-CUBE: run" - run: | - docker run \ - -e APP_ENV=dev \ - -e APP_DEBUG=1 \ - -e DATABASE_URL="postgres://postgres:password@172.17.0.1: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 - 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=${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }} eccube bash -c 'echo ${VADDY_VERIFICATION_CODE} > vaddy-${VADDY_VERIFICATION_CODE}.html' - docker exec -u www-data eccube bash -c 'for code in Api Coupon4 GMC MailMagazine4 ProductReview4 Recommend4 RelatedProduct4 SalesReport4 Securitychecker4 SiteKit; do bin/console eccube:plugin:enable --code $code; done' - - - name: "VAddy: connect" - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh connect - - - name: "VAddy: crawl" - env: - APP_ENV: "codeception" - DATABASE_URL: "postgres://postgres:password@127.0.0.1:5432/eccube_db" - DATABASE_SERVER_VERSION: "14" - MAILER_URL: "smtp://127.0.0.1:1025" - BASE_URL: "http://${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}:8080" - VADDY_PROXY: "${{ secrets.VADDY_PROXY }}" - VADDY_PROXY_PORT: "${{ secrets.VADDY_PROXY_PORT }}" - VADDY_VERIFICATION_CODE: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" - VADDY_CRAWL: "${{ matrix.command1 }}" - 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 ${{ matrix.command1 }} || 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" - if: ${{ always() }} - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh disconnect - - - name: "VAddy: scan" - continue-on-error: true - env: - VADDY_CRAWL: "${{ matrix.command1 }}" - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh scan - - - name: "EC-CUBE: stop" - if: ${{ always() }} - continue-on-error: true - run: docker rm -f -v eccube - - - name: "Scan 2" - if: ${{ matrix.command2 != '' }} - run: echo 'Scan 2' - - - name: "EC-CUBE: run" - if: ${{ matrix.command2 != '' }} - run: | - docker run \ - -e APP_ENV=dev \ - -e APP_DEBUG=1 \ - -e DATABASE_URL="postgres://postgres:password@172.17.0.1: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 - 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=${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }} eccube bash -c 'echo ${VADDY_VERIFICATION_CODE} > vaddy-${VADDY_VERIFICATION_CODE}.html' - docker exec -u www-data eccube bash -c 'for code in Api Coupon4 GMC MailMagazine4 ProductReview4 Recommend4 RelatedProduct4 SalesReport4 Securitychecker4 SiteKit; do bin/console eccube:plugin:enable --code $code; done' - - - name: "VAddy: connect" - if: ${{ matrix.command2 != '' }} - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh connect - - - name: "VAddy: crawl" - if: ${{ matrix.command2 != '' && success() }} - env: - APP_ENV: "codeception" - DATABASE_URL: "postgres://postgres:password@127.0.0.1:5432/eccube_db" - DATABASE_SERVER_VERSION: "14" - MAILER_URL: "smtp://127.0.0.1:1025" - BASE_URL: "http://${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}:8080" - VADDY_PROXY: "${{ secrets.VADDY_PROXY }}" - VADDY_PROXY_PORT: "${{ secrets.VADDY_PROXY_PORT }}" - VADDY_VERIFICATION_CODE: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" - VADDY_CRAWL: "${{ matrix.command2 }}" - 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 ${{ matrix.command2 }} || true - vendor/bin/codecept -vvv run acceptance --env chrome,local,vaddy VaddyCest:commit - - - name: Upload report - if: ${{ matrix.command2 != '' && success() }} - uses: actions/upload-artifact@v2 - with: - name: crawl-reports - path: codeception/_output/**/* - - - name: "VAddy: disconnect" - if: ${{ matrix.command2 }} - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh disconnect - - - name: "VAddy: scan" - if: ${{ matrix.command2 != '' && success() }} - continue-on-error: true - env: - VADDY_CRAWL: "${{ matrix.command2 }}" - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh scan - - - name: "EC-CUBE: stop" - if: ${{ matrix.command2 }} - continue-on-error: true - run: docker rm -f -v eccube - - - name: "Scan 3" - if: ${{ matrix.command3 != '' }} - run: echo 'Scan 3' - - - name: "EC-CUBE: run" - if: ${{ matrix.command3 != '' }} - run: | - docker run \ - -e APP_ENV=dev \ - -e APP_DEBUG=1 \ - -e DATABASE_URL="postgres://postgres:password@172.17.0.1: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 - 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=${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }} eccube bash -c 'echo ${VADDY_VERIFICATION_CODE} > vaddy-${VADDY_VERIFICATION_CODE}.html' - docker exec -u www-data eccube bash -c 'for code in Api Coupon4 GMC MailMagazine4 ProductReview4 Recommend4 RelatedProduct4 SalesReport4 Securitychecker4 SiteKit; do bin/console eccube:plugin:enable --code $code; done' - - - name: "VAddy: connect" - if: ${{ matrix.command3 != '' }} - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh connect - - - name: "VAddy: crawl" - if: ${{ matrix.command3 != '' && success() }} - env: - APP_ENV: "codeception" - DATABASE_URL: "postgres://postgres:password@127.0.0.1:5432/eccube_db" - DATABASE_SERVER_VERSION: "14" - MAILER_URL: "smtp://127.0.0.1:1025" - BASE_URL: "http://${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}:8080" - VADDY_PROXY: "${{ secrets.VADDY_PROXY }}" - VADDY_PROXY_PORT: "${{ secrets.VADDY_PROXY_PORT }}" - VADDY_VERIFICATION_CODE: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" - VADDY_CRAWL: "${{ matrix.command3 }}" - 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 ${{ matrix.command3 }} || true - vendor/bin/codecept -vvv run acceptance --env chrome,local,vaddy VaddyCest:commit - - - name: Upload report - if: ${{ matrix.command3 != '' && success() }} - uses: actions/upload-artifact@v2 - with: - name: crawl-reports - path: codeception/_output/**/* - - - name: "VAddy: disconnect" - if: ${{ matrix.command3 }} - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh disconnect - - - name: "VAddy: scan" - if: ${{ matrix.command3 != '' && success() }} - continue-on-error: true - env: - VADDY_CRAWL: "${{ matrix.command3 }}" - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh scan - - - name: "EC-CUBE: stop" - if: ${{ matrix.command3 }} - continue-on-error: true - run: docker rm -f -v eccube - - - name: "Scan 4" - if: ${{ matrix.command4 != '' }} - run: echo 'Scan 4' - - - name: "EC-CUBE: run" - if: ${{ matrix.command4 != '' }} - run: | - docker run \ - -e APP_ENV=dev \ - -e APP_DEBUG=1 \ - -e DATABASE_URL="postgres://postgres:password@172.17.0.1: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 - 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=${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }} eccube bash -c 'echo ${VADDY_VERIFICATION_CODE} > vaddy-${VADDY_VERIFICATION_CODE}.html' - docker exec -u www-data eccube bash -c 'for code in Api Coupon4 GMC MailMagazine4 ProductReview4 Recommend4 RelatedProduct4 SalesReport4 Securitychecker4 SiteKit; do bin/console eccube:plugin:enable --code $code; done' - - - name: "VAddy: connect" - if: ${{ matrix.command4 != '' }} - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh connect - - - name: "VAddy: crawl" - if: ${{ matrix.command4 != '' && success() }} - env: - APP_ENV: "codeception" - DATABASE_URL: "postgres://postgres:password@127.0.0.1:5432/eccube_db" - DATABASE_SERVER_VERSION: "14" - MAILER_URL: "smtp://127.0.0.1:1025" - BASE_URL: "http://${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}:8080" - VADDY_PROXY: "${{ secrets.VADDY_PROXY }}" - VADDY_PROXY_PORT: "${{ secrets.VADDY_PROXY_PORT }}" - VADDY_VERIFICATION_CODE: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" - VADDY_CRAWL: "${{ matrix.command4 }}" - 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 ${{ matrix.command4 }} || true - vendor/bin/codecept -vvv run acceptance --env chrome,local,vaddy VaddyCest:commit - - - name: Upload report - if: ${{ matrix.command4 != '' && success() }} - uses: actions/upload-artifact@v2 - with: - name: crawl-reports - path: codeception/_output/**/* - - - name: "VAddy: disconnect" - if: ${{ matrix.command4 }} - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh disconnect - - - name: "VAddy: scan" - if: ${{ matrix.command4 != '' && success() }} - continue-on-error: true - env: - VADDY_CRAWL: "${{ matrix.command4 }}" - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh scan - - - name: "EC-CUBE: stop" - if: ${{ matrix.command4 }} - continue-on-error: true - run: docker rm -f -v eccube - - - name: "Scan 5" - if: ${{ matrix.command5 != '' }} - run: echo 'Scan 5' - - - name: "EC-CUBE: run" - if: ${{ matrix.command5 != '' }} - run: | - docker run \ - -e APP_ENV=dev \ - -e APP_DEBUG=1 \ - -e DATABASE_URL="postgres://postgres:password@172.17.0.1: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 - 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=${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }} eccube bash -c 'echo ${VADDY_VERIFICATION_CODE} > vaddy-${VADDY_VERIFICATION_CODE}.html' - docker exec -u www-data eccube bash -c 'for code in Api Coupon4 GMC MailMagazine4 ProductReview4 Recommend4 RelatedProduct4 SalesReport4 Securitychecker4 SiteKit; do bin/console eccube:plugin:enable --code $code; done' - - - name: "VAddy: connect" - if: ${{ matrix.command5 != '' }} - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh connect - - - name: "VAddy: crawl" - if: ${{ matrix.command5 != '' && success() }} - env: - APP_ENV: "codeception" - DATABASE_URL: "postgres://postgres:password@127.0.0.1:5432/eccube_db" - DATABASE_SERVER_VERSION: "14" - MAILER_URL: "smtp://127.0.0.1:1025" - BASE_URL: "http://${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}:8080" - VADDY_PROXY: "${{ secrets.VADDY_PROXY }}" - VADDY_PROXY_PORT: "${{ secrets.VADDY_PROXY_PORT }}" - VADDY_VERIFICATION_CODE: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" - VADDY_CRAWL: "${{ matrix.command5 }}" - 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 ${{ matrix.command5 }} || true - vendor/bin/codecept -vvv run acceptance --env chrome,local,vaddy VaddyCest:commit - - - name: Upload report - if: ${{ matrix.command5 != '' && success() }} - uses: actions/upload-artifact@v2 - with: - name: crawl-reports - path: codeception/_output/**/* - - - name: "VAddy: disconnect" - if: ${{ matrix.command5 }} - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh disconnect - - - name: "VAddy: scan" - if: ${{ matrix.command5 != '' && success() }} - continue-on-error: true - env: - VADDY_CRAWL: "${{ matrix.command5 }}" - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh scan - - - name: "EC-CUBE: stop" - if: ${{ matrix.command5 }} - continue-on-error: true - run: docker rm -f -v eccube - -# - name: VAddy private net logs -# if: ${{ always() }} -# working-directory: /tmp/go-vaddy-master/privatenet -# run: cat vaddy/*.txt diff --git a/.github/workflows/vaddy/prepare/action.yml b/.github/workflows/vaddy/prepare/action.yml new file mode 100644 index 00000000000..54272e2a6ca --- /dev/null +++ b/.github/workflows/vaddy/prepare/action.yml @@ -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:password@127.0.0.1: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 '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 + 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: Install Plugins + shell: bash + env: + APP_ENV: 'prod' + DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db + DATABASE_SERVER_VERSION: 14 + 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" + + - name: Pre Install Plugins + shell: bash + env: + DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db + DATABASE_SERVER_VERSION: 14 + PGPASSWORD: 'password' + run: | + 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 + for code in Recommend42; do bin/console eccube:plugin:enable --code $code; done + + - 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: 'mail' + port: 1080" > codeception/_envs/local.yml diff --git a/.github/workflows/vaddy/scan/action.yml b/.github/workflows/vaddy/scan/action.yml new file mode 100644 index 00000000000..179eae0da04 --- /dev/null +++ b/.github/workflows/vaddy/scan/action.yml @@ -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:password@172.17.0.1: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:password@127.0.0.1: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 \ No newline at end of file diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml new file mode 100644 index 00000000000..419100c68c4 --- /dev/null +++ b/.github/workflows/vaddyscan.yml @@ -0,0 +1,134 @@ +name: VAddy-test +on: push +jobs: + vaddy: + name: VAddy + runs-on: ubuntu-22.04 + strategy: + fail-fast: false + matrix: + include: + - vaddy_project: 'ADMIN01' + command1: 'EA04OrderCest:order_個別出荷済みステータス変更' + # - vaddy_project: 'ADMIN02' + # command1: 'EA04OrderCest:order_受注編集' + services: + postgres: + image: postgres:14 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: password + ports: + - 5432:5432 + # needed because the postgres container does not provide a healthcheck + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + mailcatcher: + image: schickling/mailcatcher + ports: + - 1080:1080 + - 1025:1025 + steps: + - name: Checkout + uses: actions/checkout@master + + - name: "Prepare" + uses: ./.github/workflows/vaddy/prepare + with: + vaddy-verification-code: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" + vaddy-fqdn: "${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}" + vaddy-user: "${{ secrets.VADDY_USER }}" + vaddy-auth-key: "${{ secrets.VADDY_AUTH_KEY }}" + + - name: "Scan 1" + uses: ./.github/workflows/vaddy/scan + with: + command: "${{ matrix.command1 }}" + vaddy-verification-code: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" + vaddy-proxy: "${{ secrets.VADDY_PROXY }}" + vaddy-proxy-port: "${{ secrets.VADDY_PROXY_PORT }}" + vaddy-fqdn: "${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}" + + - name: "Scan 2" + if: ${{ matrix.command2 != '' }} + uses: ./.github/workflows/vaddy/scan + with: + command: "${{ matrix.command2 }}" + vaddy-verification-code: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" + vaddy-proxy: "${{ secrets.VADDY_PROXY }}" + vaddy-proxy-port: "${{ secrets.VADDY_PROXY_PORT }}" + vaddy-fqdn: "${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}" + + - name: "Scan 3" + if: ${{ matrix.command3 != '' }} + uses: ./.github/workflows/vaddy/scan + with: + command: "${{ matrix.command3 }}" + vaddy-verification-code: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" + vaddy-proxy: "${{ secrets.VADDY_PROXY }}" + vaddy-proxy-port: "${{ secrets.VADDY_PROXY_PORT }}" + vaddy-fqdn: "${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}" + + - name: "Scan 4" + if: ${{ matrix.command4 != '' }} + uses: ./.github/workflows/vaddy/scan + with: + command: "${{ matrix.command4 }}" + vaddy-verification-code: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" + vaddy-proxy: "${{ secrets.VADDY_PROXY }}" + vaddy-proxy-port: "${{ secrets.VADDY_PROXY_PORT }}" + vaddy-fqdn: "${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}" + + - name: "Scan 5" + if: ${{ matrix.command5 != '' }} + uses: ./.github/workflows/vaddy/scan + with: + command: "${{ matrix.command5 }}" + vaddy-verification-code: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" + vaddy-proxy: "${{ secrets.VADDY_PROXY }}" + vaddy-proxy-port: "${{ secrets.VADDY_PROXY_PORT }}" + vaddy-fqdn: "${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}" + + - name: "Scan 6" + if: ${{ matrix.command6 != '' }} + uses: ./.github/workflows/vaddy/scan + with: + command: "${{ matrix.command6 }}" + vaddy-verification-code: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" + vaddy-proxy: "${{ secrets.VADDY_PROXY }}" + vaddy-proxy-port: "${{ secrets.VADDY_PROXY_PORT }}" + vaddy-fqdn: "${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}" + + - name: "Scan 7" + if: ${{ matrix.command7 != '' }} + uses: ./.github/workflows/vaddy/scan + with: + command: "${{ matrix.command7 }}" + vaddy-verification-code: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" + vaddy-proxy: "${{ secrets.VADDY_PROXY }}" + vaddy-proxy-port: "${{ secrets.VADDY_PROXY_PORT }}" + vaddy-fqdn: "${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}" + + - name: "Scan 8" + if: ${{ matrix.command8 != '' }} + uses: ./.github/workflows/vaddy/scan + with: + command: "${{ matrix.command8 }}" + vaddy-verification-code: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" + vaddy-proxy: "${{ secrets.VADDY_PROXY }}" + vaddy-proxy-port: "${{ secrets.VADDY_PROXY_PORT }}" + vaddy-fqdn: "${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}" + + - name: "Scan 9" + if: ${{ matrix.command9 != '' }} + uses: ./.github/workflows/vaddy/scan + with: + command: "${{ matrix.command9 }}" + vaddy-verification-code: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" + vaddy-proxy: "${{ secrets.VADDY_PROXY }}" + vaddy-proxy-port: "${{ secrets.VADDY_PROXY_PORT }}" + vaddy-fqdn: "${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}" + +# - name: VAddy private net logs +# if: ${{ always() }} +# working-directory: /tmp/go-vaddy-master/privatenet +# run: cat vaddy/*.txt From 1b4ebfd744a67b208b12100c4c7b7fd0f36cfb6e Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Mon, 16 Jan 2023 11:44:58 +0900 Subject: [PATCH 03/49] mail -> mailcatcher --- .github/workflows/vaddy/prepare/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/vaddy/prepare/action.yml b/.github/workflows/vaddy/prepare/action.yml index 54272e2a6ca..f48906d6538 100644 --- a/.github/workflows/vaddy/prepare/action.yml +++ b/.github/workflows/vaddy/prepare/action.yml @@ -157,5 +157,5 @@ runs: prefs: download.default_directory: '%PWD%/codeception/_support/_downloads' MailCatcher: - url: 'mail' + url: 'mailcatcher' port: 1080" > codeception/_envs/local.yml From f8100561657300c07aaa662c3511b8c39740846d Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Mon, 6 Feb 2023 21:09:41 +0900 Subject: [PATCH 04/49] 20.24 --- .github/workflows/vaddyscan.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index 419100c68c4..d49494125db 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -3,7 +3,7 @@ on: push jobs: vaddy: name: VAddy - runs-on: ubuntu-22.04 + runs-on: ubuntu-20.04 strategy: fail-fast: false matrix: From b11f7f88026a1a36a060f8cb53265050f9e3f1ce Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Mon, 6 Feb 2023 21:19:02 +0900 Subject: [PATCH 05/49] 20.04 --- .github/workflows/vaddy/prepare/action.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/vaddy/prepare/action.yml b/.github/workflows/vaddy/prepare/action.yml index f48906d6538..515a4ef9330 100644 --- a/.github/workflows/vaddy/prepare/action.yml +++ b/.github/workflows/vaddy/prepare/action.yml @@ -23,10 +23,6 @@ inputs: 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 From c7a12d9cb3a5d2a052aa814b0602a053d8c897ed Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Mon, 6 Feb 2023 21:30:44 +0900 Subject: [PATCH 06/49] Remove Azure from apt sources --- .github/workflows/vaddy/prepare/action.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/vaddy/prepare/action.yml b/.github/workflows/vaddy/prepare/action.yml index 515a4ef9330..c9aa8cdeab4 100644 --- a/.github/workflows/vaddy/prepare/action.yml +++ b/.github/workflows/vaddy/prepare/action.yml @@ -24,6 +24,19 @@ runs: using: "composite" steps: + - name: Workaround + shell: bash + run: | + sudo gem install apt-spy2 + sudo apt-spy2 check + sudo apt-spy2 fix --commit + sudo apt-get update + + - name: Setup PHP + uses: nanasess/setup-php@master + with: + php-version: '7.4' + - name: setup-chromedriver uses: nanasess/setup-chromedriver@master From 12b9846a229356429484233eda5513fe18bbe13e Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Mon, 6 Feb 2023 22:35:57 +0900 Subject: [PATCH 07/49] scan --- .github/workflows/vaddyscan.yml | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index d49494125db..32035df2a92 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -9,9 +9,21 @@ jobs: matrix: include: - vaddy_project: 'ADMIN01' - command1: 'EA04OrderCest:order_個別出荷済みステータス変更' - # - vaddy_project: 'ADMIN02' - # command1: 'EA04OrderCest:order_受注編集' + command1: 'EA03ProductCest' + command2: 'EA05CustomerCest' + command3: 'EA04OrderCest:order_個別出荷済みステータス変更' + command4: 'EA04OrderCest:order_納品書の一括出力' + command5: 'EA04OrderCest:order_受注メール通知' + command6: 'EA04OrderCest:order_受注削除' + command7: 'EA04OrderCest:order_受注CSVダウンロード' + command8: 'EA04OrderCest:order_受注登録' + command9: 'EA06ContentsManagementCest' + - vaddy_project: 'ADMIN02' + command1: 'EA04OrderCest:order_受注編集' + - vaddy_project: 'FRONT' + command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' services: postgres: image: postgres:14 From 11f832c28ae0fd40f86de9316e5b06dad85ffdc4 Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Tue, 7 Feb 2023 09:37:42 +0900 Subject: [PATCH 08/49] scan2 --- .github/workflows/vaddyscan.yml | 34 ++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index 32035df2a92..7305d47a52b 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -8,22 +8,30 @@ jobs: fail-fast: false matrix: include: + # - vaddy_project: 'ADMIN01' + # command1: 'EA03ProductCest' + # command2: 'EA05CustomerCest' + # command3: 'EA04OrderCest:order_個別出荷済みステータス変更' + # command4: 'EA04OrderCest:order_納品書の一括出力' + # command5: 'EA04OrderCest:order_受注メール通知' + # command6: 'EA04OrderCest:order_受注削除' + # command7: 'EA04OrderCest:order_受注CSVダウンロード' + # command8: 'EA04OrderCest:order_受注登録' + # command9: 'EA06ContentsManagementCest' + # - vaddy_project: 'ADMIN02' + # command1: 'EA04OrderCest:order_受注編集' + # - vaddy_project: 'FRONT' + # command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + # command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + # command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' - vaddy_project: 'ADMIN01' - command1: 'EA03ProductCest' - command2: 'EA05CustomerCest' - command3: 'EA04OrderCest:order_個別出荷済みステータス変更' - command4: 'EA04OrderCest:order_納品書の一括出力' - command5: 'EA04OrderCest:order_受注メール通知' - command6: 'EA04OrderCest:order_受注削除' - command7: 'EA04OrderCest:order_受注CSVダウンロード' - command8: 'EA04OrderCest:order_受注登録' - command9: 'EA06ContentsManagementCest' + command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' + command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' - vaddy_project: 'ADMIN02' - command1: 'EA04OrderCest:order_受注編集' + command1: '-x admin -x plugin -x order' - vaddy_project: 'FRONT' - command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' + command1: '-x admin -x front' + command2: 'EA09ShippingCest' services: postgres: image: postgres:14 From d808725b0d22971e2cecc014a35f0a7ef6c5e66c Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Tue, 7 Feb 2023 13:16:09 +0900 Subject: [PATCH 09/49] scan3 --- .github/workflows/vaddyscan.yml | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index 7305d47a52b..09ecf4d0d7d 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -24,14 +24,18 @@ jobs: # command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' # command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' # command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' - - vaddy_project: 'ADMIN01' - command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' - command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' - - vaddy_project: 'ADMIN02' - command1: '-x admin -x plugin -x order' - - vaddy_project: 'FRONT' - command1: '-x admin -x front' - command2: 'EA09ShippingCest' + # - vaddy_project: 'ADMIN01' + # command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' + # command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' + # - vaddy_project: 'ADMIN02' + # command1: '-x admin -x plugin -x order' + # - vaddy_project: 'FRONT' + # command1: '-x admin -x front' + # command2: 'EA09ShippingCest' + - vaddy_project: 'ADMIN01' + command1: 'EA08SysteminfoCest' + - vaddy_project: 'ADMIN02' + command1: 'EF03OrderCest:order' services: postgres: image: postgres:14 From 01ce5553363e15a55fd48626bb0963e454080a73 Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Tue, 7 Feb 2023 20:27:54 +0900 Subject: [PATCH 10/49] scan4 --- .github/workflows/vaddyscan.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index 09ecf4d0d7d..94da835ce3b 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -33,9 +33,14 @@ jobs: # command1: '-x admin -x front' # command2: 'EA09ShippingCest' - vaddy_project: 'ADMIN01' - command1: 'EA08SysteminfoCest' + command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' + command2: 'EF03OrderCest:order_ログインしてカートをマージ' + command3: 'EF03OrderCest:order_カート数量減らす' - vaddy_project: 'ADMIN02' - command1: 'EF03OrderCest:order' + command1: 'EF03OrderCest:order_カート数量増やす' + command2: 'EF03OrderCest:order_ゲスト購入情報変更' + - vaddy_project: 'FRONT' + command1: 'EF03OrderCest:order_ゲスト購入' services: postgres: image: postgres:14 From 730eaf99558f43c0d6eae2758e6c29f0cd554f7f Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Mon, 13 Feb 2023 09:58:40 +0900 Subject: [PATCH 11/49] disable rate limit --- .github/workflows/vaddy/prepare/action.yml | 7 +++ .github/workflows/vaddyscan.yml | 50 +++++++++++----------- 2 files changed, 32 insertions(+), 25 deletions(-) diff --git a/.github/workflows/vaddy/prepare/action.yml b/.github/workflows/vaddy/prepare/action.yml index c9aa8cdeab4..31581c6079d 100644 --- a/.github/workflows/vaddy/prepare/action.yml +++ b/.github/workflows/vaddy/prepare/action.yml @@ -101,6 +101,13 @@ runs: }' > 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 diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index 94da835ce3b..ef884123d5f 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -8,22 +8,22 @@ jobs: fail-fast: false matrix: include: - # - vaddy_project: 'ADMIN01' - # command1: 'EA03ProductCest' - # command2: 'EA05CustomerCest' - # command3: 'EA04OrderCest:order_個別出荷済みステータス変更' - # command4: 'EA04OrderCest:order_納品書の一括出力' - # command5: 'EA04OrderCest:order_受注メール通知' - # command6: 'EA04OrderCest:order_受注削除' - # command7: 'EA04OrderCest:order_受注CSVダウンロード' - # command8: 'EA04OrderCest:order_受注登録' - # command9: 'EA06ContentsManagementCest' - # - vaddy_project: 'ADMIN02' - # command1: 'EA04OrderCest:order_受注編集' - # - vaddy_project: 'FRONT' - # command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - # command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - # command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' + - vaddy_project: 'ADMIN01' + command1: 'EA03ProductCest' + command2: 'EA05CustomerCest' + command3: 'EA04OrderCest:order_個別出荷済みステータス変更' + command4: 'EA04OrderCest:order_納品書の一括出力' + command5: 'EA04OrderCest:order_受注メール通知' + command6: 'EA04OrderCest:order_受注削除' + command7: 'EA04OrderCest:order_受注CSVダウンロード' + command8: 'EA04OrderCest:order_受注登録' + command9: 'EA06ContentsManagementCest' + - vaddy_project: 'ADMIN02' + command1: 'EA04OrderCest:order_受注編集' + - vaddy_project: 'FRONT' + command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' # - vaddy_project: 'ADMIN01' # command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' # command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' @@ -32,15 +32,15 @@ jobs: # - vaddy_project: 'FRONT' # command1: '-x admin -x front' # command2: 'EA09ShippingCest' - - vaddy_project: 'ADMIN01' - command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' - command2: 'EF03OrderCest:order_ログインしてカートをマージ' - command3: 'EF03OrderCest:order_カート数量減らす' - - vaddy_project: 'ADMIN02' - command1: 'EF03OrderCest:order_カート数量増やす' - command2: 'EF03OrderCest:order_ゲスト購入情報変更' - - vaddy_project: 'FRONT' - command1: 'EF03OrderCest:order_ゲスト購入' + # - vaddy_project: 'ADMIN01' + # command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' + # command2: 'EF03OrderCest:order_ログインしてカートをマージ' + # command3: 'EF03OrderCest:order_カート数量減らす' + # - vaddy_project: 'ADMIN02' + # command1: 'EF03OrderCest:order_カート数量増やす' + # command2: 'EF03OrderCest:order_ゲスト購入情報変更' + # - vaddy_project: 'FRONT' + # command1: 'EF03OrderCest:order_ゲスト購入' services: postgres: image: postgres:14 From b1c480cf0cbf070a8f508952c63f2745d81c2aab Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Mon, 13 Feb 2023 10:59:25 +0900 Subject: [PATCH 12/49] remove workaround --- .github/workflows/vaddy/prepare/action.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/vaddy/prepare/action.yml b/.github/workflows/vaddy/prepare/action.yml index 31581c6079d..9e6c2e12046 100644 --- a/.github/workflows/vaddy/prepare/action.yml +++ b/.github/workflows/vaddy/prepare/action.yml @@ -24,14 +24,6 @@ runs: using: "composite" steps: - - name: Workaround - shell: bash - run: | - sudo gem install apt-spy2 - sudo apt-spy2 check - sudo apt-spy2 fix --commit - sudo apt-get update - - name: Setup PHP uses: nanasess/setup-php@master with: From a2a4f18a6a74ee2ba91c0eefbb52a0ff5cfa5a1e Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Mon, 13 Feb 2023 12:03:11 +0900 Subject: [PATCH 13/49] setup plugins --- .github/workflows/vaddy/prepare/action.yml | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/.github/workflows/vaddy/prepare/action.yml b/.github/workflows/vaddy/prepare/action.yml index 9e6c2e12046..65adc3c5b55 100644 --- a/.github/workflows/vaddy/prepare/action.yml +++ b/.github/workflows/vaddy/prepare/action.yml @@ -105,12 +105,13 @@ runs: bin/console eccube:fixtures:load --env=dev chmod -R 777 html - - name: Install Plugins + - name: Setup Plugins shell: bash env: APP_ENV: 'prod' DATABASE_URL: postgres://postgres:password@127.0.0.1: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" @@ -121,16 +122,7 @@ runs: bin/console eccube:composer:require "ec-cube/productreview42" bin/console eccube:composer:require "ec-cube/api42" bin/console eccube:composer:require "ec-cube/sitekit42" - - - name: Pre Install Plugins - shell: bash - env: - DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db - DATABASE_SERVER_VERSION: 14 - PGPASSWORD: 'password' - run: | 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 - for code in Recommend42; do bin/console eccube:plugin:enable --code $code; done - name: "EC-CUBE: package" shell: bash From 3bc131a4f010d14fae56abca8e7fd567c8162bd6 Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Mon, 13 Feb 2023 23:28:22 +0900 Subject: [PATCH 14/49] scan2 --- .github/workflows/vaddyscan.yml | 40 ++++++++++++++++----------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index ef884123d5f..de9776719b6 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -8,29 +8,29 @@ jobs: fail-fast: false matrix: include: - - vaddy_project: 'ADMIN01' - command1: 'EA03ProductCest' - command2: 'EA05CustomerCest' - command3: 'EA04OrderCest:order_個別出荷済みステータス変更' - command4: 'EA04OrderCest:order_納品書の一括出力' - command5: 'EA04OrderCest:order_受注メール通知' - command6: 'EA04OrderCest:order_受注削除' - command7: 'EA04OrderCest:order_受注CSVダウンロード' - command8: 'EA04OrderCest:order_受注登録' - command9: 'EA06ContentsManagementCest' - - vaddy_project: 'ADMIN02' - command1: 'EA04OrderCest:order_受注編集' - - vaddy_project: 'FRONT' - command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' # - vaddy_project: 'ADMIN01' - # command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' - # command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' + # command1: 'EA03ProductCest' + # command2: 'EA05CustomerCest' + # command3: 'EA04OrderCest:order_個別出荷済みステータス変更' + # command4: 'EA04OrderCest:order_納品書の一括出力' + # command5: 'EA04OrderCest:order_受注メール通知' + # command6: 'EA04OrderCest:order_受注削除' + # command7: 'EA04OrderCest:order_受注CSVダウンロード' + # command8: 'EA04OrderCest:order_受注登録' + # command9: 'EA06ContentsManagementCest' # - vaddy_project: 'ADMIN02' - # command1: '-x admin -x plugin -x order' + # command1: 'EA04OrderCest:order_受注編集' # - vaddy_project: 'FRONT' - # command1: '-x admin -x front' + # command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + # command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + # command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' + - vaddy_project: 'ADMIN01' + command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' + command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' + - vaddy_project: 'ADMIN02' + command1: '-x admin -x plugin -x order' + - vaddy_project: 'FRONT' + command1: '-x admin -x front' # command2: 'EA09ShippingCest' # - vaddy_project: 'ADMIN01' # command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' From 71c84b55363590738cbe84003747ac6b4cfd88e4 Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Tue, 14 Feb 2023 13:07:54 +0900 Subject: [PATCH 15/49] scan2 --- .github/workflows/vaddyscan.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index de9776719b6..a7eccb80b02 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -31,7 +31,7 @@ jobs: command1: '-x admin -x plugin -x order' - vaddy_project: 'FRONT' command1: '-x admin -x front' - # command2: 'EA09ShippingCest' + command2: 'EA09ShippingCest' # - vaddy_project: 'ADMIN01' # command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' # command2: 'EF03OrderCest:order_ログインしてカートをマージ' From 4552bfa01c9503c12346546a3960a8629d002550 Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Tue, 14 Feb 2023 13:09:54 +0900 Subject: [PATCH 16/49] @vaddy -> @group vaddy --- codeception/acceptance/EF03OrderCest.php | 2 +- codeception/acceptance/EF05MypageCest.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/codeception/acceptance/EF03OrderCest.php b/codeception/acceptance/EF03OrderCest.php index 41e8d27b34f..b2952fd2943 100644 --- a/codeception/acceptance/EF03OrderCest.php +++ b/codeception/acceptance/EF03OrderCest.php @@ -345,7 +345,7 @@ public function order_ゲスト購入情報変更(AcceptanceTester $I) /** * @see https://github.com/EC-CUBE/ec-cube/pull/3133 - * @vaddy + * @group vaddy */ public function order_ログインしてカートをマージ(AcceptanceTester $I) { diff --git a/codeception/acceptance/EF05MypageCest.php b/codeception/acceptance/EF05MypageCest.php index 71732a22bf2..375e57d731b 100644 --- a/codeception/acceptance/EF05MypageCest.php +++ b/codeception/acceptance/EF05MypageCest.php @@ -252,7 +252,7 @@ public function mypage_お届け先編集作成変更(AcceptanceTester $I) /** * @group excludeCoverage - * @vaddy + * @group vaddy */ public function mypage_お届け先編集削除(AcceptanceTester $I) { From 1e8bd131cb24850aa828aa8d8e2dd8194f7e9be8 Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Tue, 14 Feb 2023 18:16:41 +0900 Subject: [PATCH 17/49] scan3 --- .github/workflows/vaddyscan.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index a7eccb80b02..77fc4e05608 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -24,23 +24,23 @@ jobs: # command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' # command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' # command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' - - vaddy_project: 'ADMIN01' - command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' - command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' - - vaddy_project: 'ADMIN02' - command1: '-x admin -x plugin -x order' - - vaddy_project: 'FRONT' - command1: '-x admin -x front' - command2: 'EA09ShippingCest' # - vaddy_project: 'ADMIN01' - # command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' - # command2: 'EF03OrderCest:order_ログインしてカートをマージ' - # command3: 'EF03OrderCest:order_カート数量減らす' + # command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' + # command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' # - vaddy_project: 'ADMIN02' - # command1: 'EF03OrderCest:order_カート数量増やす' - # command2: 'EF03OrderCest:order_ゲスト購入情報変更' + # command1: '-x admin -x plugin -x order' # - vaddy_project: 'FRONT' - # command1: 'EF03OrderCest:order_ゲスト購入' + # command1: '-x admin -x front' + # command2: 'EA09ShippingCest' + - vaddy_project: 'ADMIN01' + command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' + command2: 'EF03OrderCest:order_ログインしてカートをマージ' + command3: 'EF03OrderCest:order_カート数量減らす' + - vaddy_project: 'ADMIN02' + command1: 'EF03OrderCest:order_カート数量増やす' + command2: 'EF03OrderCest:order_ゲスト購入情報変更' + - vaddy_project: 'FRONT' + command1: 'EF03OrderCest:order_ゲスト購入' services: postgres: image: postgres:14 From 66f8c6687e9e813105909881b5c7413a3b05ea3f Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Tue, 6 Jun 2023 18:53:25 +0900 Subject: [PATCH 18/49] scan1 --- .github/workflows/vaddyscan.yml | 50 ++++++++++++++++----------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index 77fc4e05608..ef884123d5f 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -8,22 +8,22 @@ jobs: fail-fast: false matrix: include: - # - vaddy_project: 'ADMIN01' - # command1: 'EA03ProductCest' - # command2: 'EA05CustomerCest' - # command3: 'EA04OrderCest:order_個別出荷済みステータス変更' - # command4: 'EA04OrderCest:order_納品書の一括出力' - # command5: 'EA04OrderCest:order_受注メール通知' - # command6: 'EA04OrderCest:order_受注削除' - # command7: 'EA04OrderCest:order_受注CSVダウンロード' - # command8: 'EA04OrderCest:order_受注登録' - # command9: 'EA06ContentsManagementCest' - # - vaddy_project: 'ADMIN02' - # command1: 'EA04OrderCest:order_受注編集' - # - vaddy_project: 'FRONT' - # command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - # command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - # command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' + - vaddy_project: 'ADMIN01' + command1: 'EA03ProductCest' + command2: 'EA05CustomerCest' + command3: 'EA04OrderCest:order_個別出荷済みステータス変更' + command4: 'EA04OrderCest:order_納品書の一括出力' + command5: 'EA04OrderCest:order_受注メール通知' + command6: 'EA04OrderCest:order_受注削除' + command7: 'EA04OrderCest:order_受注CSVダウンロード' + command8: 'EA04OrderCest:order_受注登録' + command9: 'EA06ContentsManagementCest' + - vaddy_project: 'ADMIN02' + command1: 'EA04OrderCest:order_受注編集' + - vaddy_project: 'FRONT' + command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' # - vaddy_project: 'ADMIN01' # command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' # command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' @@ -32,15 +32,15 @@ jobs: # - vaddy_project: 'FRONT' # command1: '-x admin -x front' # command2: 'EA09ShippingCest' - - vaddy_project: 'ADMIN01' - command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' - command2: 'EF03OrderCest:order_ログインしてカートをマージ' - command3: 'EF03OrderCest:order_カート数量減らす' - - vaddy_project: 'ADMIN02' - command1: 'EF03OrderCest:order_カート数量増やす' - command2: 'EF03OrderCest:order_ゲスト購入情報変更' - - vaddy_project: 'FRONT' - command1: 'EF03OrderCest:order_ゲスト購入' + # - vaddy_project: 'ADMIN01' + # command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' + # command2: 'EF03OrderCest:order_ログインしてカートをマージ' + # command3: 'EF03OrderCest:order_カート数量減らす' + # - vaddy_project: 'ADMIN02' + # command1: 'EF03OrderCest:order_カート数量増やす' + # command2: 'EF03OrderCest:order_ゲスト購入情報変更' + # - vaddy_project: 'FRONT' + # command1: 'EF03OrderCest:order_ゲスト購入' services: postgres: image: postgres:14 From e84709cad4729076503e661dc1616f4a9bd7616b Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Wed, 7 Jun 2023 14:28:11 +0900 Subject: [PATCH 19/49] scan 1.5 --- .github/workflows/vaddyscan.yml | 39 ++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index ef884123d5f..8976aa750ee 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -8,27 +8,30 @@ jobs: fail-fast: false matrix: include: + # - vaddy_project: 'ADMIN01' + # command1: 'EA03ProductCest' + # command2: 'EA05CustomerCest' + # command3: 'EA04OrderCest:order_個別出荷済みステータス変更' + # command4: 'EA04OrderCest:order_納品書の一括出力' + # command5: 'EA04OrderCest:order_受注メール通知' + # command6: 'EA04OrderCest:order_受注削除' + # command7: 'EA04OrderCest:order_受注CSVダウンロード' + # command8: 'EA04OrderCest:order_受注登録' + # command9: 'EA06ContentsManagementCest' + # - vaddy_project: 'ADMIN02' + # command1: 'EA04OrderCest:order_受注編集' + # - vaddy_project: 'FRONT' + # command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + # command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + # command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' - vaddy_project: 'ADMIN01' - command1: 'EA03ProductCest' - command2: 'EA05CustomerCest' - command3: 'EA04OrderCest:order_個別出荷済みステータス変更' - command4: 'EA04OrderCest:order_納品書の一括出力' - command5: 'EA04OrderCest:order_受注メール通知' - command6: 'EA04OrderCest:order_受注削除' - command7: 'EA04OrderCest:order_受注CSVダウンロード' - command8: 'EA04OrderCest:order_受注登録' - command9: 'EA06ContentsManagementCest' + command1: 'EA06ContentsManagementCest' + command2: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' - vaddy_project: 'ADMIN02' - command1: 'EA04OrderCest:order_受注編集' + command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' + command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' - vaddy_project: 'FRONT' - command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' - # - vaddy_project: 'ADMIN01' - # command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' - # command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' - # - vaddy_project: 'ADMIN02' - # command1: '-x admin -x plugin -x order' + command1: '-x admin -x plugin -x order' # - vaddy_project: 'FRONT' # command1: '-x admin -x front' # command2: 'EA09ShippingCest' From 4094055a000fa5dea666966e372eaee2c73753fc Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Thu, 8 Jun 2023 10:03:34 +0900 Subject: [PATCH 20/49] scan2 --- .github/workflows/vaddyscan.yml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index 8976aa750ee..842d24a8a9f 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -24,24 +24,24 @@ jobs: # command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' # command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' # command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' - - vaddy_project: 'ADMIN01' - command1: 'EA06ContentsManagementCest' - command2: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' - - vaddy_project: 'ADMIN02' - command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' - command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' - - vaddy_project: 'FRONT' - command1: '-x admin -x plugin -x order' - # - vaddy_project: 'FRONT' - # command1: '-x admin -x front' - # command2: 'EA09ShippingCest' # - vaddy_project: 'ADMIN01' - # command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' - # command2: 'EF03OrderCest:order_ログインしてカートをマージ' - # command3: 'EF03OrderCest:order_カート数量減らす' + # command1: 'EA06ContentsManagementCest' + # command2: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' # - vaddy_project: 'ADMIN02' - # command1: 'EF03OrderCest:order_カート数量増やす' - # command2: 'EF03OrderCest:order_ゲスト購入情報変更' + # command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' + # command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' + # - vaddy_project: 'FRONT' + # command1: '-x admin -x plugin -x order' + - vaddy_project: 'FRONT' + command1: '-x admin -x front' + command2: 'EA09ShippingCest' + - vaddy_project: 'ADMIN01' + command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' + command2: 'EF03OrderCest:order_ログインしてカートをマージ' + command3: 'EF03OrderCest:order_カート数量減らす' + - vaddy_project: 'ADMIN02' + command1: 'EF03OrderCest:order_カート数量増やす' + command2: 'EF03OrderCest:order_ゲスト購入情報変更' # - vaddy_project: 'FRONT' # command1: 'EF03OrderCest:order_ゲスト購入' services: From 6119179320a4137c6d5c994afd5aa37aae4678b4 Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Thu, 8 Jun 2023 13:58:45 +0900 Subject: [PATCH 21/49] scan3 --- .github/workflows/vaddyscan.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index 842d24a8a9f..402452ce40d 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -32,18 +32,18 @@ jobs: # command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' # - vaddy_project: 'FRONT' # command1: '-x admin -x plugin -x order' - - vaddy_project: 'FRONT' - command1: '-x admin -x front' - command2: 'EA09ShippingCest' - - vaddy_project: 'ADMIN01' - command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' - command2: 'EF03OrderCest:order_ログインしてカートをマージ' - command3: 'EF03OrderCest:order_カート数量減らす' - - vaddy_project: 'ADMIN02' - command1: 'EF03OrderCest:order_カート数量増やす' - command2: 'EF03OrderCest:order_ゲスト購入情報変更' # - vaddy_project: 'FRONT' - # command1: 'EF03OrderCest:order_ゲスト購入' + # command1: '-x admin -x front' + # command2: 'EA09ShippingCest' + # - vaddy_project: 'ADMIN01' + # command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' + # command2: 'EF03OrderCest:order_ログインしてカートをマージ' + # command3: 'EF03OrderCest:order_カート数量減らす' + # - vaddy_project: 'ADMIN02' + # command1: 'EF03OrderCest:order_カート数量増やす' + # command2: 'EF03OrderCest:order_ゲスト購入情報変更' + - vaddy_project: 'FRONT' + command1: 'EF03OrderCest:order_ゲスト購入' services: postgres: image: postgres:14 From 28cda263092710d8cbda3a8e12740b3c9baad185 Mon Sep 17 00:00:00 2001 From: kiy0taka Date: Fri, 9 Jun 2023 09:26:57 +0900 Subject: [PATCH 22/49] scan4 --- .github/workflows/vaddyscan.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index 402452ce40d..eb7dc4c4e61 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -43,7 +43,7 @@ jobs: # command1: 'EF03OrderCest:order_カート数量増やす' # command2: 'EF03OrderCest:order_ゲスト購入情報変更' - vaddy_project: 'FRONT' - command1: 'EF03OrderCest:order_ゲスト購入' + command1: 'EA08SysteminfoCest' services: postgres: image: postgres:14 From 0ef1706a5bfd9a1caf53aff4f8c9919c6653257c Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Fri, 18 Aug 2023 20:17:02 +0900 Subject: [PATCH 23/49] =?UTF-8?q?fix:=E3=82=A4=E3=83=B3=E3=82=B9=E3=83=88?= =?UTF-8?q?=E3=83=BC=E3=83=AB=E6=99=82=E3=81=AEDB=E3=83=91=E3=82=B9?= =?UTF-8?q?=E3=83=AF=E3=83=BC=E3=83=89=E5=85=A5=E5=8A=9B=E3=83=95=E3=82=A9?= =?UTF-8?q?=E3=83=BC=E3=83=A0=E3=81=8B=E3=82=89purify=E3=82=92=E5=A4=96?= =?UTF-8?q?=E3=81=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Eccube/Form/Type/Install/Step4Type.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Eccube/Form/Type/Install/Step4Type.php b/src/Eccube/Form/Type/Install/Step4Type.php index 00a447c630d..e3831768291 100644 --- a/src/Eccube/Form/Type/Install/Step4Type.php +++ b/src/Eccube/Form/Type/Install/Step4Type.php @@ -91,6 +91,7 @@ public function buildForm(FormBuilderInterface $builder, array $options) ->add('database_password', PasswordType::class, [ 'label' => trans('install.database_password'), 'required' => false, + 'purify_html' => false, ]) ->addEventListener(FormEvents::POST_SUBMIT, function ($event) { $form = $event->getForm(); From 5d0424d9b33baef54d49e25f5d04b53d7e2c505f Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Mon, 4 Sep 2023 13:26:37 +0900 Subject: [PATCH 24/49] =?UTF-8?q?=E3=83=A1=E3=83=B3=E3=83=86=E3=83=8A?= =?UTF-8?q?=E3=83=B3=E3=82=B9=E3=83=A2=E3=83=BC=E3=83=89=E3=81=8C=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E7=94=BB=E9=9D=A2=E3=81=8B=E3=82=89=E7=A2=BA=E8=AA=8D?= =?UTF-8?q?=E3=81=A7=E3=81=8D=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=81=99?= =?UTF-8?q?=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Eccube/EventListener/TwigInitializeListener.php | 1 + src/Eccube/Resource/locale/messages.en.yaml | 1 + src/Eccube/Resource/locale/messages.ja.yaml | 1 + src/Eccube/Resource/template/admin/default_frame.twig | 1 + src/Eccube/Resource/template/admin/info.twig | 8 ++++++++ 5 files changed, 12 insertions(+) create mode 100644 src/Eccube/Resource/template/admin/info.twig diff --git a/src/Eccube/EventListener/TwigInitializeListener.php b/src/Eccube/EventListener/TwigInitializeListener.php index 6d057b9aeb2..32309ed1c59 100644 --- a/src/Eccube/EventListener/TwigInitializeListener.php +++ b/src/Eccube/EventListener/TwigInitializeListener.php @@ -253,6 +253,7 @@ public function setAdminGlobals(RequestEvent $event) $eccubeNav = $this->getDisplayEccubeNav($eccubeNav, $AuthorityRoles, $baseUrl); } $this->twig->addGlobal('eccubeNav', $eccubeNav); + $this->twig->addGlobal('isMaintenance', $this->systemService->isMaintenanceMode()); } /** diff --git a/src/Eccube/Resource/locale/messages.en.yaml b/src/Eccube/Resource/locale/messages.en.yaml index b43ac56e698..6194eb2454a 100644 --- a/src/Eccube/Resource/locale/messages.en.yaml +++ b/src/Eccube/Resource/locale/messages.en.yaml @@ -503,6 +503,7 @@ admin.common.move_to_confirm_move_only: Move admin.common.move_to_confirm_save_and_move: Save & Move admin.common.admin_url_warning: 'Please set the Admin Console URL that is hard to guess for security. You can set it at "Security".' admin.common.restrict_file_upload_info: 'If this feature is used infrequently, disabling it while not in use provides additional security. You can disable this feature by setting the environment variable ECCUBE_RESTRICT_FILE_UPLOAD to 1.' +admin.common.notice_maintenance_mode: 'Currently in maintenance mode.' # Labels related to entity diff --git a/src/Eccube/Resource/locale/messages.ja.yaml b/src/Eccube/Resource/locale/messages.ja.yaml index ab805f6454d..9e59daf494a 100644 --- a/src/Eccube/Resource/locale/messages.ja.yaml +++ b/src/Eccube/Resource/locale/messages.ja.yaml @@ -503,6 +503,7 @@ admin.common.move_to_confirm_move_only: 保存せずに移動 admin.common.move_to_confirm_save_and_move: 保存して移動 admin.common.admin_url_warning: '管理画面URLは、セキュリティのため推測されにくいものを設定してください。「セキュリティ管理」から設定できます。' admin.common.restrict_file_upload_info: 'この機能の利用頻度が低い場合、使用しない間は無効化することでセキュリティを更に向上させることができます。環境変数 ECCUBE_RESTRICT_FILE_UPLOAD を 1 に設定することで機能を無効化することが可能です。' +admin.common.notice_maintenance_mode: '現在メンテナンスモード中です。' # エンティティに関連するラベル diff --git a/src/Eccube/Resource/template/admin/default_frame.twig b/src/Eccube/Resource/template/admin/default_frame.twig index 57a99f01a11..ad44600c7d3 100644 --- a/src/Eccube/Resource/template/admin/default_frame.twig +++ b/src/Eccube/Resource/template/admin/default_frame.twig @@ -64,6 +64,7 @@ file that was distributed with this source code. {{ include('@admin/alert.twig') }} + {{ include('@admin/info.twig') }} {% block main %}{% endblock %} diff --git a/src/Eccube/Resource/template/admin/info.twig b/src/Eccube/Resource/template/admin/info.twig new file mode 100644 index 00000000000..2ae63cbb635 --- /dev/null +++ b/src/Eccube/Resource/template/admin/info.twig @@ -0,0 +1,8 @@ +{% if isMaintenance %} + +{% endif %} From 221a86bc8ed4a1bcb366047cb7f049bd77c7fcc6 Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Wed, 4 Oct 2023 12:18:03 +0900 Subject: [PATCH 25/49] =?UTF-8?q?admin01=E3=82=92=E5=8B=95=E3=81=8B?= =?UTF-8?q?=E3=81=97=E3=81=A6=E3=81=BF=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/vaddyscan.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index 782ab52474f..b7078b9327f 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -8,13 +8,13 @@ jobs: fail-fast: false matrix: include: - # - vaddy_project: 'ADMIN01' + - vaddy_project: 'ADMIN01' # command1: 'EA03ProductCest' # command2: 'EA05CustomerCest' # command3: 'EA04OrderCest:order_個別出荷済みステータス変更' # command4: 'EA04OrderCest:order_納品書の一括出力' # command5: 'EA04OrderCest:order_受注メール通知' - # command6: 'EA04OrderCest:order_受注削除' + command6: 'EA04OrderCest:order_受注削除' # command7: 'EA04OrderCest:order_受注CSVダウンロード' # command8: 'EA04OrderCest:order_受注登録' # command9: 'EA06ContentsManagementCest' @@ -32,9 +32,9 @@ jobs: # command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' # - vaddy_project: 'FRONT' # command1: '-x admin -x plugin -x order' - - vaddy_project: 'FRONT' - command1: '-x admin -x front' - command2: 'EA09ShippingCest' + # - vaddy_project: 'FRONT' + # command1: '-x admin -x front' + # command2: 'EA09ShippingCest' # - vaddy_project: 'ADMIN01' # command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' # command2: 'EF03OrderCest:order_ログインしてカートをマージ' From 4c7528733de56cc5824cfb45cbd44895aa0aeac3 Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Wed, 4 Oct 2023 16:15:18 +0900 Subject: [PATCH 26/49] fix --- .github/workflows/vaddyscan.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index b7078b9327f..e46cba2ec2a 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -72,6 +72,7 @@ jobs: vaddy-auth-key: "${{ secrets.VADDY_AUTH_KEY }}" - name: "Scan 1" + if: ${{ matrix.command2 != '' }} uses: ./.github/workflows/vaddy/scan with: command: "${{ matrix.command1 }}" From 8308ae46306d21f4235334c5174cafa195b34a2f Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Wed, 4 Oct 2023 21:03:31 +0900 Subject: [PATCH 27/49] =?UTF-8?q?admin01,admin02,front=E3=82=92=E8=A9=A6?= =?UTF-8?q?=E3=81=97=E3=81=A6=E3=81=BF=E3=82=8B=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/vaddyscan.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index e46cba2ec2a..37113ee5fe3 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -9,21 +9,21 @@ jobs: matrix: include: - vaddy_project: 'ADMIN01' - # command1: 'EA03ProductCest' - # command2: 'EA05CustomerCest' - # command3: 'EA04OrderCest:order_個別出荷済みステータス変更' - # command4: 'EA04OrderCest:order_納品書の一括出力' - # command5: 'EA04OrderCest:order_受注メール通知' + command1: 'EA03ProductCest' + command2: 'EA05CustomerCest' + command3: 'EA04OrderCest:order_個別出荷済みステータス変更' + command4: 'EA04OrderCest:order_納品書の一括出力' + command5: 'EA04OrderCest:order_受注メール通知' command6: 'EA04OrderCest:order_受注削除' - # command7: 'EA04OrderCest:order_受注CSVダウンロード' - # command8: 'EA04OrderCest:order_受注登録' - # command9: 'EA06ContentsManagementCest' - # - vaddy_project: 'ADMIN02' - # command1: 'EA04OrderCest:order_受注編集' - # - vaddy_project: 'FRONT' - # command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - # command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - # command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' + command7: 'EA04OrderCest:order_受注CSVダウンロード' + command8: 'EA04OrderCest:order_受注登録' + command9: 'EA06ContentsManagementCest' + - vaddy_project: 'ADMIN02' + command1: 'EA04OrderCest:order_受注編集' + - vaddy_project: 'FRONT' + command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' # - vaddy_project: 'ADMIN01' # command1: 'EA06ContentsManagementCest' # command2: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' From a2240515f82085a36a944d5ee3294ad6f31c3e68 Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Wed, 11 Oct 2023 19:42:53 +0900 Subject: [PATCH 28/49] =?UTF-8?q?=E4=B8=8D=E8=A6=81=E3=83=86=E3=82=B9?= =?UTF-8?q?=E3=83=88=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/e2e-test-throttling.yml | 0 .github/workflows/penetration-test.yml | 0 .github/workflows/vaddy-1.yml | 0 .github/workflows/vaddy-2.yml | 499 ---------------------- 4 files changed, 499 deletions(-) delete mode 100644 .github/workflows/e2e-test-throttling.yml delete mode 100644 .github/workflows/penetration-test.yml delete mode 100644 .github/workflows/vaddy-1.yml delete mode 100644 .github/workflows/vaddy-2.yml diff --git a/.github/workflows/e2e-test-throttling.yml b/.github/workflows/e2e-test-throttling.yml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.github/workflows/penetration-test.yml b/.github/workflows/penetration-test.yml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.github/workflows/vaddy-1.yml b/.github/workflows/vaddy-1.yml deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/.github/workflows/vaddy-2.yml b/.github/workflows/vaddy-2.yml deleted file mode 100644 index e35da382088..00000000000 --- a/.github/workflows/vaddy-2.yml +++ /dev/null @@ -1,499 +0,0 @@ -name: VAddy -on: - schedule: - - cron: '0 21 * * 0' - -jobs: - vaddy: - name: VAddy - runs-on: ubuntu-22.04 - strategy: - matrix: - include: - - vaddy_project: 'ADMIN01' - command1: 'EA06ContentsManagementCest' - - vaddy_project: 'ADMIN02' - command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' - command4: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' - command5: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' - - vaddy_project: 'FRONT' - command1: '-x admin -x front' - services: - postgres: - image: postgres:14 - env: - POSTGRES_USER: postgres - POSTGRES_PASSWORD: password - ports: - - 5432:5432 - # needed because the postgres container does not provide a healthcheck - options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 - mailcatcher: - image: schickling/mailcatcher - ports: - - 1080:1080 - - 1025:1025 - steps: - - name: Checkout - uses: actions/checkout@master - - - name: Setup PHP - uses: nanasess/setup-php@master - with: - php-version: '7.4' - - - name: setup-chromedriver - uses: nanasess/setup-chromedriver@master - - - name: "VAddy: install" - working-directory: /tmp - run: | - wget -q https://github.com/vaddy/go-vaddy/archive/master.zip - unzip master.zip - echo 'export VADDY_AUTH_KEY="${{ secrets.VADDY_AUTH_KEY }}" - export VADDY_FQDN="${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}" - export VADDY_VERIFICATION_CODE="${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" - export VADDY_USER="${{ secrets.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: Initialize Composer - uses: ./.github/actions/composer - - - name: "EC-CUBE: setup" - env: - DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db - DATABASE_SERVER_VERSION: 14 - run: | - php bin/template_jp.php - rm -rf app/Plugin/* - echo 'getEntityManager()->detach($event->getEntity()); - } - }' > 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 - 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: Install Plugins - env: - APP_ENV: 'prod' - DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db - DATABASE_SERVER_VERSION: 14 - run: | - bin/console eccube:composer:require "ec-cube/recommend4" - bin/console eccube:composer:require "ec-cube/coupon4" - bin/console eccube:composer:require "ec-cube/mailmagazine4" - bin/console eccube:composer:require "ec-cube/salesreport4" - bin/console eccube:composer:require "ec-cube/relatedproduct4" - bin/console eccube:composer:require "ec-cube/securitychecker4" - bin/console eccube:composer:require "ec-cube/productreview4" - bin/console eccube:composer:require "ec-cube/api" - bin/console eccube:composer:require "ec-cube/sitekit" - bin/console eccube:composer:require "ec-cube/gmc" - - - name: Pre Install Plugins - env: - DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db - DATABASE_SERVER_VERSION: 14 - PGPASSWORD: 'password' - run: | - 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 - for code in Api Coupon4 GMC MailMagazine4 ProductReview4 Recommend4 RelatedProduct4 SalesReport4 Securitychecker4 SiteKit; do bin/console eccube:plugin:enable --code $code; done - - - name: "EC-CUBE: package" - working-directory: ../ - run: ${{ github.event.repository.name }}/package.sh - - - name: "EC-CUBE: build" - run: docker build -t ec-cube --build-arg SKIP_INSTALL_SCRIPT_ON_DOCKER_BUILD=true . - - name: "Codeception: prepare" - 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 ${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}" | sudo tee -a /etc/hosts - echo "modules: - config: - WebDriver: - host: '127.0.0.1' - port: 9515 - url: "http://${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}:8080" - browser: chrome - capabilities: - chromeOptions: - args: ["--headless", "--disable-gpu"] - prefs: - download.default_directory: '%PWD%/codeception/_support/_downloads' - MailCatcher: - url: 'mail' - port: 1080" > codeception/_envs/local.yml - - - name: "Scan 1" - run: echo 'Scan 1' - - - name: "EC-CUBE: run" - run: | - docker run \ - -e APP_ENV=dev \ - -e APP_DEBUG=1 \ - -e DATABASE_URL="postgres://postgres:password@172.17.0.1: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 - 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=${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }} eccube bash -c 'echo ${VADDY_VERIFICATION_CODE} > vaddy-${VADDY_VERIFICATION_CODE}.html' - docker exec -u www-data eccube bash -c 'for code in Api Coupon4 GMC MailMagazine4 ProductReview4 Recommend4 RelatedProduct4 SalesReport4 Securitychecker4 SiteKit; do bin/console eccube:plugin:enable --code $code; done' - - - name: "VAddy: connect" - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh connect - - - name: "VAddy: crawl" - env: - APP_ENV: "codeception" - DATABASE_URL: "postgres://postgres:password@127.0.0.1:5432/eccube_db" - DATABASE_SERVER_VERSION: "14" - MAILER_URL: "smtp://127.0.0.1:1025" - BASE_URL: "http://${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}:8080" - VADDY_PROXY: "${{ secrets.VADDY_PROXY }}" - VADDY_PROXY_PORT: "${{ secrets.VADDY_PROXY_PORT }}" - VADDY_VERIFICATION_CODE: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" - VADDY_CRAWL: "${{ matrix.command1 }}" - 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 ${{ matrix.command1 }} || 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" - if: ${{ always() }} - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh disconnect - - - name: "VAddy: scan" - continue-on-error: true - env: - VADDY_CRAWL: "${{ matrix.command1 }}" - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh scan - - - name: "EC-CUBE: stop" - if: ${{ always() }} - continue-on-error: true - run: docker rm -f -v eccube - - - name: "Scan 2" - if: ${{ matrix.command2 != '' }} - run: echo 'Scan 2' - - - name: "EC-CUBE: run" - if: ${{ matrix.command2 != '' }} - run: | - docker run \ - -e APP_ENV=dev \ - -e APP_DEBUG=1 \ - -e DATABASE_URL="postgres://postgres:password@172.17.0.1: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 - 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=${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }} eccube bash -c 'echo ${VADDY_VERIFICATION_CODE} > vaddy-${VADDY_VERIFICATION_CODE}.html' - docker exec -u www-data eccube bash -c 'for code in Api Coupon4 GMC MailMagazine4 ProductReview4 Recommend4 RelatedProduct4 SalesReport4 Securitychecker4 SiteKit; do bin/console eccube:plugin:enable --code $code; done' - - - name: "VAddy: connect" - if: ${{ matrix.command2 != '' }} - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh connect - - - name: "VAddy: crawl" - if: ${{ matrix.command2 != '' && success() }} - env: - APP_ENV: "codeception" - DATABASE_URL: "postgres://postgres:password@127.0.0.1:5432/eccube_db" - DATABASE_SERVER_VERSION: "14" - MAILER_URL: "smtp://127.0.0.1:1025" - BASE_URL: "http://${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}:8080" - VADDY_PROXY: "${{ secrets.VADDY_PROXY }}" - VADDY_PROXY_PORT: "${{ secrets.VADDY_PROXY_PORT }}" - VADDY_VERIFICATION_CODE: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" - VADDY_CRAWL: "${{ matrix.command2 }}" - 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 ${{ matrix.command2 }} || true - vendor/bin/codecept -vvv run acceptance --env chrome,local,vaddy VaddyCest:commit - - - name: Upload report - if: ${{ matrix.command2 != '' && success() }} - uses: actions/upload-artifact@v2 - with: - name: crawl-reports - path: codeception/_output/**/* - - - name: "VAddy: disconnect" - if: ${{ matrix.command2 }} - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh disconnect - - - name: "VAddy: scan" - if: ${{ matrix.command2 != '' && success() }} - continue-on-error: true - env: - VADDY_CRAWL: "${{ matrix.command2 }}" - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh scan - - - name: "EC-CUBE: stop" - if: ${{ matrix.command2 }} - continue-on-error: true - run: docker rm -f -v eccube - - - name: "Scan 3" - if: ${{ matrix.command3 != '' }} - run: echo 'Scan 3' - - - name: "EC-CUBE: run" - if: ${{ matrix.command3 != '' }} - run: | - docker run \ - -e APP_ENV=dev \ - -e APP_DEBUG=1 \ - -e DATABASE_URL="postgres://postgres:password@172.17.0.1: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 - 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=${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }} eccube bash -c 'echo ${VADDY_VERIFICATION_CODE} > vaddy-${VADDY_VERIFICATION_CODE}.html' - docker exec -u www-data eccube bash -c 'for code in Api Coupon4 GMC MailMagazine4 ProductReview4 Recommend4 RelatedProduct4 SalesReport4 Securitychecker4 SiteKit; do bin/console eccube:plugin:enable --code $code; done' - - - name: "VAddy: connect" - if: ${{ matrix.command3 != '' }} - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh connect - - - name: "VAddy: crawl" - if: ${{ matrix.command3 != '' && success() }} - env: - APP_ENV: "codeception" - DATABASE_URL: "postgres://postgres:password@127.0.0.1:5432/eccube_db" - DATABASE_SERVER_VERSION: "14" - MAILER_URL: "smtp://127.0.0.1:1025" - BASE_URL: "http://${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}:8080" - VADDY_PROXY: "${{ secrets.VADDY_PROXY }}" - VADDY_PROXY_PORT: "${{ secrets.VADDY_PROXY_PORT }}" - VADDY_VERIFICATION_CODE: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" - VADDY_CRAWL: "${{ matrix.command3 }}" - 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 ${{ matrix.command3 }} || true - vendor/bin/codecept -vvv run acceptance --env chrome,local,vaddy VaddyCest:commit - - - name: Upload report - if: ${{ matrix.command3 != '' && success() }} - uses: actions/upload-artifact@v2 - with: - name: crawl-reports - path: codeception/_output/**/* - - - name: "VAddy: disconnect" - if: ${{ matrix.command3 }} - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh disconnect - - - name: "VAddy: scan" - if: ${{ matrix.command3 != '' && success() }} - continue-on-error: true - env: - VADDY_CRAWL: "${{ matrix.command3 }}" - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh scan - - - name: "EC-CUBE: stop" - if: ${{ matrix.command3 }} - continue-on-error: true - run: docker rm -f -v eccube - - - name: "Scan 4" - if: ${{ matrix.command4 != '' }} - run: echo 'Scan 4' - - - name: "EC-CUBE: run" - if: ${{ matrix.command4 != '' }} - run: | - docker run \ - -e APP_ENV=dev \ - -e APP_DEBUG=1 \ - -e DATABASE_URL="postgres://postgres:password@172.17.0.1: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 - 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=${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }} eccube bash -c 'echo ${VADDY_VERIFICATION_CODE} > vaddy-${VADDY_VERIFICATION_CODE}.html' - docker exec -u www-data eccube bash -c 'for code in Api Coupon4 GMC MailMagazine4 ProductReview4 Recommend4 RelatedProduct4 SalesReport4 Securitychecker4 SiteKit; do bin/console eccube:plugin:enable --code $code; done' - - - name: "VAddy: connect" - if: ${{ matrix.command4 != '' }} - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh connect - - - name: "VAddy: crawl" - if: ${{ matrix.command4 != '' && success() }} - env: - APP_ENV: "codeception" - DATABASE_URL: "postgres://postgres:password@127.0.0.1:5432/eccube_db" - DATABASE_SERVER_VERSION: "14" - MAILER_URL: "smtp://127.0.0.1:1025" - BASE_URL: "http://${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}:8080" - VADDY_PROXY: "${{ secrets.VADDY_PROXY }}" - VADDY_PROXY_PORT: "${{ secrets.VADDY_PROXY_PORT }}" - VADDY_VERIFICATION_CODE: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" - VADDY_CRAWL: "${{ matrix.command4 }}" - 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 ${{ matrix.command4 }} || true - vendor/bin/codecept -vvv run acceptance --env chrome,local,vaddy VaddyCest:commit - - - name: Upload report - if: ${{ matrix.command4 != '' && success() }} - uses: actions/upload-artifact@v2 - with: - name: crawl-reports - path: codeception/_output/**/* - - - name: "VAddy: disconnect" - if: ${{ matrix.command4 }} - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh disconnect - - - name: "VAddy: scan" - if: ${{ matrix.command4 != '' && success() }} - continue-on-error: true - env: - VADDY_CRAWL: "${{ matrix.command4 }}" - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh scan - - - name: "EC-CUBE: stop" - if: ${{ matrix.command4 }} - continue-on-error: true - run: docker rm -f -v eccube - - - name: "Scan 5" - if: ${{ matrix.command5 != '' }} - run: echo 'Scan 5' - - - name: "EC-CUBE: run" - if: ${{ matrix.command5 != '' }} - run: | - docker run \ - -e APP_ENV=dev \ - -e APP_DEBUG=1 \ - -e DATABASE_URL="postgres://postgres:password@172.17.0.1: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 - 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=${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }} eccube bash -c 'echo ${VADDY_VERIFICATION_CODE} > vaddy-${VADDY_VERIFICATION_CODE}.html' - docker exec -u www-data eccube bash -c 'for code in Api Coupon4 GMC MailMagazine4 ProductReview4 Recommend4 RelatedProduct4 SalesReport4 Securitychecker4 SiteKit; do bin/console eccube:plugin:enable --code $code; done' - - - name: "VAddy: connect" - if: ${{ matrix.command5 != '' }} - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh connect - - - name: "VAddy: crawl" - if: ${{ matrix.command5 != '' && success() }} - env: - APP_ENV: "codeception" - DATABASE_URL: "postgres://postgres:password@127.0.0.1:5432/eccube_db" - DATABASE_SERVER_VERSION: "14" - MAILER_URL: "smtp://127.0.0.1:1025" - BASE_URL: "http://${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}:8080" - VADDY_PROXY: "${{ secrets.VADDY_PROXY }}" - VADDY_PROXY_PORT: "${{ secrets.VADDY_PROXY_PORT }}" - VADDY_VERIFICATION_CODE: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" - VADDY_CRAWL: "${{ matrix.command5 }}" - 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 ${{ matrix.command5 }} || true - vendor/bin/codecept -vvv run acceptance --env chrome,local,vaddy VaddyCest:commit - - - name: Upload report - if: ${{ matrix.command5 != '' && success() }} - uses: actions/upload-artifact@v2 - with: - name: crawl-reports - path: codeception/_output/**/* - - - name: "VAddy: disconnect" - if: ${{ matrix.command5 }} - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh disconnect - - - name: "VAddy: scan" - if: ${{ matrix.command5 != '' && success() }} - continue-on-error: true - env: - VADDY_CRAWL: "${{ matrix.command5 }}" - working-directory: /tmp/go-vaddy-master/privatenet - run: ./vaddy_privatenet.sh scan - - - name: "EC-CUBE: stop" - if: ${{ matrix.command5 }} - continue-on-error: true - run: docker rm -f -v eccube - -# - name: VAddy private net logs -# if: ${{ always() }} -# working-directory: /tmp/go-vaddy-master/privatenet -# run: cat vaddy/*.txt From 5425f8d284fcc2dec9f8ef73439c3002c9c28d9f Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Thu, 12 Oct 2023 23:58:03 +0900 Subject: [PATCH 29/49] =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=88=EF=BC=92?= =?UTF-8?q?=E5=9B=9E=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/vaddyscan.yml | 46 ++++++++++++++++----------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index 37113ee5fe3..fcb7a4c19f1 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -8,30 +8,30 @@ jobs: fail-fast: false matrix: include: - - vaddy_project: 'ADMIN01' - command1: 'EA03ProductCest' - command2: 'EA05CustomerCest' - command3: 'EA04OrderCest:order_個別出荷済みステータス変更' - command4: 'EA04OrderCest:order_納品書の一括出力' - command5: 'EA04OrderCest:order_受注メール通知' - command6: 'EA04OrderCest:order_受注削除' - command7: 'EA04OrderCest:order_受注CSVダウンロード' - command8: 'EA04OrderCest:order_受注登録' - command9: 'EA06ContentsManagementCest' - - vaddy_project: 'ADMIN02' - command1: 'EA04OrderCest:order_受注編集' - - vaddy_project: 'FRONT' - command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' # - vaddy_project: 'ADMIN01' - # command1: 'EA06ContentsManagementCest' - # command2: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' - # - vaddy_project: 'ADMIN02' - # command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' - # command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' - # - vaddy_project: 'FRONT' - # command1: '-x admin -x plugin -x order' + # command1: 'EA03ProductCest' + # command2: 'EA05CustomerCest' + # command3: 'EA04OrderCest:order_個別出荷済みステータス変更' + # command4: 'EA04OrderCest:order_納品書の一括出力' + # command5: 'EA04OrderCest:order_受注メール通知' + # command6: 'EA04OrderCest:order_受注削除' + # command7: 'EA04OrderCest:order_受注CSVダウンロード' + # command8: 'EA04OrderCest:order_受注登録' + # command9: 'EA06ContentsManagementCest' + #- vaddy_project: 'ADMIN02' + # command1: 'EA04OrderCest:order_受注編集' + #- vaddy_project: 'FRONT' + # command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + # command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + # command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' + - vaddy_project: 'ADMIN01' + command1: 'EA06ContentsManagementCest' + command2: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' + - vaddy_project: 'ADMIN02' + command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' + command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' + - vaddy_project: 'FRONT' + command1: '-x admin -x plugin -x order' # - vaddy_project: 'FRONT' # command1: '-x admin -x front' # command2: 'EA09ShippingCest' From 2c90d2b03c4a587eff86fe01ffa6b2fd4163037e Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Fri, 13 Oct 2023 08:59:12 +0900 Subject: [PATCH 30/49] =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=883=E5=9B=9E?= =?UTF-8?q?=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/vaddyscan.yml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index fcb7a4c19f1..80f7a1ae72a 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -24,24 +24,24 @@ jobs: # command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' # command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' # command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' - - vaddy_project: 'ADMIN01' - command1: 'EA06ContentsManagementCest' - command2: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' - - vaddy_project: 'ADMIN02' - command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' - command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' - - vaddy_project: 'FRONT' - command1: '-x admin -x plugin -x order' - # - vaddy_project: 'FRONT' - # command1: '-x admin -x front' - # command2: 'EA09ShippingCest' # - vaddy_project: 'ADMIN01' - # command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' - # command2: 'EF03OrderCest:order_ログインしてカートをマージ' - # command3: 'EF03OrderCest:order_カート数量減らす' + # command1: 'EA06ContentsManagementCest' + # command2: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' # - vaddy_project: 'ADMIN02' - # command1: 'EF03OrderCest:order_カート数量増やす' - # command2: 'EF03OrderCest:order_ゲスト購入情報変更' + # command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' + # command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' + # - vaddy_project: 'FRONT' + # command1: '-x admin -x plugin -x order' + - vaddy_project: 'FRONT' + command1: '-x admin -x front' + command2: 'EA09ShippingCest' + - vaddy_project: 'ADMIN01' + command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' + command2: 'EF03OrderCest:order_ログインしてカートをマージ' + command3: 'EF03OrderCest:order_カート数量減らす' + - vaddy_project: 'ADMIN02' + command1: 'EF03OrderCest:order_カート数量増やす' + command2: 'EF03OrderCest:order_ゲスト購入情報変更' # - vaddy_project: 'FRONT' # command1: 'EA08SysteminfoCest' services: From 66c30d51e014be8e94bed78dc193e7bc83a98b04 Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Fri, 13 Oct 2023 17:42:35 +0900 Subject: [PATCH 31/49] =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=884=E5=9B=9E?= =?UTF-8?q?=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/vaddyscan.yml | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index 80f7a1ae72a..6ff0c95635b 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -32,18 +32,30 @@ jobs: # command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' # - vaddy_project: 'FRONT' # command1: '-x admin -x plugin -x order' + # - vaddy_project: 'FRONT' + # command1: '-x admin -x front' + # command2: 'EA09ShippingCest' + # - vaddy_project: 'ADMIN01' + # command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' + # command2: 'EF03OrderCest:order_ログインしてカートをマージ' + # command3: 'EF03OrderCest:order_カート数量減らす' + #- vaddy_project: 'ADMIN02' + # command1: 'EF03OrderCest:order_カート数量増やす' + # command2: 'EF03OrderCest:order_ゲスト購入情報変更' + # - vaddy_project: 'FRONT' + # command1: '-x admin -x front' + # command2: 'EA09ShippingCest' + # - vaddy_project: 'ADMIN01' + # command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' + # command2: 'EF03OrderCest:order_ログインしてカートをマージ' + # command3: 'EF03OrderCest:order_カート数量減らす' + # - vaddy_project: 'ADMIN02' + # command1: 'EF03OrderCest:order_カート数量増やす' + # command2: 'EF03OrderCest:order_ゲスト購入情報変更' - vaddy_project: 'FRONT' - command1: '-x admin -x front' - command2: 'EA09ShippingCest' - - vaddy_project: 'ADMIN01' - command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' - command2: 'EF03OrderCest:order_ログインしてカートをマージ' - command3: 'EF03OrderCest:order_カート数量減らす' + command1: 'EA08SysteminfoCest' - vaddy_project: 'ADMIN02' - command1: 'EF03OrderCest:order_カート数量増やす' - command2: 'EF03OrderCest:order_ゲスト購入情報変更' - # - vaddy_project: 'FRONT' - # command1: 'EA08SysteminfoCest' + command1: 'EF03OrderCest:order_ゲスト購入' services: postgres: image: postgres:14 From 6b272b2f3031c5c1d9870cac794ef07e3f72b2b5 Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Mon, 16 Oct 2023 15:50:25 +0900 Subject: [PATCH 32/49] =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=88=E6=BC=8F?= =?UTF-8?q?=E3=82=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/vaddyscan.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index 6ff0c95635b..f1cfcb7fd9a 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -18,8 +18,8 @@ jobs: # command7: 'EA04OrderCest:order_受注CSVダウンロード' # command8: 'EA04OrderCest:order_受注登録' # command9: 'EA06ContentsManagementCest' - #- vaddy_project: 'ADMIN02' - # command1: 'EA04OrderCest:order_受注編集' + - vaddy_project: 'ADMIN02' + command1: 'EA04OrderCest:order_受注編集' #- vaddy_project: 'FRONT' # command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' # command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' From 6dce40cfab6c9aa7aa54800448c6402fa649028a Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Mon, 23 Oct 2023 09:11:14 +0900 Subject: [PATCH 33/49] =?UTF-8?q?=E8=BF=BD=E5=8A=A0=E3=81=95=E3=82=8C?= =?UTF-8?q?=E3=81=9FVAddy=E4=BB=A5=E5=A4=96=E3=81=AE=E3=83=86=E3=82=B9?= =?UTF-8?q?=E3=83=88=E3=82=92=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/e2e-test-throttling.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .github/workflows/e2e-test-throttling.yml diff --git a/.github/workflows/e2e-test-throttling.yml b/.github/workflows/e2e-test-throttling.yml deleted file mode 100644 index e69de29bb2d..00000000000 From 64878d334a75149d5cc45d5e13795eb7420f0df8 Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Mon, 23 Oct 2023 09:13:22 +0900 Subject: [PATCH 34/49] =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=88=E3=81=AE?= =?UTF-8?q?=E5=AE=9F=E8=A1=8C1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/vaddyscan.yml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index f1cfcb7fd9a..e8e0be80b9c 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -18,8 +18,8 @@ jobs: # command7: 'EA04OrderCest:order_受注CSVダウンロード' # command8: 'EA04OrderCest:order_受注登録' # command9: 'EA06ContentsManagementCest' - - vaddy_project: 'ADMIN02' - command1: 'EA04OrderCest:order_受注編集' + # - vaddy_project: 'ADMIN02' + # command1: 'EA04OrderCest:order_受注編集' #- vaddy_project: 'FRONT' # command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' # command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' @@ -45,17 +45,17 @@ jobs: # - vaddy_project: 'FRONT' # command1: '-x admin -x front' # command2: 'EA09ShippingCest' - # - vaddy_project: 'ADMIN01' - # command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' - # command2: 'EF03OrderCest:order_ログインしてカートをマージ' - # command3: 'EF03OrderCest:order_カート数量減らす' + - vaddy_project: 'ADMIN01' + command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' + command2: 'EF03OrderCest:order_ログインしてカートをマージ' + command3: 'EF03OrderCest:order_カート数量減らす' + - vaddy_project: 'ADMIN02' + command1: 'EF03OrderCest:order_カート数量増やす' + command2: 'EF03OrderCest:order_ゲスト購入情報変更' + - vaddy_project: 'FRONT' + command1: 'EA08SysteminfoCest' # - vaddy_project: 'ADMIN02' - # command1: 'EF03OrderCest:order_カート数量増やす' - # command2: 'EF03OrderCest:order_ゲスト購入情報変更' - - vaddy_project: 'FRONT' - command1: 'EA08SysteminfoCest' - - vaddy_project: 'ADMIN02' - command1: 'EF03OrderCest:order_ゲスト購入' + # command1: 'EF03OrderCest:order_ゲスト購入' services: postgres: image: postgres:14 @@ -84,7 +84,7 @@ jobs: vaddy-auth-key: "${{ secrets.VADDY_AUTH_KEY }}" - name: "Scan 1" - if: ${{ matrix.command2 != '' }} + if: ${{ matrix.command1 != '' }} uses: ./.github/workflows/vaddy/scan with: command: "${{ matrix.command1 }}" From d2b5f0fa9ad074dbc44cd5ba2e5aaacd24eebd93 Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Mon, 23 Oct 2023 15:02:49 +0900 Subject: [PATCH 35/49] =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=88=E3=81=AE?= =?UTF-8?q?=E5=AE=9F=E8=A1=8C2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/vaddyscan.yml | 50 ++++++++++++++++----------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index e8e0be80b9c..a68980a8778 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -8,22 +8,22 @@ jobs: fail-fast: false matrix: include: - # - vaddy_project: 'ADMIN01' - # command1: 'EA03ProductCest' - # command2: 'EA05CustomerCest' - # command3: 'EA04OrderCest:order_個別出荷済みステータス変更' - # command4: 'EA04OrderCest:order_納品書の一括出力' - # command5: 'EA04OrderCest:order_受注メール通知' - # command6: 'EA04OrderCest:order_受注削除' - # command7: 'EA04OrderCest:order_受注CSVダウンロード' - # command8: 'EA04OrderCest:order_受注登録' - # command9: 'EA06ContentsManagementCest' - # - vaddy_project: 'ADMIN02' - # command1: 'EA04OrderCest:order_受注編集' - #- vaddy_project: 'FRONT' - # command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - # command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - # command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' + - vaddy_project: 'ADMIN01' + command1: 'EA03ProductCest' + command2: 'EA05CustomerCest' + command3: 'EA04OrderCest:order_個別出荷済みステータス変更' + command4: 'EA04OrderCest:order_納品書の一括出力' + command5: 'EA04OrderCest:order_受注メール通知' + command6: 'EA04OrderCest:order_受注削除' + command7: 'EA04OrderCest:order_受注CSVダウンロード' + command8: 'EA04OrderCest:order_受注登録' + command9: 'EA06ContentsManagementCest' + - vaddy_project: 'ADMIN02' + command1: 'EA04OrderCest:order_受注編集' + - vaddy_project: 'FRONT' + command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' # - vaddy_project: 'ADMIN01' # command1: 'EA06ContentsManagementCest' # command2: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' @@ -45,15 +45,15 @@ jobs: # - vaddy_project: 'FRONT' # command1: '-x admin -x front' # command2: 'EA09ShippingCest' - - vaddy_project: 'ADMIN01' - command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' - command2: 'EF03OrderCest:order_ログインしてカートをマージ' - command3: 'EF03OrderCest:order_カート数量減らす' - - vaddy_project: 'ADMIN02' - command1: 'EF03OrderCest:order_カート数量増やす' - command2: 'EF03OrderCest:order_ゲスト購入情報変更' - - vaddy_project: 'FRONT' - command1: 'EA08SysteminfoCest' + # - vaddy_project: 'ADMIN01' + # command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' + # command2: 'EF03OrderCest:order_ログインしてカートをマージ' + # command3: 'EF03OrderCest:order_カート数量減らす' + # - vaddy_project: 'ADMIN02' + # command1: 'EF03OrderCest:order_カート数量増やす' + # command2: 'EF03OrderCest:order_ゲスト購入情報変更' + # - vaddy_project: 'FRONT' + # command1: 'EA08SysteminfoCest' # - vaddy_project: 'ADMIN02' # command1: 'EF03OrderCest:order_ゲスト購入' services: From a54750ba47602c9e4b8f07430922b6bbc81d98f5 Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Tue, 24 Oct 2023 02:24:25 +0900 Subject: [PATCH 36/49] =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=88=E3=81=AE?= =?UTF-8?q?=E5=AE=9F=E8=A1=8C3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/vaddyscan.yml | 43 ++++++++++++++++----------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index a68980a8778..1065a1a1016 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -8,30 +8,29 @@ jobs: fail-fast: false matrix: include: - - vaddy_project: 'ADMIN01' - command1: 'EA03ProductCest' - command2: 'EA05CustomerCest' - command3: 'EA04OrderCest:order_個別出荷済みステータス変更' - command4: 'EA04OrderCest:order_納品書の一括出力' - command5: 'EA04OrderCest:order_受注メール通知' - command6: 'EA04OrderCest:order_受注削除' - command7: 'EA04OrderCest:order_受注CSVダウンロード' - command8: 'EA04OrderCest:order_受注登録' - command9: 'EA06ContentsManagementCest' - - vaddy_project: 'ADMIN02' - command1: 'EA04OrderCest:order_受注編集' - - vaddy_project: 'FRONT' - command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' # - vaddy_project: 'ADMIN01' - # command1: 'EA06ContentsManagementCest' - # command2: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' + # command1: 'EA03ProductCest' + # command2: 'EA05CustomerCest' + # command3: 'EA04OrderCest:order_個別出荷済みステータス変更' + # command4: 'EA04OrderCest:order_納品書の一括出力' + # command5: 'EA04OrderCest:order_受注メール通知' + # command6: 'EA04OrderCest:order_受注削除' + # command7: 'EA04OrderCest:order_受注CSVダウンロード' + # command8: 'EA04OrderCest:order_受注登録' + # command9: 'EA06ContentsManagementCest' # - vaddy_project: 'ADMIN02' - # command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' - # command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' - # - vaddy_project: 'FRONT' - # command1: '-x admin -x plugin -x order' + # command1: 'EA04OrderCest:order_受注編集' + #- vaddy_project: 'FRONT' + # command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + # command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + # command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' + - vaddy_project: 'ADMIN01' + command1: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' + - vaddy_project: 'ADMIN02' + command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' + command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' + - vaddy_project: 'FRONT' + command1: '-x admin -x plugin -x order' # - vaddy_project: 'FRONT' # command1: '-x admin -x front' # command2: 'EA09ShippingCest' From ca3fca89c59e231ece59264848e8d4ee665eebbf Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Tue, 24 Oct 2023 11:00:12 +0900 Subject: [PATCH 37/49] =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=88=E3=81=AE?= =?UTF-8?q?=E5=AE=9F=E8=A1=8C4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/vaddyscan.yml | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index 1065a1a1016..10eba87ffcc 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -18,22 +18,19 @@ jobs: # command7: 'EA04OrderCest:order_受注CSVダウンロード' # command8: 'EA04OrderCest:order_受注登録' # command9: 'EA06ContentsManagementCest' - # - vaddy_project: 'ADMIN02' - # command1: 'EA04OrderCest:order_受注編集' + - vaddy_project: 'ADMIN02' + command1: 'EA04OrderCest:order_受注編集' #- vaddy_project: 'FRONT' # command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' # command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' # command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' - - vaddy_project: 'ADMIN01' - command1: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' - - vaddy_project: 'ADMIN02' - command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' - command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' - - vaddy_project: 'FRONT' - command1: '-x admin -x plugin -x order' + # - vaddy_project: 'ADMIN01' + # command1: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' + # - vaddy_project: 'ADMIN02' + # command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' + # command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' # - vaddy_project: 'FRONT' - # command1: '-x admin -x front' - # command2: 'EA09ShippingCest' + # command1: '-x admin -x plugin -x order' # - vaddy_project: 'ADMIN01' # command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' # command2: 'EF03OrderCest:order_ログインしてカートをマージ' @@ -41,9 +38,9 @@ jobs: #- vaddy_project: 'ADMIN02' # command1: 'EF03OrderCest:order_カート数量増やす' # command2: 'EF03OrderCest:order_ゲスト購入情報変更' - # - vaddy_project: 'FRONT' - # command1: '-x admin -x front' - # command2: 'EA09ShippingCest' + - vaddy_project: 'FRONT' + command1: '-x admin -x front' + command2: 'EA09ShippingCest' # - vaddy_project: 'ADMIN01' # command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' # command2: 'EF03OrderCest:order_ログインしてカートをマージ' From e71c215c1075a48ea37a617d1d65e18b4d7bc155 Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Tue, 24 Oct 2023 17:50:34 +0900 Subject: [PATCH 38/49] =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=88=E3=81=AE?= =?UTF-8?q?=E5=AE=9F=E8=A1=8C5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/vaddyscan.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index 10eba87ffcc..e9d65a09714 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -18,12 +18,12 @@ jobs: # command7: 'EA04OrderCest:order_受注CSVダウンロード' # command8: 'EA04OrderCest:order_受注登録' # command9: 'EA06ContentsManagementCest' - - vaddy_project: 'ADMIN02' - command1: 'EA04OrderCest:order_受注編集' - #- vaddy_project: 'FRONT' - # command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - # command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - # command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' + # - vaddy_project: 'ADMIN02' + # command1: 'EA04OrderCest:order_受注編集' + - vaddy_project: 'ADMIN01' + command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' # - vaddy_project: 'ADMIN01' # command1: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' # - vaddy_project: 'ADMIN02' @@ -35,12 +35,12 @@ jobs: # command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' # command2: 'EF03OrderCest:order_ログインしてカートをマージ' # command3: 'EF03OrderCest:order_カート数量減らす' - #- vaddy_project: 'ADMIN02' - # command1: 'EF03OrderCest:order_カート数量増やす' - # command2: 'EF03OrderCest:order_ゲスト購入情報変更' - - vaddy_project: 'FRONT' - command1: '-x admin -x front' - command2: 'EA09ShippingCest' + # - vaddy_project: 'ADMIN02' + # command1: 'EF03OrderCest:order_カート数量増やす' + # command2: 'EF03OrderCest:order_ゲスト購入情報変更' + # - vaddy_project: 'FRONT' + # command1: '-x admin -x front' + # command2: 'EA09ShippingCest' # - vaddy_project: 'ADMIN01' # command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' # command2: 'EF03OrderCest:order_ログインしてカートをマージ' From c9d521e1f53882e567dd6025297486ad5a310cee Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Tue, 24 Oct 2023 18:39:40 +0900 Subject: [PATCH 39/49] =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=88=E3=81=AE?= =?UTF-8?q?=E5=AE=9F=E8=A1=8C6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/vaddyscan.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index e9d65a09714..8ddb90c6227 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -20,6 +20,7 @@ jobs: # command9: 'EA06ContentsManagementCest' # - vaddy_project: 'ADMIN02' # command1: 'EA04OrderCest:order_受注編集' + #        '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' - vaddy_project: 'ADMIN01' command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' @@ -50,8 +51,8 @@ jobs: # command2: 'EF03OrderCest:order_ゲスト購入情報変更' # - vaddy_project: 'FRONT' # command1: 'EA08SysteminfoCest' - # - vaddy_project: 'ADMIN02' - # command1: 'EF03OrderCest:order_ゲスト購入' + - vaddy_project: 'ADMIN01' + command1: 'EF03OrderCest:order_ゲスト購入' services: postgres: image: postgres:14 From 30fd20ca5d21115d224aa7968b5600c0c1cc9b1c Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Thu, 26 Oct 2023 15:15:15 +0900 Subject: [PATCH 40/49] =?UTF-8?q?=E5=86=8D=E3=80=85Vaddy=E3=81=AE=E5=AE=9F?= =?UTF-8?q?=E8=A1=8C1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/vaddy/prepare/action.yml | 2 +- .github/workflows/vaddyscan.yml | 41 +++++++++++----------- 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/.github/workflows/vaddy/prepare/action.yml b/.github/workflows/vaddy/prepare/action.yml index 65adc3c5b55..1c6752edbee 100644 --- a/.github/workflows/vaddy/prepare/action.yml +++ b/.github/workflows/vaddy/prepare/action.yml @@ -157,5 +157,5 @@ runs: prefs: download.default_directory: '%PWD%/codeception/_support/_downloads' MailCatcher: - url: 'mailcatcher' + url: '172.17.0.1' port: 1080" > codeception/_envs/local.yml diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index 8ddb90c6227..3a2d5e10e6e 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -8,28 +8,27 @@ jobs: fail-fast: false matrix: include: - # - vaddy_project: 'ADMIN01' - # command1: 'EA03ProductCest' - # command2: 'EA05CustomerCest' - # command3: 'EA04OrderCest:order_個別出荷済みステータス変更' - # command4: 'EA04OrderCest:order_納品書の一括出力' - # command5: 'EA04OrderCest:order_受注メール通知' - # command6: 'EA04OrderCest:order_受注削除' - # command7: 'EA04OrderCest:order_受注CSVダウンロード' - # command8: 'EA04OrderCest:order_受注登録' - # command9: 'EA06ContentsManagementCest' - # - vaddy_project: 'ADMIN02' - # command1: 'EA04OrderCest:order_受注編集' - #        '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' - - vaddy_project: 'ADMIN01' - command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' + - vaddy_project: 'ADMIN01' + command1: 'EA03ProductCest' + command2: 'EA05CustomerCest' + command3: 'EA04OrderCest:order_個別出荷済みステータス変更' + command4: 'EA04OrderCest:order_納品書の一括出力' + command5: 'EA04OrderCest:order_受注メール通知' + command6: 'EA04OrderCest:order_受注削除' + command7: 'EA04OrderCest:order_受注CSVダウンロード' + command8: 'EA04OrderCest:order_受注登録' + command9: 'EA06ContentsManagementCest' + - vaddy_project: 'ADMIN02' + command1: 'EA04OrderCest:order_受注編集' + - vaddy_project: 'FRONT' + command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' # - vaddy_project: 'ADMIN01' # command1: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' # - vaddy_project: 'ADMIN02' - # command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' - # command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' + # command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' + # command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' # - vaddy_project: 'FRONT' # command1: '-x admin -x plugin -x order' # - vaddy_project: 'ADMIN01' @@ -51,8 +50,8 @@ jobs: # command2: 'EF03OrderCest:order_ゲスト購入情報変更' # - vaddy_project: 'FRONT' # command1: 'EA08SysteminfoCest' - - vaddy_project: 'ADMIN01' - command1: 'EF03OrderCest:order_ゲスト購入' + # - vaddy_project: 'ADMIN01' + # command1: 'EF03OrderCest:order_ゲスト購入' services: postgres: image: postgres:14 From ae5fc2e8cd0f6dbb13bd145305591256867e6ea3 Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Fri, 27 Oct 2023 00:57:13 +0900 Subject: [PATCH 41/49] =?UTF-8?q?=E5=86=8D=E3=80=85Vaddy=E3=81=AE=E5=AE=9F?= =?UTF-8?q?=E8=A1=8C2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/vaddyscan.yml | 46 ++++++++++++++++----------------- 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index 3a2d5e10e6e..de99e40bb0d 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -8,33 +8,31 @@ jobs: fail-fast: false matrix: include: +# - vaddy_project: 'ADMIN01' +# command1: 'EA03ProductCest' +# command2: 'EA05CustomerCest' +# command3: 'EA04OrderCest:order_個別出荷済みステータス変更' +# command4: 'EA04OrderCest:order_納品書の一括出力' +# command5: 'EA04OrderCest:order_受注メール通知' +# command6: 'EA04OrderCest:order_受注削除' +# command7: 'EA04OrderCest:order_受注CSVダウンロード' +# command8: 'EA04OrderCest:order_受注登録' +# command9: 'EA06ContentsManagementCest' +# - vaddy_project: 'ADMIN02' +# command1: 'EA04OrderCest:order_受注編集' +# - vaddy_project: 'FRONT' +# command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' +# command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' +# command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' - vaddy_project: 'ADMIN01' - command1: 'EA03ProductCest' - command2: 'EA05CustomerCest' - command3: 'EA04OrderCest:order_個別出荷済みステータス変更' - command4: 'EA04OrderCest:order_納品書の一括出力' - command5: 'EA04OrderCest:order_受注メール通知' - command6: 'EA04OrderCest:order_受注削除' - command7: 'EA04OrderCest:order_受注CSVダウンロード' - command8: 'EA04OrderCest:order_受注登録' - command9: 'EA06ContentsManagementCest' + command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' + command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' - vaddy_project: 'ADMIN02' - command1: 'EA04OrderCest:order_受注編集' + command1: '-x admin -x plugin -x order' - vaddy_project: 'FRONT' - command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' - # - vaddy_project: 'ADMIN01' - # command1: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' - # - vaddy_project: 'ADMIN02' - # command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' - # command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' - # - vaddy_project: 'FRONT' - # command1: '-x admin -x plugin -x order' - # - vaddy_project: 'ADMIN01' - # command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' - # command2: 'EF03OrderCest:order_ログインしてカートをマージ' - # command3: 'EF03OrderCest:order_カート数量減らす' + command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' + command2: 'EF03OrderCest:order_ログインしてカートをマージ' + command3: 'EF03OrderCest:order_カート数量減らす' # - vaddy_project: 'ADMIN02' # command1: 'EF03OrderCest:order_カート数量増やす' # command2: 'EF03OrderCest:order_ゲスト購入情報変更' From b0cbb7a3aefa43114a7b3cb395e91e6043c5a418 Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Fri, 27 Oct 2023 02:24:46 +0900 Subject: [PATCH 42/49] =?UTF-8?q?=E5=86=8D=E3=80=85Vaddy=E3=81=AE=E5=AE=9F?= =?UTF-8?q?=E8=A1=8C3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/vaddyscan.yml | 46 ++++++++++++++++----------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index de99e40bb0d..9742954dd85 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -24,32 +24,32 @@ jobs: # command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' # command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' # command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' +# - vaddy_project: 'ADMIN01' +# command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' +# command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' +# - vaddy_project: 'ADMIN02' +# command1: '-x admin -x plugin -x order' +# - vaddy_project: 'FRONT' +# command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' +# command2: 'EF03OrderCest:order_ログインしてカートをマージ' +# command3: 'EF03OrderCest:order_カート数量減らす' +# - vaddy_project: 'ADMIN01' +# command1: 'EF03OrderCest:order_カート数量増やす' +# command2: 'EF03OrderCest:order_ゲスト購入情報変更' +# - vaddy_project: 'ADMIN02' +# command1: '-x admin -x front' +# command2: 'EA09ShippingCest' +# - vaddy_project: 'FRONT' +# command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' +# command2: 'EF03OrderCest:order_ログインしてカートをマージ' +# command3: 'EF03OrderCest:order_カート数量減らす' - vaddy_project: 'ADMIN01' - command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' - command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' + command1: 'EF03OrderCest:order_カート数量増やす' + command2: 'EF03OrderCest:order_ゲスト購入情報変更' - vaddy_project: 'ADMIN02' - command1: '-x admin -x plugin -x order' + command1: 'EA08SysteminfoCest' - vaddy_project: 'FRONT' - command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' - command2: 'EF03OrderCest:order_ログインしてカートをマージ' - command3: 'EF03OrderCest:order_カート数量減らす' - # - vaddy_project: 'ADMIN02' - # command1: 'EF03OrderCest:order_カート数量増やす' - # command2: 'EF03OrderCest:order_ゲスト購入情報変更' - # - vaddy_project: 'FRONT' - # command1: '-x admin -x front' - # command2: 'EA09ShippingCest' - # - vaddy_project: 'ADMIN01' - # command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' - # command2: 'EF03OrderCest:order_ログインしてカートをマージ' - # command3: 'EF03OrderCest:order_カート数量減らす' - # - vaddy_project: 'ADMIN02' - # command1: 'EF03OrderCest:order_カート数量増やす' - # command2: 'EF03OrderCest:order_ゲスト購入情報変更' - # - vaddy_project: 'FRONT' - # command1: 'EA08SysteminfoCest' - # - vaddy_project: 'ADMIN01' - # command1: 'EF03OrderCest:order_ゲスト購入' + command1: 'EF03OrderCest:order_ゲスト購入' services: postgres: image: postgres:14 From 16b105727e8e39ab35fc96c31e2d52485976fd0b Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Fri, 27 Oct 2023 14:01:52 +0900 Subject: [PATCH 43/49] =?UTF-8?q?=E5=86=8D=E3=80=85Vaddy=E3=81=AE=E5=AE=9F?= =?UTF-8?q?=E8=A1=8C4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/vaddyscan.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index 9742954dd85..8e7e5e917f4 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -20,10 +20,10 @@ jobs: # command9: 'EA06ContentsManagementCest' # - vaddy_project: 'ADMIN02' # command1: 'EA04OrderCest:order_受注編集' -# - vaddy_project: 'FRONT' + - vaddy_project: 'FRONT' # command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' # command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' -# command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' + command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' # - vaddy_project: 'ADMIN01' # command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' # command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' @@ -43,13 +43,13 @@ jobs: # command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' # command2: 'EF03OrderCest:order_ログインしてカートをマージ' # command3: 'EF03OrderCest:order_カート数量減らす' - - vaddy_project: 'ADMIN01' - command1: 'EF03OrderCest:order_カート数量増やす' - command2: 'EF03OrderCest:order_ゲスト購入情報変更' - - vaddy_project: 'ADMIN02' - command1: 'EA08SysteminfoCest' - - vaddy_project: 'FRONT' - command1: 'EF03OrderCest:order_ゲスト購入' +# - vaddy_project: 'ADMIN01' +# command1: 'EF03OrderCest:order_カート数量増やす' +# command2: 'EF03OrderCest:order_ゲスト購入情報変更' +# - vaddy_project: 'ADMIN02' +# command1: 'EA08SysteminfoCest' +# - vaddy_project: 'FRONT' +# command1: 'EF03OrderCest:order_ゲスト購入' services: postgres: image: postgres:14 From fccabdac20a410780d3178dd6684860dc1f49373 Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Mon, 30 Oct 2023 11:23:59 +0900 Subject: [PATCH 44/49] =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=88=E3=82=92?= =?UTF-8?q?=E5=88=86=E5=89=B2=E3=81=97=E3=81=A6=E5=AE=9F=E6=96=BD=E3=81=99?= =?UTF-8?q?=E3=82=8B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/vaddyscan.yml | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index 8e7e5e917f4..4cd03be8d4f 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -20,14 +20,14 @@ jobs: # command9: 'EA06ContentsManagementCest' # - vaddy_project: 'ADMIN02' # command1: 'EA04OrderCest:order_受注編集' - - vaddy_project: 'FRONT' +# - vaddy_project: 'FRONT' # command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' # command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' - command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' +# command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' # - vaddy_project: 'ADMIN01' # command1: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' # command2: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' -# - vaddy_project: 'ADMIN02' +# - vaddy_project: 'ADMIN02' // 時間オーバー # command1: '-x admin -x plugin -x order' # - vaddy_project: 'FRONT' # command1: 'EF03OrderCest:order_ログインユーザ購入複数配送' @@ -50,6 +50,27 @@ jobs: # command1: 'EA08SysteminfoCest' # - vaddy_project: 'FRONT' # command1: 'EF03OrderCest:order_ゲスト購入' + - vaddy_project: 'ADMIN01' + command1: 'EF01TopCest:topページ_初期表示' + command2: 'EF02ProductCest:product_商品一覧ソート' + command3: 'EF02ProductCest:product_商品詳細カート4' + - vaddy_project: 'ADMIN02' + command1: 'EF04CustomerCest:customer_会員登録正常' + command2: 'EF04CustomerCest:customer_会員登録利用規約' + - vaddy_project: 'FRONT' + command1: 'EF05MypageCest:mypage_ご注文履歴詳細' + command2: 'EF05MypageCest:mypage_お気に入り一覧' + command3: 'EF05MypageCest:mypage_会員情報編集' + command4: 'EF05MypageCest:mypage_お届け先編集作成変更' + command5: 'EF05MypageCest:mypage_お届け先編集削除' + command6: 'EF05MypageCest:mypage_退会手続き未実施' +# - vaddy_project: 'ADMIN01' +# command1: 'EF06OtherCest:other_パスワード再発行' +# command2: 'EF06OtherCest:other_ログアウト' +# command3: 'EF06OtherCest:other_当サイトについて' +# command4: 'EF06OtherCest:other_プライバシーポリシー' +# command5: 'EF06OtherCest:other_特定商取引法に基づく表記' +# command6: 'EF06OtherCest:other_お問い合わせ1' services: postgres: image: postgres:14 From 13ebabe9175ecc0cc5f39e3acb986ea35e85e3db Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Mon, 30 Oct 2023 13:07:06 +0900 Subject: [PATCH 45/49] =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=88=E3=82=92?= =?UTF-8?q?=E5=88=86=E5=89=B2=E3=81=97=E3=81=A6=E5=AE=9F=E6=96=BD=E3=81=99?= =?UTF-8?q?=E3=82=8B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/vaddyscan.yml | 40 ++++++++++++++++----------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/vaddyscan.yml b/.github/workflows/vaddyscan.yml index 4cd03be8d4f..a722c4d4a75 100644 --- a/.github/workflows/vaddyscan.yml +++ b/.github/workflows/vaddyscan.yml @@ -50,27 +50,27 @@ jobs: # command1: 'EA08SysteminfoCest' # - vaddy_project: 'FRONT' # command1: 'EF03OrderCest:order_ゲスト購入' - - vaddy_project: 'ADMIN01' - command1: 'EF01TopCest:topページ_初期表示' - command2: 'EF02ProductCest:product_商品一覧ソート' - command3: 'EF02ProductCest:product_商品詳細カート4' - - vaddy_project: 'ADMIN02' - command1: 'EF04CustomerCest:customer_会員登録正常' - command2: 'EF04CustomerCest:customer_会員登録利用規約' - - vaddy_project: 'FRONT' - command1: 'EF05MypageCest:mypage_ご注文履歴詳細' - command2: 'EF05MypageCest:mypage_お気に入り一覧' - command3: 'EF05MypageCest:mypage_会員情報編集' - command4: 'EF05MypageCest:mypage_お届け先編集作成変更' - command5: 'EF05MypageCest:mypage_お届け先編集削除' - command6: 'EF05MypageCest:mypage_退会手続き未実施' # - vaddy_project: 'ADMIN01' -# command1: 'EF06OtherCest:other_パスワード再発行' -# command2: 'EF06OtherCest:other_ログアウト' -# command3: 'EF06OtherCest:other_当サイトについて' -# command4: 'EF06OtherCest:other_プライバシーポリシー' -# command5: 'EF06OtherCest:other_特定商取引法に基づく表記' -# command6: 'EF06OtherCest:other_お問い合わせ1' +# command1: 'EF01TopCest:topページ_初期表示' +# command2: 'EF02ProductCest:product_商品一覧ソート' +# command3: 'EF02ProductCest:product_商品詳細カート4' +# - vaddy_project: 'ADMIN02' +# command1: 'EF04CustomerCest:customer_会員登録正常' +# command2: 'EF04CustomerCest:customer_会員登録利用規約' +# - vaddy_project: 'FRONT' +# command1: 'EF05MypageCest:mypage_ご注文履歴詳細' +# command2: 'EF05MypageCest:mypage_お気に入り一覧' +# command3: 'EF05MypageCest:mypage_会員情報編集' +# command4: 'EF05MypageCest:mypage_お届け先編集作成変更' +# command5: 'EF05MypageCest:mypage_お届け先編集削除' +# command6: 'EF05MypageCest:mypage_退会手続き未実施' + - vaddy_project: 'ADMIN01' + command1: 'EF06OtherCest:other_パスワード再発行' + command2: 'EF06OtherCest:other_ログアウト' + command3: 'EF06OtherCest:other_当サイトについて' + command4: 'EF06OtherCest:other_プライバシーポリシー' + command5: 'EF06OtherCest:other_特定商取引法に基づく表記' + command6: 'EF06OtherCest:other_お問い合わせ1' services: postgres: image: postgres:14 From 1c531d6c05e9e53d07b7239489fb12067a7be913 Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Tue, 12 Dec 2023 11:05:12 +0900 Subject: [PATCH 46/49] =?UTF-8?q?add:=E5=89=8A=E9=99=A4=E3=81=97=E3=81=9F?= =?UTF-8?q?=E3=83=86=E3=82=B9=E3=83=88=E3=82=92=E5=BE=A9=E6=B4=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/coverage.yml | 236 +++++++++ .github/workflows/deny-test.yml | 126 +++++ .github/workflows/deploy.yml | 139 +++++ .github/workflows/dockerbuild.yml | 145 ++++++ .github/workflows/e2e-test-throttling.yml | 154 ++++++ .github/workflows/e2e-test.yml | 159 ++++++ .github/workflows/penetration-test.yml | 87 ++++ .github/workflows/phpstan.yml | 35 ++ .github/workflows/plugin-test.yml | 596 ++++++++++++++++++++++ .github/workflows/unit-test.yml | 122 +++++ .github/workflows/vaddy-1.yml | 498 ++++++++++++++++++ .github/workflows/vaddy-2.yml | 499 ++++++++++++++++++ 12 files changed, 2796 insertions(+) create mode 100644 .github/workflows/coverage.yml create mode 100644 .github/workflows/deny-test.yml create mode 100644 .github/workflows/deploy.yml create mode 100644 .github/workflows/dockerbuild.yml create mode 100644 .github/workflows/e2e-test-throttling.yml create mode 100644 .github/workflows/e2e-test.yml create mode 100644 .github/workflows/penetration-test.yml create mode 100644 .github/workflows/phpstan.yml create mode 100644 .github/workflows/plugin-test.yml create mode 100644 .github/workflows/unit-test.yml create mode 100644 .github/workflows/vaddy-1.yml create mode 100644 .github/workflows/vaddy-2.yml diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml new file mode 100644 index 00000000000..ce5b14fc62f --- /dev/null +++ b/.github/workflows/coverage.yml @@ -0,0 +1,236 @@ +name: Coverage +on: + push: + branches: + - '*' + tags: + - '*' + paths: + - '**' + - '!*.md' + pull_request: + paths: + - '**' + - '!*.md' +jobs: + phpunit: + name: PHPUnit + runs-on: ubuntu-22.04 + strategy: + fail-fast: false + matrix: + php: [ 8.1 ] + db: [ pgsql ] + include: + - db: pgsql + database_url: postgres://postgres:password@127.0.0.1:5432/eccube_db + database_server_version: 14 + services: + postgres: + image: postgres:14 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: password + ports: + - 5432:5432 + # needed because the postgres container does not provide a healthcheck + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Setup PHP + uses: nanasess/setup-php@master + with: + php-version: ${{ matrix.php }} + + - name: Setup pcov + run: | + sudo apt-fast install -y php8.1-pcov + sudo phpenmod -s cli pcov + + - name: Initialize Composer + uses: ./.github/actions/composer + + - name: Setup EC-CUBE + env: + APP_ENV: 'test' + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + run: | + bin/console doctrine:database:create + bin/console doctrine:schema:create + bin/console eccube:fixtures:load + + - name: PHPUnit + env: + APP_ENV: 'test' + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + MAILER_URL: 'smtp://127.0.0.1:1025' + continue-on-error: true + run: php -dpcov.enabled=1 vendor/bin/phpunit --exclude-group cache-clear,cache-clear-install,update-schema-doctrine --coverage-clover=coverage1.xml + - name: Upload report + if: success() + uses: actions/upload-artifact@v2 + with: + name: phpunit-reports + path: coverage1.xml + codeception: + name: Codeception + runs-on: ubuntu-22.04 + strategy: + fail-fast: false + matrix: + php: [ 8.1 ] + db: [ pgsql ] + group: [ admin01, admin02, admin03, front, installer ] + include: + - db: pgsql + database_url: postgres://postgres:password@127.0.0.1:5432/eccube_db + database_server_version: 14 + - 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' + services: + postgres: + image: postgres:14 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: password + ports: + - 5432:5432 + # needed because the postgres container does not provide a healthcheck + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + + mailcatcher: + image: schickling/mailcatcher + ports: + - 1080:1080 + - 1025:1025 + + steps: + - name: Checkout + uses: actions/checkout@master + + - name: Setup PHP + uses: nanasess/setup-php@master + with: + php-version: ${{ matrix.php }} + + - name: Initialize Composer + uses: ./.github/actions/composer + + - name: Setup to EC-CUBE + env: + APP_ENV: ${{ matrix.app_env }} + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + run: | + echo "APP_ENV=${APP_ENV}" > .env + bin/console doctrine:database:create --env=dev + bin/console doctrine:schema:create --env=dev + bin/console eccube:fixtures:load --env=dev + + - 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: Run package-api + run: | + if [[ ! -d ${PWD}/repos ]]; then mkdir -p ${PWD}/repos ; fi + docker run -d --rm -v ${PWD}/repos:/repos -e MOCK_REPO_DIR=/repos -p 8080:8080 eccube/mock-package-api:composer2 + cp codeception/_data/plugins/*-1.0.0.tgz repos + + - name: Setup pcov + run: | + sudo apt-fast install -y php8.1-pcov + sudo phpenmod -s cli pcov + + - name: Setup codeception + run: | + composer config --no-plugins allow-plugins.codeception/c3 true + composer require --dev codeception/c3 "2.*" + sed -i "7a include __DIR__.'/c3.php';" index.php + + - name: Start PHP Development Server + env: + APP_ENV: 'codeception' + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + MAILER_URL: 'smtp://127.0.0.1:1025' + ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' + run: php -S 127.0.0.1:8000 & + + - name: Codeception + env: + APP_ENV: ${{ matrix.app_env }} + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + MAILER_URL: 'smtp://127.0.0.1:1025' + ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' + GROUP: ${{ matrix.group }} + SYMFONY_DEPRECATIONS_HELPER: weak + continue-on-error: true + run: php -dpcov.enabled=1 vendor/bin/codecept -vvv run acceptance --env chrome,github_action -g ${GROUP} --skip-group excludeCoverage --coverage --coverage-xml + - name: Upload outputs + uses: actions/upload-artifact@v2 + with: + name: codeception-${{ matrix.group }}-evidence + path: codeception/_output/ + - name: Upload report + if: success() + uses: actions/upload-artifact@v2 + with: + name: codeception-${{ matrix.group }}-reports + path: codeception/_output/**/*.xml + - name: Upload logs + if: failure() + uses: actions/upload-artifact@v2 + with: + name: codeception-${{ matrix.group }}-logs + path: var/log/ + + upload: + name: Upload coverage reports + runs-on: ubuntu-latest + needs: [ phpunit, codeception ] + steps: + - name: Checkout + uses: actions/checkout@v2 + - uses: actions/download-artifact@v2 + with: + path: reports + - run: | + mv reports/codeception-admin01-reports/acceptance\ \(chrome,\ github_action\).remote.coverage.xml reports/acceptance.admin01.coverage.xml + mv reports/codeception-admin02-reports/acceptance\ \(chrome,\ github_action\).remote.coverage.xml reports/acceptance.admin02.coverage.xml + mv reports/codeception-admin03-reports/acceptance\ \(chrome,\ github_action\).remote.coverage.xml reports/acceptance.admin03.coverage.xml + mv reports/codeception-front-reports/acceptance\ \(chrome,\ github_action\).remote.coverage.xml reports/acceptance.front.coverage.xml + mv reports/codeception-installer-reports/acceptance\ \(chrome,\ github_action\).remote.coverage.xml reports/acceptance.installer.coverage.xml + - name: Upload unit test coverage + uses: codecov/codecov-action@v1 + with: + files: ./reports/phpunit-reports/coverage1.xml + flags: Unit + fail_ci_if_error: true + - name: Upload E2E coverage + uses: codecov/codecov-action@v1 + with: + files: ./reports/acceptance.admin01.coverage.xml,./reports/acceptance.admin02.coverage.xml,./reports/acceptance.admin03.coverage.xml,./reports/acceptance.front.coverage.xml,./reports/acceptance.installer.coverage.xml + flags: E2E + fail_ci_if_error: true diff --git a/.github/workflows/deny-test.yml b/.github/workflows/deny-test.yml new file mode 100644 index 00000000000..90a11bf6280 --- /dev/null +++ b/.github/workflows/deny-test.yml @@ -0,0 +1,126 @@ +name: Deny check for EC-CUBE +on: + push: + branches: + - '*' + tags: + - '*' + paths: + - '**' + - '!*.md' + pull_request: + paths: + - '**' + - '!*.md' +jobs: + deploy: + name: Deny check + runs-on: ubuntu-22.04 + services: + postgres: + image: postgres:14 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: password + ports: + - 5432:5432 + # needed because the postgres container does not provide a healthcheck + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + steps: + - name: Checkout + uses: actions/checkout@master + + - name: Setup PHP + uses: nanasess/setup-php@master + with: + php-version: '7.4' + + - name: Initialize Composer + uses: ./.github/actions/composer + + - name: Translate to templates + run: php bin/template_jp.php + + - name: Setup to EC-CUBE + env: + APP_ENV: 'prod' + DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db + DATABASE_SERVER_VERSION: 14 + run: | + rm -rf $GITHUB_WORKSPACE/app/Plugin/* + echo "APP_ENV=${APP_ENV}" > .env + bin/console doctrine:database:create --env=dev + bin/console doctrine:schema:create --env=dev + bin/console eccube:fixtures:load --env=dev + + - name: Install Plugins + env: + APP_ENV: 'prod' + DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db + DATABASE_SERVER_VERSION: 14 + 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" + + - name: Pre Install Plugins + env: + PGPASSWORD: 'password' + run: 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: Packaging + working-directory: ../ + run: ${{ github.event.repository.name }}/package.sh + + - name: Build Container + run: docker build -t ec-cube . + + - name: Container Run + run: | + docker run -e APP_ENV=prod -e APP_DEBUG=0 -e DATABASE_URL="sqlite:///var/eccube.db" -e DATABASE_SERVER_VERSION=3 --rm -d -p 8080:80 --name eccube ec-cube + echo -n $(docker inspect -f {{.State.Health.Status}} eccube) + until [ $(docker inspect -f {{.State.Health.Status}} eccube) != "starting" ]; do + echo -n . + sleep 10; + done; + docker inspect -f {{.State.Health.Status}} eccube + 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 -u www-data eccube bin/console eccube:install -n + 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: setup-chromedriver + uses: nanasess/setup-chromedriver@master + + - name: Prepare test + 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" + composer install --no-scripts --no-interaction --optimize-autoloader + echo "modules: + enabled: + - REST: + depends: PhpBrowser + url: 'http://127.0.0.1:8080' + config: + WebDriver: + host: '127.0.0.1' + port: 9515 + url: 'http://127.0.0.1:8080'" > codeception/_envs/local.yml + + - name: Run tests + env: + APP_ENV: 'codeception' + DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db + DATABASE_SERVER_VERSION: 14 + run: | + vendor/bin/codecept -vvv run acceptance --env chrome,local CL01DenyCest diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 00000000000..2037d58f320 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,139 @@ +name: Deploy for EC-CUBE +on: + release: + types: [ published ] +jobs: + deploy: + name: Deploy + runs-on: ubuntu-22.04 + services: + postgres: + image: postgres:14 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: password + ports: + - 5432:5432 + # needed because the postgres container does not provide a healthcheck + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + steps: + - name: Checkout + uses: actions/checkout@master + + - name: Setup PHP + uses: nanasess/setup-php@master + with: + php-version: '7.4' + + - name: Install to Composer + run: composer install --no-scripts --no-dev --no-interaction --optimize-autoloader + + - name: Translate to templates + run: php bin/template_jp.php + + - name: Setup to EC-CUBE + env: + APP_ENV: 'prod' + DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db + DATABASE_SERVER_VERSION: 14 + run: | + rm -rf $GITHUB_WORKSPACE/app/Plugin/* + echo "APP_ENV=${APP_ENV}" > .env + bin/console doctrine:database:create --env=dev + bin/console doctrine:schema:create --env=dev + bin/console eccube:fixtures:load --env=dev + + - name: Install Plugins + env: + APP_ENV: 'prod' + DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db + DATABASE_SERVER_VERSION: 14 + 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" + + - name: revert to config platform.php + run: composer config platform.php 7.4.0 + + - name: Pre Install Plugins + env: + PGPASSWORD: 'password' + run: 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: Packaging + working-directory: ../ + env: + TAG_NAME: ${{ github.event.release.tag_name }} + run: ${{ github.event.repository.name }}/package.sh + + - name: Upload binaries to release of TGZ + uses: svenstaro/upload-release-action@v1-release + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: ${{ runner.workspace }}/eccube-${{ github.event.release.tag_name }}.tar.gz + asset_name: eccube-${{ github.event.release.tag_name }}.tar.gz + tag: ${{ github.ref }} + overwrite: true + - name: Upload binaries to release of ZIP + uses: svenstaro/upload-release-action@v1-release + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: ${{ runner.workspace }}/eccube-${{ github.event.release.tag_name }}.zip + asset_name: eccube-${{ github.event.release.tag_name }}.zip + tag: ${{ github.ref }} + overwrite: true + - name: Upload binaries to release of TGZ md5 checksum + uses: svenstaro/upload-release-action@v1-release + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: ${{ runner.workspace }}/eccube-${{ github.event.release.tag_name }}.tar.gz.checksum.md5 + asset_name: eccube-${{ github.event.release.tag_name }}.tar.gz.checksum.md5 + tag: ${{ github.ref }} + overwrite: true + - name: Upload binaries to release of TGZ sha1 checksum + uses: svenstaro/upload-release-action@v1-release + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: ${{ runner.workspace }}/eccube-${{ github.event.release.tag_name }}.tar.gz.checksum.sha1 + asset_name: eccube-${{ github.event.release.tag_name }}.tar.gz.checksum.sha1 + tag: ${{ github.ref }} + overwrite: true + - name: Upload binaries to release of TGZ sha256 checksum + uses: svenstaro/upload-release-action@v1-release + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: ${{ runner.workspace }}/eccube-${{ github.event.release.tag_name }}.tar.gz.checksum.sha256 + asset_name: eccube-${{ github.event.release.tag_name }}.tar.gz.checksum.sha256 + tag: ${{ github.ref }} + overwrite: true + - name: Upload binaries to release of ZIP md5 checksum + uses: svenstaro/upload-release-action@v1-release + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: ${{ runner.workspace }}/eccube-${{ github.event.release.tag_name }}.zip.checksum.md5 + asset_name: eccube-${{ github.event.release.tag_name }}.zip.checksum.md5 + tag: ${{ github.ref }} + overwrite: true + - name: Upload binaries to release of ZIP sha1 checksum + uses: svenstaro/upload-release-action@v1-release + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: ${{ runner.workspace }}/eccube-${{ github.event.release.tag_name }}.zip.checksum.sha1 + asset_name: eccube-${{ github.event.release.tag_name }}.zip.checksum.sha1 + tag: ${{ github.ref }} + overwrite: true + - name: Upload binaries to release of ZIP sha256 checksum + uses: svenstaro/upload-release-action@v1-release + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + file: ${{ runner.workspace }}/eccube-${{ github.event.release.tag_name }}.zip.checksum.sha256 + asset_name: eccube-${{ github.event.release.tag_name }}.zip.checksum.sha256 + tag: ${{ github.ref }} + overwrite: true diff --git a/.github/workflows/dockerbuild.yml b/.github/workflows/dockerbuild.yml new file mode 100644 index 00000000000..72bd6040e25 --- /dev/null +++ b/.github/workflows/dockerbuild.yml @@ -0,0 +1,145 @@ +name: Testing dockerbuild +on: + push: + paths: + - '**' + - '!*.md' + release: + types: [ published ] +env: + REGISTRY: ghcr.io + +jobs: + dockerbuild: + name: dockerbuild + runs-on: ${{ matrix.operating-system }} + permissions: + contents: read + packages: write + strategy: + fail-fast: false + matrix: + operating-system: [ ubuntu-22.04 ] + php: [ '7.4', '8.0', '8.1' ] + db: [ pgsql ] + group: [ admin01 ] + include: + - db: pgsql + database_url: postgres://dbuser:secret@127.0.0.1:15432/eccubedb + database_server_version: 14 + - group: admin01 + app_env: 'codeception' + - php: '7.4' + tag: '7.4-apache' + - php: '8.0' + tag: '8.0-apache' + - php: '8.1' + tag: '8.1-apache' + steps: + - name: downcase REPO + run: | + echo "IMAGE_NAME=${GITHUB_REPOSITORY,,}-php" >> ${GITHUB_ENV} + - name: Checkout + uses: actions/checkout@master + ## Used when creating multi-platform images + # - name: Set up QEMU + # uses: docker/setup-qemu-action@v2 + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v2 + + - name: Setup PHP + uses: nanasess/setup-php@master + with: + php-version: ${{ matrix.php }} + + - name: Initialize Composer + uses: ./.github/actions/composer + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + # set latest tag for default branch + type=raw,value=${{ matrix.php }}-apache,prefix=,enable={{is_default_branch}} + type=ref,event=branch,prefix=${{ matrix.php }}-apache- + type=ref,event=tag,prefix=${{ matrix.php }}-apache- + type=ref,event=pr,prefix=${{ matrix.php }}-apache-pr- + + - name: Build and export to Docker + uses: docker/build-push-action@v3 + with: + context: . + load: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + build-args: TAG=${{ matrix.tag }} + + - name: Setup to EC-CUBE + env: + APP_ENV: ${{ matrix.app_env }} + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + REGISTRY: ${{ env.REGISTRY }} + IMAGE_NAME: ${{ env.IMAGE_NAME }} + TAG: ${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.version'] }} + run: | + docker compose -f docker-compose.yml -f docker-compose.pgsql.yml up -d --wait + 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 --wait + + - 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://127.0.0.1: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} + ## see https://docs.github.com/ja/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions#publishing-a-package-using-an-action + + - name: Push Docker image + uses: docker/build-push-action@v3 + if: success() + with: + context: . + push: true + # platforms: linux/amd64,linux/arm64 + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + build-args: TAG=${{ matrix.tag }} + + - 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/ diff --git a/.github/workflows/e2e-test-throttling.yml b/.github/workflows/e2e-test-throttling.yml new file mode 100644 index 00000000000..6135c1a7f0b --- /dev/null +++ b/.github/workflows/e2e-test-throttling.yml @@ -0,0 +1,154 @@ +name: E2E test(Throttoling) for EC-CUBE +on: + push: + branches: + - '*' + tags: + - '*' + paths: + - '**' + - '!*.md' + pull_request: + paths: + - '**' + - '!*.md' +jobs: + codeception: + name: Codeception + runs-on: ubuntu-22.04 + strategy: + fail-fast: false + matrix: + php: [ 8.1 ] + db: [ pgsql ] + method: [ フロント画面ログイン_IP, フロント画面ログイン_会員, 管理画面ログイン_IP, 管理画面ログイン_会員, 会員登録, 問い合わせ, パスワード再発行, 注文確認_非会員購入, 注文確認_会員購入, 注文完了_非会員購入, 注文完了_会員購入, 会員情報編集, 配送先情報_追加, 配送先情報_編集, 配送先情報_削除, order_お届け先追加, order_お届け先変更, 新規会員登録_入力, 管理画面二段階認証 ] + include: + - db: pgsql + database_url: postgres://postgres:password@127.0.0.1:5432/eccube_db + database_server_version: 14 + services: + postgres: + image: postgres:14 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: password + ports: + - 5432:5432 + # needed because the postgres container does not provide a healthcheck + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + + mailcatcher: + image: schickling/mailcatcher + ports: + - 1080:1080 + - 1025:1025 + + steps: + - name: Checkout + uses: actions/checkout@master + + # ShoppingController::checkoutをテストするため、confirmの上限値を変更する + - name: Fix limiter limit + if: startsWith(matrix.method, '注文完了') + run: | + echo "eccube: + rate_limiter: + shopping_confirm_ip: + route: ~ + limit: 1024 + interval: '30 minutes' + shopping_confirm_customer: + route: ~ + limit: 1024 + interval: '30 minutes' + shopping_checkout_ip: + route: ~ + limit: 25 + interval: '30 minutes' + shopping_checkout_customer: + route: ~ + limit: 10 + interval: '30 minutes'" > app/config/eccube/packages/prod/eccube_rate_limiter.yaml + + # delivery deleteのテストするため、delivery addの上限値を変更する + - name: Fix limiter limi for delivery delete + if: startsWith(matrix.method, '配送先情報_削除') + run: | + echo "eccube: + rate_limiter: + mypage_delivery_new: + route: mypage_delivery_new + method: [ 'POST' ] + type: customer + limit: 1024 + interval: '30 minutes' + mypage_delivery_delete: + route: mypage_delivery_delete + method: [ 'DELETE' ] + type: customer + limit: 10 + interval: '30 minutes'" > app/config/eccube/packages/prod/eccube_rate_limiter.yaml + + - name: Setup PHP + uses: nanasess/setup-php@master + with: + php-version: ${{ matrix.php }} + + - name: Initialize Composer + uses: ./.github/actions/composer + + - name: Setup to EC-CUBE + env: + APP_ENV: 'prod' + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + run: | + echo "APP_ENV=${APP_ENV}" > .env + echo "TRUSTED_HOSTS=127.0.0.1,localhost" >> .env + bin/console doctrine:database:create --env=dev + bin/console doctrine:schema:create --env=dev + bin/console eccube:fixtures:load --env=dev + + - 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: Start PHP Development Server + env: + APP_ENV: 'prod' + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + MAILER_DSN: 'smtp://127.0.0.1:1025' + ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' + run: php -S 127.0.0.1:8000 codeception/router.php & + + - name: Codeception + env: + APP_ENV: 'prod' + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + MAILER_DSN: 'smtp://127.0.0.1:1025' + ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' + METHOD: ${{ matrix.method }} + SYMFONY_DEPRECATIONS_HELPER: weak + run: vendor/bin/codecept -vvv run acceptance --env chrome,github_action EF09ThrottlingCest::${METHOD} --html report.html + + - name: Upload evidence + if: failure() + uses: actions/upload-artifact@v2 + with: + name: codeception-${{ matrix.method }}-evidence + path: codeception/_output/ + - name: Upload logs + if: failure() + uses: actions/upload-artifact@v2 + with: + name: codeception-${{ matrix.method }}-logs + path: var/log/ diff --git a/.github/workflows/e2e-test.yml b/.github/workflows/e2e-test.yml new file mode 100644 index 00000000000..d8bdd141a05 --- /dev/null +++ b/.github/workflows/e2e-test.yml @@ -0,0 +1,159 @@ +name: E2E test for EC-CUBE +on: + push: + branches: + - '*' + tags: + - '*' + paths: + - '**' + - '!*.md' + pull_request: + paths: + - '**' + - '!*.md' +jobs: + codeception: + name: Codeception + runs-on: ubuntu-22.04 + strategy: + fail-fast: false + matrix: + php: [ 7.4 ] + db: [ pgsql ] + group: [ 'admin01', 'admin02', 'admin03', 'front', 'restrict-fileupload', 'installer' ] + include: + - db: pgsql + database_url: postgres://postgres:password@127.0.0.1:5432/eccube_db + database_server_version: 14 + - group: 'admin01' + app_env: 'codeception' + - group: 'admin02' + app_env: 'codeception' + - group: 'admin03' + app_env: 'codeception' + - group: 'front' + app_env: 'codeception' + - group: 'restrict-fileupload' + app_env: 'codeception' + - group: 'installer' + app_env: 'install' + services: + postgres: + image: postgres:14 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: password + ports: + - 5432:5432 + # needed because the postgres container does not provide a healthcheck + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + + mailcatcher: + image: schickling/mailcatcher + ports: + - 1080:1080 + - 1025:1025 + + steps: + - name: Checkout + uses: actions/checkout@master + + - name: Setup PHP + uses: nanasess/setup-php@master + with: + php-version: ${{ matrix.php }} + + - name: Initialize Composer + uses: ./.github/actions/composer + + - name: Setup to EC-CUBE + env: + APP_ENV: ${{ matrix.app_env }} + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + run: | + echo "APP_ENV=${APP_ENV}" > .env + echo "TRUSTED_HOSTS=127.0.0.1,localhost" >> .env + bin/console doctrine:database:create --env=dev + bin/console doctrine:schema:create --env=dev + bin/console eccube:fixtures:load --env=dev + + - name: setup-chromedriver + uses: nanasess/setup-chromedriver@master + + - name: Install fonts + run: sudo apt install fonts-ipafont fonts-ipaexfont + + - 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: Run package-api + run: | + if [[ ! -d ${PWD}/repos ]]; then mkdir -p ${PWD}/repos ; fi + docker run -d --rm -v ${PWD}/repos:/repos -e MOCK_REPO_DIR=/repos -p 8080:8080 eccube/mock-package-api:composer2 + cp codeception/_data/plugins/*-1.0.0.tgz repos + + - name: Start PHP Development Server + if: ${{ matrix.group != 'restrict-fileupload' }} + env: + APP_ENV: 'codeception' + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + MAILER_DSN: 'smtp://127.0.0.1:1025' + ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' + run: php -S 127.0.0.1:8000 codeception/router.php & + + - name: Start PHP Development Server + if: ${{ matrix.group == 'restrict-fileupload' }} + env: + APP_ENV: 'codeception' + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + MAILER_DSN: 'smtp://127.0.0.1:1025' + ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' + ECCUBE_RESTRICT_FILE_UPLOAD: '1' + run: php -S 127.0.0.1:8000 codeception/router.php & + + - name: Codeception + if: ${{ matrix.group != 'restrict-fileupload' }} + env: + APP_ENV: ${{ matrix.app_env }} + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + MAILER_DSN: 'smtp://127.0.0.1:1025' + ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' + GROUP: ${{ matrix.group }} + SYMFONY_DEPRECATIONS_HELPER: weak + run: vendor/bin/codecept -vvv run acceptance --env chrome,github_action -g ${GROUP} --skip-group restrict-file-upload --html report.html + + - name: Codeception with Restrict file upload + if: ${{ matrix.group == 'restrict-fileupload' }} + env: + APP_ENV: ${{ matrix.app_env }} + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + MAILER_DSN: 'smtp://127.0.0.1:1025' + ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' + GROUP: ${{ matrix.group }} + SYMFONY_DEPRECATIONS_HELPER: weak + ECCUBE_RESTRICT_FILE_UPLOAD: '1' + run: vendor/bin/codecept -vvv run acceptance --env chrome,github_action -g ${GROUP} --html report.html + + - 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/ diff --git a/.github/workflows/penetration-test.yml b/.github/workflows/penetration-test.yml new file mode 100644 index 00000000000..f5bd2b0cbd2 --- /dev/null +++ b/.github/workflows/penetration-test.yml @@ -0,0 +1,87 @@ +name: Penetration testing for EC-CUBE +on: + schedule: + - cron: '0 15 * * 1' + +jobs: + PenetrationTest: + name: Penetration testing + runs-on: ${{ matrix.operating-system }} + strategy: + fail-fast: false + matrix: + operating-system: [ ubuntu-22.04 ] + group: + - 'test/front_login/contact.test.ts' + - 'test/front_guest/about.test.ts' + - 'test/front_guest/contact.test.ts' + - 'test/admin/content_layout.test.ts' + - 'test/admin/content_layout_delete.test.ts' + - 'test/admin/customer_new.test.ts' + - 'test/admin/customer.test.ts' + - 'test/admin/content_cache.test.ts' + - 'test/admin/customer_edit.test.ts' + - 'test/admin/product_class_name.test.ts' + - 'test/admin/order_mail.test.ts' + - 'test/admin/product.test.ts' + - 'test/admin/product_csv_template.test.ts' + - 'test/admin/content_block.test.ts' + - 'test/admin/content_page.test.ts' + - 'test/admin/product_category_export.test.ts' + - 'test/admin/change_password.test.ts' + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Setup to EC-CUBE + run: | + sudo chown -R 1001:1000 zap + sudo chmod -R g+w zap + docker-compose -f docker-compose.yml -f docker-compose.pgsql.yml -f docker-compose.dev.yml -f docker-compose.owaspzap.yml -f docker-compose.owaspzap.daemon.yml up -d + docker-compose -f docker-compose.yml -f docker-compose.pgsql.yml -f docker-compose.dev.yml -f docker-compose.owaspzap.yml -f docker-compose.owaspzap.daemon.yml exec -T ec-cube bin/console doctrine:schema:create --env=dev + docker-compose -f docker-compose.yml -f docker-compose.pgsql.yml -f docker-compose.dev.yml -f docker-compose.owaspzap.yml -f docker-compose.owaspzap.daemon.yml exec -T ec-cube bin/console eccube:fixtures:load --env=dev + docker-compose -f docker-compose.yml -f docker-compose.pgsql.yml -f docker-compose.dev.yml -f docker-compose.owaspzap.yml -f docker-compose.owaspzap.daemon.yml exec -T ec-cube bin/console eccube:fixtures:generate --products=5 --customers=1 --orders=5 + docker-compose -f docker-compose.yml -f docker-compose.pgsql.yml -f docker-compose.dev.yml -f docker-compose.owaspzap.yml -f docker-compose.owaspzap.daemon.yml exec -T ec-cube bin/console doctrine:query:sql "UPDATE dtb_customer SET email = 'zap_user@example.com' WHERE id = 1;" + sed -i 's!APP_ENV: "dev"!APP_ENV: "prod"!g' docker-compose.yml + docker-compose -f docker-compose.yml -f docker-compose.pgsql.yml -f docker-compose.dev.yml -f docker-compose.owaspzap.yml -f docker-compose.owaspzap.daemon.yml up -d ec-cube + + - name: yarn install + working-directory: zap/selenium/ci/TypeScript + run: | + yarn install + yarn run playwright install --with-deps chromium + yarn playwright install-deps chromium + - run: | + git config --global user.name "$(git --no-pager log --format=format:'%an' -n 1)" + git config --global user.email "$(git --no-pager log --format=format:'%ae' -n 1)" + - name: Apply patch to change_password + if: matrix.group == 'test/admin/change_password.test.ts' + working-directory: zap/selenium/ci/TypeScript + run: git am patches/0001-Member.patch + - name: Apply patch to delete_layout + if: matrix.group == 'test/admin/content_layout_delete.test.ts' + working-directory: zap/selenium/ci/TypeScript + run: git am patches/0001-DeleteLayout.patch + - name: Apply patch to new_customer + if: matrix.group == 'test/admin/customer_new.test.ts' + working-directory: zap/selenium/ci/TypeScript + run: git am patches/0002-NewCustomer.patch + - name: Penetration testing + working-directory: zap/selenium/ci/TypeScript + env: + GROUP: ${{ matrix.group }} + HTTP_PROXY: 127.0.0.1:8090 + HTTPS_PROXY: 127.0.0.1:8090 + CI: 1 + FORCE_COLOR: 1 + run: yarn playwright test ${GROUP} + - env: + GROUP: ${{ matrix.group }} + if: always() + run: echo "ARTIFACT_NAME=$(echo ${GROUP} | sed 's,/,-,g')" >> $GITHUB_ENV + - name: Upload evidence + if: always() + uses: actions/upload-artifact@v2 + with: + name: zap-${{ env.ARTIFACT_NAME }}-session + path: zap/sessions diff --git a/.github/workflows/phpstan.yml b/.github/workflows/phpstan.yml new file mode 100644 index 00000000000..c388e72b937 --- /dev/null +++ b/.github/workflows/phpstan.yml @@ -0,0 +1,35 @@ +name: PHPStan +on: + push: + branches: + - '*' + tags: + - '*' + paths: + - '**' + - '!*.md' + pull_request: + paths: + - '**' + - '!*.md' + +jobs: + phpstan: + name: PHPStan + + runs-on: ubuntu-latest + + steps: + - name: "Checkout" + uses: actions/checkout@v2 + + - name: Setup PHP + uses: nanasess/setup-php@master + with: + php-version: '7.4' + + - name: Initialize Composer + uses: ./.github/actions/composer + + - name: PHPStan + run: vendor/bin/phpstan analyze src/ --error-format=github diff --git a/.github/workflows/plugin-test.yml b/.github/workflows/plugin-test.yml new file mode 100644 index 00000000000..d9410d4d73f --- /dev/null +++ b/.github/workflows/plugin-test.yml @@ -0,0 +1,596 @@ +name: Plugin test for EC-CUBE +on: + push: + branches: + - '*' + tags: + - '*' + paths: + - '**' + - '!*.md' + pull_request: + paths: + - '**' + - '!*.md' +jobs: + plugin-install: + name: Plugin install + runs-on: ${{ matrix.operating-system }} + strategy: + fail-fast: false + matrix: + operating-system: [ ubuntu-22.04 ] + php: [ '7.4', '8.0', '8.1' ] + db: [ pgsql, mysql ] + method: + - test_install_enable_disable_remove_store + - test_install_enable_disable_remove_local + - test_install_enable_disable_enable_disable_remove_store + - test_install_enable_disable_enable_disable_remove_local + - test_install_remove_local + - test_install_remove_store + - test_bundle_install_enable_disable_remove_store + - test_bundle_install_update_enable_disable_remove_store + include: + - db: pgsql + database_url: postgres://postgres:password@127.0.0.1:5432/eccube_db + database_server_version: 14 + database_charset: utf8 + - db: mysql + database_url: mysql://root:password@127.0.0.1:3306/eccube_db + database_server_version: 5 + database_charset: utf8mb4 + + services: + mysql: + image: mysql:5.7 + env: + MYSQL_ROOT_PASSWORD: password + ports: + - 3306:3306 + options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 + postgres: + image: postgres:14 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: password + ports: + - 5432:5432 + # needed because the postgres container does not provide a healthcheck + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + mailcatcher: + image: schickling/mailcatcher + ports: + - 1080:1080 + - 1025:1025 + + steps: + - name: Checkout + uses: actions/checkout@master + + - name: Setup PHP + uses: nanasess/setup-php@master + with: + php-version: ${{ matrix.php }} + + - name: Initialize Composer + uses: ./.github/actions/composer + + - name: Setup to EC-CUBE + env: + APP_ENV: 'codeception' + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + DATABASE_CHARSET: ${{ matrix.database_charset }} + run: | + echo "APP_ENV=${APP_ENV}" > .env + bin/console doctrine:database:create --env=dev + bin/console doctrine:schema:create --env=dev + bin/console eccube:fixtures:load --env=dev + + - name: Update baseinfo with pgsql + if: matrix.db == 'pgsql' + env: + PGPASSWORD: 'password' + run: | + sudo apt-fast install -y postgresql-client + psql eccube_db -h 127.0.0.1 -U postgres -c "update dtb_base_info set authentication_key='test';" + + - name: Update baseinfo with mysql + if: matrix.db == 'mysql' + run: mysql -h 127.0.0.1 -u root -ppassword eccube_db -e "update dtb_base_info set authentication_key='test';" + + - 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: Start PHP Development Server + env: + APP_ENV: 'codeception' + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + DATABASE_CHARSET: ${{ matrix.database_charset }} + MAILER_URL: 'smtp://127.0.0.1:1025' + ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' + run: php -S 127.0.0.1:8000 codeception/router.php & + + ## ${PWD}/repos does not exist so service cannot be started + - name: Run package-api + run: | + if [[ ! -d ${PWD}/repos ]]; then mkdir -p ${PWD}/repos ; fi + docker run -d --rm -v ${PWD}/repos:/repos -e MOCK_REPO_DIR=/repos -p 8080:8080 eccube/mock-package-api:composer2 + + - name: Codeception + env: + APP_ENV: ${{ matrix.app_env }} + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + DATABASE_CHARSET: ${{ matrix.database_charset }} + MAILER_URL: 'smtp://127.0.0.1:1025' + METHOD: ${{ matrix.method }} + ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' + NO_FIXTURES: 1 + run: vendor/bin/codecept -vvv run acceptance --env chrome,github_action EA10PluginCest:${METHOD} + - name: Upload evidence + if: failure() + uses: actions/upload-artifact@v2 + with: + name: plugin-install-${{ matrix.method }}-evidence + path: codeception/_output/ + - name: Upload logs + if: failure() + uses: actions/upload-artifact@v2 + with: + name: plugin-install-${{ matrix.method }}-logs + path: var/log/ + + plugin-update: + name: Plugin Update + runs-on: ${{ matrix.operating-system }} + strategy: + fail-fast: false + matrix: + operating-system: [ ubuntu-22.04 ] + php: [ '7.4', '8.0', '8.1' ] + db: [ pgsql, mysql ] + method: + - test_install_update_remove_store + - test_install_update_remove_local + - test_install_enable_disable_update_enable_disable_remove_local + - test_install_enable_disable_update_enable_disable_remove_store + - test_install_enable_update_disable_remove_store + - test_install_enable_update_disable_remove_local + include: + - db: pgsql + database_url: postgres://postgres:password@127.0.0.1:5432/eccube_db + database_server_version: 14 + database_charset: utf8 + - db: mysql + database_url: mysql://root:password@127.0.0.1:3306/eccube_db + database_server_version: 5 + database_charset: utf8mb4 + + services: + mysql: + image: mysql:5.7 + env: + MYSQL_ROOT_PASSWORD: password + ports: + - 3306:3306 + options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 + postgres: + image: postgres:14 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: password + ports: + - 5432:5432 + # needed because the postgres container does not provide a healthcheck + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + mailcatcher: + image: schickling/mailcatcher + ports: + - 1080:1080 + - 1025:1025 + + steps: + - name: Checkout + uses: actions/checkout@master + + - 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: Install to Composer + run: composer install --dev --no-interaction -o --apcu-autoloader + + - name: Setup to EC-CUBE + env: + APP_ENV: 'codeception' + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + DATABASE_CHARSET: ${{ matrix.database_charset }} + run: | + echo "APP_ENV=${APP_ENV}" > .env + bin/console doctrine:database:create --env=dev + bin/console doctrine:schema:create --env=dev + bin/console eccube:fixtures:load --env=dev + + - name: Update baseinfo with pgsql + if: matrix.db == 'pgsql' + env: + PGPASSWORD: 'password' + run: | + sudo apt-fast install -y postgresql-client + psql eccube_db -h 127.0.0.1 -U postgres -c "update dtb_base_info set authentication_key='test';" + + - name: Update baseinfo with mysql + if: matrix.db == 'mysql' + run: mysql -h 127.0.0.1 -u root -ppassword eccube_db -e "update dtb_base_info set authentication_key='test';" + + - 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: Start PHP Development Server + env: + APP_ENV: 'codeception' + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + DATABASE_CHARSET: ${{ matrix.database_charset }} + MAILER_URL: 'smtp://127.0.0.1:1025' + ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' + run: php -S 127.0.0.1:8000 codeception/router.php & + + ## ${PWD}/repos does not exist so service cannot be started + - name: Run package-api + run: | + if [[ ! -d ${PWD}/repos ]]; then mkdir -p ${PWD}/repos ; fi + docker run -d --rm -v ${PWD}/repos:/repos -e MOCK_REPO_DIR=/repos -p 8080:8080 eccube/mock-package-api:composer2 + + - name: Run to Codeception + env: + APP_ENV: ${{ matrix.app_env }} + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + DATABASE_CHARSET: ${{ matrix.database_charset }} + MAILER_URL: 'smtp://127.0.0.1:1025' + METHOD: ${{ matrix.method }} + ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' + NO_FIXTURES: 1 + run: vendor/bin/codecept -vvv run acceptance --env chrome,github_action EA10PluginCest:${METHOD} + - name: Upload evidence + if: failure() + uses: actions/upload-artifact@v2 + with: + name: plugin-update-${{ matrix.method }}-evidence + path: codeception/_output/ + - name: Upload logs + if: failure() + uses: actions/upload-artifact@v2 + with: + name: plugin-update-${{ matrix.method }}-logs + path: var/log/ + + plugin-extend: + name: Plugin extend + runs-on: ${{ matrix.operating-system }} + strategy: + fail-fast: false + matrix: + operating-system: [ ubuntu-22.04 ] + php: [ '7.4', '8.0', '8.1' ] + db: [ pgsql, mysql ] + method: + - test_extend_same_table_store + - test_extend_same_table_disabled_remove_store + - test_extend_same_table_local + - test_extend_same_table_disabled_remove_local + - test_extend_same_table_crossed_store + - test_extend_same_table_crossed_local + include: + - db: pgsql + database_url: postgres://postgres:password@127.0.0.1:5432/eccube_db + database_server_version: 14 + database_charset: utf8 + - db: mysql + database_url: mysql://root:password@127.0.0.1:3306/eccube_db + database_server_version: 5 + database_charset: utf8mb4 + + services: + mysql: + image: mysql:5.7 + env: + MYSQL_ROOT_PASSWORD: password + ports: + - 3306:3306 + options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 + postgres: + image: postgres:14 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: password + ports: + - 5432:5432 + # needed because the postgres container does not provide a healthcheck + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + mailcatcher: + image: schickling/mailcatcher + ports: + - 1080:1080 + - 1025:1025 + + steps: + - name: Checkout + uses: actions/checkout@master + + - 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: Install to Composer + run: composer install --dev --no-interaction -o --apcu-autoloader + + - name: Setup to EC-CUBE + env: + APP_ENV: 'codeception' + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + DATABASE_CHARSET: ${{ matrix.database_charset }} + run: | + echo "APP_ENV=${APP_ENV}" > .env + bin/console doctrine:database:create --env=dev + bin/console doctrine:schema:create --env=dev + bin/console eccube:fixtures:load --env=dev + + - name: Update baseinfo with pgsql + if: matrix.db == 'pgsql' + env: + PGPASSWORD: 'password' + run: | + sudo apt-fast install -y postgresql-client + psql eccube_db -h 127.0.0.1 -U postgres -c "update dtb_base_info set authentication_key='test';" + + - name: Update baseinfo with mysql + if: matrix.db == 'mysql' + run: mysql -h 127.0.0.1 -u root -ppassword eccube_db -e "update dtb_base_info set authentication_key='test';" + + - 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: Start PHP Development Server + env: + APP_ENV: 'codeception' + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + DATABASE_CHARSET: ${{ matrix.database_charset }} + MAILER_URL: 'smtp://127.0.0.1:1025' + ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' + run: php -S 127.0.0.1:8000 codeception/router.php & + + ## ${PWD}/repos does not exist so service cannot be started + - name: Run package-api + run: | + if [[ ! -d ${PWD}/repos ]]; then mkdir -p ${PWD}/repos ; fi + docker run -d --rm -v ${PWD}/repos:/repos -e MOCK_REPO_DIR=/repos -p 8080:8080 eccube/mock-package-api:composer2 + + - name: Run to Codeception + env: + APP_ENV: ${{ matrix.app_env }} + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + DATABASE_CHARSET: ${{ matrix.database_charset }} + MAILER_URL: 'smtp://127.0.0.1:1025' + METHOD: ${{ matrix.method }} + ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' + NO_FIXTURES: 1 + run: vendor/bin/codecept -vvv run acceptance --env chrome,github_action EA10PluginCest:${METHOD} + - name: Upload evidence + if: failure() + uses: actions/upload-artifact@v2 + with: + name: plugin-extend-${{ matrix.method }}-evidence + path: codeception/_output/ + - name: Upload logs + if: failure() + uses: actions/upload-artifact@v2 + with: + name: plugin-extend-${{ matrix.method }}-logs + path: var/log/ + + plugin-depend: + name: Plugin depend + runs-on: ${{ matrix.operating-system }} + strategy: + fail-fast: false + matrix: + operating-system: [ ubuntu-22.04 ] + php: [ '7.4', '8.0', '8.1' ] + db: [ pgsql, mysql ] + method: + - test_dependency_each_install_plugin + - test_dependency_plugin_install + - test_dependency_plugin_update + - test_install_error + - install_enable_disable_enable_disable_remove_store + - test_enhance_plugin_entity + include: + - db: pgsql + database_url: postgres://postgres:password@127.0.0.1:5432/eccube_db + database_server_version: 14 + database_charset: utf8 + - db: mysql + database_url: mysql://root:password@127.0.0.1:3306/eccube_db + database_server_version: 5 + database_charset: utf8mb4 + exclude: + - db: mysql + method: test_dependency_plugin_update + + services: + mysql: + image: mysql:5.7 + env: + MYSQL_ROOT_PASSWORD: password + ports: + - 3306:3306 + options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 + postgres: + image: postgres:14 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: password + ports: + - 5432:5432 + # needed because the postgres container does not provide a healthcheck + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + mailcatcher: + image: schickling/mailcatcher + ports: + - 1080:1080 + - 1025:1025 + + steps: + - name: Checkout + uses: actions/checkout@master + + - 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: Install to Composer + run: composer install --dev --no-interaction -o --apcu-autoloader + + - name: Setup to EC-CUBE + env: + APP_ENV: 'codeception' + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + DATABASE_CHARSET: ${{ matrix.database_charset }} + run: | + echo "APP_ENV=${APP_ENV}" > .env + bin/console doctrine:database:create --env=dev + bin/console doctrine:schema:create --env=dev + bin/console eccube:fixtures:load --env=dev + + - name: Update baseinfo with pgsql + if: matrix.db == 'pgsql' + env: + PGPASSWORD: 'password' + run: | + sudo apt-fast install -y postgresql-client + psql eccube_db -h 127.0.0.1 -U postgres -c "update dtb_base_info set authentication_key='test';" + + - name: Update baseinfo with mysql + if: matrix.db == 'mysql' + run: mysql -h 127.0.0.1 -u root -ppassword eccube_db -e "update dtb_base_info set authentication_key='test';" + + - 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: Start PHP Development Server + env: + APP_ENV: 'codeception' + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + DATABASE_CHARSET: ${{ matrix.database_charset }} + MAILER_URL: 'smtp://127.0.0.1:1025' + ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' + run: php -S 127.0.0.1:8000 codeception/router.php & + + ## ${PWD}/repos does not exist so service cannot be started + - name: Run package-api + run: | + if [[ ! -d ${PWD}/repos ]]; then mkdir -p ${PWD}/repos ; fi + docker run -d --rm -v ${PWD}/repos:/repos -e MOCK_REPO_DIR=/repos -p 8080:8080 eccube/mock-package-api:composer2 + + - name: Run to Codeception + env: + APP_ENV: ${{ matrix.app_env }} + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + DATABASE_CHARSET: ${{ matrix.database_charset }} + MAILER_URL: 'smtp://127.0.0.1:1025' + METHOD: ${{ matrix.method }} + ECCUBE_PACKAGE_API_URL: 'http://127.0.0.1:8080' + NO_FIXTURES: 1 + run: vendor/bin/codecept -vvv run acceptance --env chrome,github_action EA10PluginCest:${METHOD} + - name: Upload evidence + if: failure() + uses: actions/upload-artifact@v2 + with: + name: plugin-depend-${{ matrix.method }}-evidence + path: codeception/_output/ + - name: Upload logs + if: failure() + uses: actions/upload-artifact@v2 + with: + name: plugin-depend-${{ matrix.method }}-logs + path: var/log/ diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml new file mode 100644 index 00000000000..02076ffdae2 --- /dev/null +++ b/.github/workflows/unit-test.yml @@ -0,0 +1,122 @@ +name: Unit test for EC-CUBE +on: + push: + branches: + - '*' + tags: + - '*' + paths: + - '**' + - '!*.md' + pull_request: + paths: + - '**' + - '!*.md' +jobs: + phpunit: + name: PHPUnit + runs-on: ${{ matrix.operating-system }} + strategy: + fail-fast: false + matrix: + operating-system: [ ubuntu-22.04 ] + php: [ '7.4', '8.0', '8.1' ] + db: [ mysql, pgsql, sqlite3 ] + include: + - db: mysql + database_url: mysql://root:password@127.0.0.1:3306/eccube_db + database_server_version: 5 + database_charset: utf8mb4 + - db: pgsql + database_url: postgres://postgres:password@127.0.0.1:5432/eccube_db + database_server_version: 14 + database_charset: utf8 + - db: sqlite3 + database_url: sqlite:///var/eccube.db + database_server_version: 3 + database_charset: utf8 + + services: + mysql: + image: mysql:5.7 + env: + MYSQL_ROOT_PASSWORD: password + ports: + - 3306:3306 + options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 + postgres: + image: postgres:14 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: password + ports: + - 5432:5432 + # needed because the postgres container does not provide a healthcheck + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + + steps: + - name: Checkout + uses: actions/checkout@master + + - name: Setup PHP + uses: nanasess/setup-php@master + with: + php-version: ${{ matrix.php }} + + - name: Initialize Composer + uses: ./.github/actions/composer + + - name: Setup EC-CUBE + env: + APP_ENV: 'test' + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + DATABASE_CHARSET: ${{ matrix.database_charset }} + run: | + bin/console doctrine:database:create + bin/console doctrine:schema:create + bin/console eccube:fixtures:load + + - name: PHPUnit + env: + APP_ENV: 'test' + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + DATABASE_CHARSET: ${{ matrix.database_charset }} + MAILER_URL: 'smtp://127.0.0.11025' + run: vendor/bin/phpunit --exclude-group cache-clear,cache-clear-install,update-schema-doctrine,plugin-service + - name: PHPUnit + env: + APP_ENV: 'test' + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + DATABASE_CHARSET: ${{ matrix.database_charset }} + MAILER_URL: 'smtp://127.0.0.11025' + run: | + vendor/bin/phpunit --group cache-clear + vendor/bin/phpunit --group cache-clear-install + vendor/bin/phpunit --group update-schema-doctrine --exclude-group update-schema-doctrine-install + vendor/bin/phpunit --group update-schema-doctrine-install --filter=testInstallPluginWithNoProxy + vendor/bin/phpunit --group update-schema-doctrine-install --filter=testInstallPluginWithProxy + vendor/bin/phpunit --group update-schema-doctrine-install --filter=testEnablePluginWithNoProxy + vendor/bin/phpunit --group update-schema-doctrine-install --filter=testEnablePluginWithProxy + vendor/bin/phpunit --group update-schema-doctrine-install --filter=testDisablePluginWithNoProxy + vendor/bin/phpunit --group update-schema-doctrine-install --filter=testDisablePluginWithProxy + vendor/bin/phpunit --group update-schema-doctrine-install --filter=testCreateEntityAndTrait + ## XXX MySQL で Syntax error or access violation: 1305 SAVEPOINT DOCTRINE2_SAVEPOINT_3 does not exist が + ## 発生するため \DAMA\DoctrineTestBundle\PHPUnit\PHPUnitListener を削除する + ## see https://github.com/dmaicher/doctrine-test-bundle/issues/58#issuecomment-391081408 + - run: sed -e '/DoctrineTestBundle/d' phpunit.xml.dist > phpunit.xml + if: ${{ matrix.db == 'mysql' }} + - name: PHPUnit + env: + APP_ENV: 'test' + DATABASE_URL: ${{ matrix.database_url }} + DATABASE_SERVER_VERSION: ${{ matrix.database_server_version }} + DATABASE_CHARSET: ${{ matrix.database_charset }} + MAILER_URL: 'smtp://127.0.0.11025' + run: | + rm -r app/Plugin/* + git checkout app/Plugin + rm -r var/cache + vendor/bin/phpunit --group plugin-service diff --git a/.github/workflows/vaddy-1.yml b/.github/workflows/vaddy-1.yml new file mode 100644 index 00000000000..87ed8c58d91 --- /dev/null +++ b/.github/workflows/vaddy-1.yml @@ -0,0 +1,498 @@ +name: VAddy +on: + schedule: + - cron: '0 15 * * 0' + +jobs: + vaddy: + name: VAddy + runs-on: ubuntu-22.04 + strategy: + matrix: + include: + - vaddy_project: 'ADMIN01' + command1: 'EA03ProductCest' + command2: 'EA05CustomerCest' + command3: 'EA08SysteminfoCest' + command4: 'EA09ShippingCest' + - vaddy_project: 'ADMIN02' + command1: 'EA04OrderCest' + - vaddy_project: 'FRONT' + command1: '-x admin -x plugin' + services: + postgres: + image: postgres:14 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: password + ports: + - 5432:5432 + # needed because the postgres container does not provide a healthcheck + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + mailcatcher: + image: schickling/mailcatcher + ports: + - 1080:1080 + - 1025:1025 + steps: + - name: Checkout + uses: actions/checkout@master + + - name: Setup PHP + uses: nanasess/setup-php@master + with: + php-version: '7.4' + + - name: setup-chromedriver + uses: nanasess/setup-chromedriver@master + + - name: "VAddy: install" + working-directory: /tmp + run: | + wget -q https://github.com/vaddy/go-vaddy/archive/master.zip + unzip master.zip + echo 'export VADDY_AUTH_KEY="${{ secrets.VADDY_AUTH_KEY }}" + export VADDY_FQDN="${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}" + export VADDY_VERIFICATION_CODE="${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" + export VADDY_USER="${{ secrets.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: Initialize Composer + uses: ./.github/actions/composer + + - name: "EC-CUBE: setup" + env: + DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db + DATABASE_SERVER_VERSION: 14 + run: | + php bin/template_jp.php + rm -rf app/Plugin/* + echo 'getEntityManager()->detach($event->getEntity()); + } + }' > 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 + 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: Install Plugins + env: + APP_ENV: 'prod' + DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db + DATABASE_SERVER_VERSION: 14 + run: | + bin/console eccube:composer:require "ec-cube/recommend4" + bin/console eccube:composer:require "ec-cube/coupon4" + bin/console eccube:composer:require "ec-cube/mailmagazine4" + bin/console eccube:composer:require "ec-cube/salesreport4" + bin/console eccube:composer:require "ec-cube/relatedproduct4" + bin/console eccube:composer:require "ec-cube/securitychecker4" + bin/console eccube:composer:require "ec-cube/productreview4" + bin/console eccube:composer:require "ec-cube/api" + bin/console eccube:composer:require "ec-cube/sitekit" + bin/console eccube:composer:require "ec-cube/gmc" + + - name: Pre Install Plugins + env: + DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db + DATABASE_SERVER_VERSION: 14 + PGPASSWORD: 'password' + run: | + 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 + for code in Api Coupon4 GMC MailMagazine4 ProductReview4 Recommend4 RelatedProduct4 SalesReport4 Securitychecker4 SiteKit; do bin/console eccube:plugin:enable --code $code; done + + - name: "EC-CUBE: package" + working-directory: ../ + run: ${{ github.event.repository.name }}/package.sh + + - name: "EC-CUBE: build" + run: docker build -t ec-cube --build-arg SKIP_INSTALL_SCRIPT_ON_DOCKER_BUILD=true . + - name: "Codeception: prepare" + 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 ${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}" | sudo tee -a /etc/hosts + echo "modules: + config: + WebDriver: + host: '127.0.0.1' + port: 9515 + url: "http://${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}:8080" + browser: chrome + capabilities: + chromeOptions: + args: ["--headless", "--disable-gpu"] + prefs: + download.default_directory: '%PWD%/codeception/_support/_downloads' + MailCatcher: + url: 'mail' + port: 1080" > codeception/_envs/local.yml + + - name: "Scan 1" + run: echo 'Scan 1' + + - name: "EC-CUBE: run" + run: | + docker run \ + -e APP_ENV=dev \ + -e APP_DEBUG=1 \ + -e DATABASE_URL="postgres://postgres:password@172.17.0.1: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 + 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=${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }} eccube bash -c 'echo ${VADDY_VERIFICATION_CODE} > vaddy-${VADDY_VERIFICATION_CODE}.html' + docker exec -u www-data eccube bash -c 'for code in Api Coupon4 GMC MailMagazine4 ProductReview4 Recommend4 RelatedProduct4 SalesReport4 Securitychecker4 SiteKit; do bin/console eccube:plugin:enable --code $code; done' + + - name: "VAddy: connect" + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh connect + + - name: "VAddy: crawl" + env: + APP_ENV: "codeception" + DATABASE_URL: "postgres://postgres:password@127.0.0.1:5432/eccube_db" + DATABASE_SERVER_VERSION: "14" + MAILER_URL: "smtp://127.0.0.1:1025" + BASE_URL: "http://${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}:8080" + VADDY_PROXY: "${{ secrets.VADDY_PROXY }}" + VADDY_PROXY_PORT: "${{ secrets.VADDY_PROXY_PORT }}" + VADDY_VERIFICATION_CODE: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" + VADDY_CRAWL: "${{ matrix.command1 }}" + 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 ${{ matrix.command1 }} || 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" + if: ${{ always() }} + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh disconnect + + - name: "VAddy: scan" + continue-on-error: true + env: + VADDY_CRAWL: "${{ matrix.command1 }}" + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh scan + + - name: "EC-CUBE: stop" + if: ${{ always() }} + continue-on-error: true + run: docker rm -f -v eccube + + - name: "Scan 2" + if: ${{ matrix.command2 != '' }} + run: echo 'Scan 2' + + - name: "EC-CUBE: run" + if: ${{ matrix.command2 != '' }} + run: | + docker run \ + -e APP_ENV=dev \ + -e APP_DEBUG=1 \ + -e DATABASE_URL="postgres://postgres:password@172.17.0.1: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 + 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=${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }} eccube bash -c 'echo ${VADDY_VERIFICATION_CODE} > vaddy-${VADDY_VERIFICATION_CODE}.html' + docker exec -u www-data eccube bash -c 'for code in Api Coupon4 GMC MailMagazine4 ProductReview4 Recommend4 RelatedProduct4 SalesReport4 Securitychecker4 SiteKit; do bin/console eccube:plugin:enable --code $code; done' + + - name: "VAddy: connect" + if: ${{ matrix.command2 != '' }} + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh connect + + - name: "VAddy: crawl" + if: ${{ matrix.command2 != '' && success() }} + env: + APP_ENV: "codeception" + DATABASE_URL: "postgres://postgres:password@127.0.0.1:5432/eccube_db" + DATABASE_SERVER_VERSION: "14" + MAILER_URL: "smtp://127.0.0.1:1025" + BASE_URL: "http://${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}:8080" + VADDY_PROXY: "${{ secrets.VADDY_PROXY }}" + VADDY_PROXY_PORT: "${{ secrets.VADDY_PROXY_PORT }}" + VADDY_VERIFICATION_CODE: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" + VADDY_CRAWL: "${{ matrix.command2 }}" + 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 ${{ matrix.command2 }} || true + vendor/bin/codecept -vvv run acceptance --env chrome,local,vaddy VaddyCest:commit + + - name: Upload report + if: ${{ matrix.command2 != '' && success() }} + uses: actions/upload-artifact@v2 + with: + name: crawl-reports + path: codeception/_output/**/* + + - name: "VAddy: disconnect" + if: ${{ matrix.command2 }} + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh disconnect + + - name: "VAddy: scan" + if: ${{ matrix.command2 != '' && success() }} + continue-on-error: true + env: + VADDY_CRAWL: "${{ matrix.command2 }}" + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh scan + + - name: "EC-CUBE: stop" + if: ${{ matrix.command2 }} + continue-on-error: true + run: docker rm -f -v eccube + + - name: "Scan 3" + if: ${{ matrix.command3 != '' }} + run: echo 'Scan 3' + + - name: "EC-CUBE: run" + if: ${{ matrix.command3 != '' }} + run: | + docker run \ + -e APP_ENV=dev \ + -e APP_DEBUG=1 \ + -e DATABASE_URL="postgres://postgres:password@172.17.0.1: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 + 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=${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }} eccube bash -c 'echo ${VADDY_VERIFICATION_CODE} > vaddy-${VADDY_VERIFICATION_CODE}.html' + docker exec -u www-data eccube bash -c 'for code in Api Coupon4 GMC MailMagazine4 ProductReview4 Recommend4 RelatedProduct4 SalesReport4 Securitychecker4 SiteKit; do bin/console eccube:plugin:enable --code $code; done' + + - name: "VAddy: connect" + if: ${{ matrix.command3 != '' }} + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh connect + + - name: "VAddy: crawl" + if: ${{ matrix.command3 != '' && success() }} + env: + APP_ENV: "codeception" + DATABASE_URL: "postgres://postgres:password@127.0.0.1:5432/eccube_db" + DATABASE_SERVER_VERSION: "14" + MAILER_URL: "smtp://127.0.0.1:1025" + BASE_URL: "http://${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}:8080" + VADDY_PROXY: "${{ secrets.VADDY_PROXY }}" + VADDY_PROXY_PORT: "${{ secrets.VADDY_PROXY_PORT }}" + VADDY_VERIFICATION_CODE: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" + VADDY_CRAWL: "${{ matrix.command3 }}" + 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 ${{ matrix.command3 }} || true + vendor/bin/codecept -vvv run acceptance --env chrome,local,vaddy VaddyCest:commit + + - name: Upload report + if: ${{ matrix.command3 != '' && success() }} + uses: actions/upload-artifact@v2 + with: + name: crawl-reports + path: codeception/_output/**/* + + - name: "VAddy: disconnect" + if: ${{ matrix.command3 }} + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh disconnect + + - name: "VAddy: scan" + if: ${{ matrix.command3 != '' && success() }} + continue-on-error: true + env: + VADDY_CRAWL: "${{ matrix.command3 }}" + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh scan + + - name: "EC-CUBE: stop" + if: ${{ matrix.command3 }} + continue-on-error: true + run: docker rm -f -v eccube + + - name: "Scan 4" + if: ${{ matrix.command4 != '' }} + run: echo 'Scan 4' + + - name: "EC-CUBE: run" + if: ${{ matrix.command4 != '' }} + run: | + docker run \ + -e APP_ENV=dev \ + -e APP_DEBUG=1 \ + -e DATABASE_URL="postgres://postgres:password@172.17.0.1: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 + 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=${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }} eccube bash -c 'echo ${VADDY_VERIFICATION_CODE} > vaddy-${VADDY_VERIFICATION_CODE}.html' + docker exec -u www-data eccube bash -c 'for code in Api Coupon4 GMC MailMagazine4 ProductReview4 Recommend4 RelatedProduct4 SalesReport4 Securitychecker4 SiteKit; do bin/console eccube:plugin:enable --code $code; done' + + - name: "VAddy: connect" + if: ${{ matrix.command4 != '' }} + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh connect + + - name: "VAddy: crawl" + if: ${{ matrix.command4 != '' && success() }} + env: + APP_ENV: "codeception" + DATABASE_URL: "postgres://postgres:password@127.0.0.1:5432/eccube_db" + DATABASE_SERVER_VERSION: "14" + MAILER_URL: "smtp://127.0.0.1:1025" + BASE_URL: "http://${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}:8080" + VADDY_PROXY: "${{ secrets.VADDY_PROXY }}" + VADDY_PROXY_PORT: "${{ secrets.VADDY_PROXY_PORT }}" + VADDY_VERIFICATION_CODE: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" + VADDY_CRAWL: "${{ matrix.command4 }}" + 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 ${{ matrix.command4 }} || true + vendor/bin/codecept -vvv run acceptance --env chrome,local,vaddy VaddyCest:commit + + - name: Upload report + if: ${{ matrix.command4 != '' && success() }} + uses: actions/upload-artifact@v2 + with: + name: crawl-reports + path: codeception/_output/**/* + + - name: "VAddy: disconnect" + if: ${{ matrix.command4 }} + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh disconnect + + - name: "VAddy: scan" + if: ${{ matrix.command4 != '' && success() }} + continue-on-error: true + env: + VADDY_CRAWL: "${{ matrix.command4 }}" + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh scan + + - name: "EC-CUBE: stop" + if: ${{ matrix.command4 }} + continue-on-error: true + run: docker rm -f -v eccube + + - name: "Scan 5" + if: ${{ matrix.command5 != '' }} + run: echo 'Scan 5' + + - name: "EC-CUBE: run" + if: ${{ matrix.command5 != '' }} + run: | + docker run \ + -e APP_ENV=dev \ + -e APP_DEBUG=1 \ + -e DATABASE_URL="postgres://postgres:password@172.17.0.1: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 + 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=${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }} eccube bash -c 'echo ${VADDY_VERIFICATION_CODE} > vaddy-${VADDY_VERIFICATION_CODE}.html' + docker exec -u www-data eccube bash -c 'for code in Api Coupon4 GMC MailMagazine4 ProductReview4 Recommend4 RelatedProduct4 SalesReport4 Securitychecker4 SiteKit; do bin/console eccube:plugin:enable --code $code; done' + + - name: "VAddy: connect" + if: ${{ matrix.command5 != '' }} + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh connect + + - name: "VAddy: crawl" + if: ${{ matrix.command5 != '' && success() }} + env: + APP_ENV: "codeception" + DATABASE_URL: "postgres://postgres:password@127.0.0.1:5432/eccube_db" + DATABASE_SERVER_VERSION: "14" + MAILER_URL: "smtp://127.0.0.1:1025" + BASE_URL: "http://${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}:8080" + VADDY_PROXY: "${{ secrets.VADDY_PROXY }}" + VADDY_PROXY_PORT: "${{ secrets.VADDY_PROXY_PORT }}" + VADDY_VERIFICATION_CODE: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" + VADDY_CRAWL: "${{ matrix.command5 }}" + 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 ${{ matrix.command5 }} || true + vendor/bin/codecept -vvv run acceptance --env chrome,local,vaddy VaddyCest:commit + + - name: Upload report + if: ${{ matrix.command5 != '' && success() }} + uses: actions/upload-artifact@v2 + with: + name: crawl-reports + path: codeception/_output/**/* + + - name: "VAddy: disconnect" + if: ${{ matrix.command5 }} + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh disconnect + + - name: "VAddy: scan" + if: ${{ matrix.command5 != '' && success() }} + continue-on-error: true + env: + VADDY_CRAWL: "${{ matrix.command5 }}" + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh scan + + - name: "EC-CUBE: stop" + if: ${{ matrix.command5 }} + continue-on-error: true + run: docker rm -f -v eccube + +# - name: VAddy private net logs +# if: ${{ always() }} +# working-directory: /tmp/go-vaddy-master/privatenet +# run: cat vaddy/*.txt diff --git a/.github/workflows/vaddy-2.yml b/.github/workflows/vaddy-2.yml new file mode 100644 index 00000000000..e35da382088 --- /dev/null +++ b/.github/workflows/vaddy-2.yml @@ -0,0 +1,499 @@ +name: VAddy +on: + schedule: + - cron: '0 21 * * 0' + +jobs: + vaddy: + name: VAddy + runs-on: ubuntu-22.04 + strategy: + matrix: + include: + - vaddy_project: 'ADMIN01' + command1: 'EA06ContentsManagementCest' + - vaddy_project: 'ADMIN02' + command1: ' -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + command2: '-x paymentmethod -x basicsetting -x taxrule -x mailsetting -x csvsetting -x orderstatus -x pluginauth EA07BasicinfoCest' + command3: '-x paymentmethod -x delivery -x mailsetting -x csvsetting -x orderstatus EA07BasicinfoCest' + command4: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x orderstatus -x pluginauth EA07BasicinfoCest' + command5: '-x paymentmethod -x delivery -x basicsetting -x taxrule -x mailsetting -x csvsetting -x pluginauth EA07BasicinfoCest' + - vaddy_project: 'FRONT' + command1: '-x admin -x front' + services: + postgres: + image: postgres:14 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: password + ports: + - 5432:5432 + # needed because the postgres container does not provide a healthcheck + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + mailcatcher: + image: schickling/mailcatcher + ports: + - 1080:1080 + - 1025:1025 + steps: + - name: Checkout + uses: actions/checkout@master + + - name: Setup PHP + uses: nanasess/setup-php@master + with: + php-version: '7.4' + + - name: setup-chromedriver + uses: nanasess/setup-chromedriver@master + + - name: "VAddy: install" + working-directory: /tmp + run: | + wget -q https://github.com/vaddy/go-vaddy/archive/master.zip + unzip master.zip + echo 'export VADDY_AUTH_KEY="${{ secrets.VADDY_AUTH_KEY }}" + export VADDY_FQDN="${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}" + export VADDY_VERIFICATION_CODE="${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" + export VADDY_USER="${{ secrets.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: Initialize Composer + uses: ./.github/actions/composer + + - name: "EC-CUBE: setup" + env: + DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db + DATABASE_SERVER_VERSION: 14 + run: | + php bin/template_jp.php + rm -rf app/Plugin/* + echo 'getEntityManager()->detach($event->getEntity()); + } + }' > 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 + 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: Install Plugins + env: + APP_ENV: 'prod' + DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db + DATABASE_SERVER_VERSION: 14 + run: | + bin/console eccube:composer:require "ec-cube/recommend4" + bin/console eccube:composer:require "ec-cube/coupon4" + bin/console eccube:composer:require "ec-cube/mailmagazine4" + bin/console eccube:composer:require "ec-cube/salesreport4" + bin/console eccube:composer:require "ec-cube/relatedproduct4" + bin/console eccube:composer:require "ec-cube/securitychecker4" + bin/console eccube:composer:require "ec-cube/productreview4" + bin/console eccube:composer:require "ec-cube/api" + bin/console eccube:composer:require "ec-cube/sitekit" + bin/console eccube:composer:require "ec-cube/gmc" + + - name: Pre Install Plugins + env: + DATABASE_URL: postgres://postgres:password@127.0.0.1:5432/eccube_db + DATABASE_SERVER_VERSION: 14 + PGPASSWORD: 'password' + run: | + 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 + for code in Api Coupon4 GMC MailMagazine4 ProductReview4 Recommend4 RelatedProduct4 SalesReport4 Securitychecker4 SiteKit; do bin/console eccube:plugin:enable --code $code; done + + - name: "EC-CUBE: package" + working-directory: ../ + run: ${{ github.event.repository.name }}/package.sh + + - name: "EC-CUBE: build" + run: docker build -t ec-cube --build-arg SKIP_INSTALL_SCRIPT_ON_DOCKER_BUILD=true . + - name: "Codeception: prepare" + 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 ${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}" | sudo tee -a /etc/hosts + echo "modules: + config: + WebDriver: + host: '127.0.0.1' + port: 9515 + url: "http://${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}:8080" + browser: chrome + capabilities: + chromeOptions: + args: ["--headless", "--disable-gpu"] + prefs: + download.default_directory: '%PWD%/codeception/_support/_downloads' + MailCatcher: + url: 'mail' + port: 1080" > codeception/_envs/local.yml + + - name: "Scan 1" + run: echo 'Scan 1' + + - name: "EC-CUBE: run" + run: | + docker run \ + -e APP_ENV=dev \ + -e APP_DEBUG=1 \ + -e DATABASE_URL="postgres://postgres:password@172.17.0.1: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 + 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=${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }} eccube bash -c 'echo ${VADDY_VERIFICATION_CODE} > vaddy-${VADDY_VERIFICATION_CODE}.html' + docker exec -u www-data eccube bash -c 'for code in Api Coupon4 GMC MailMagazine4 ProductReview4 Recommend4 RelatedProduct4 SalesReport4 Securitychecker4 SiteKit; do bin/console eccube:plugin:enable --code $code; done' + + - name: "VAddy: connect" + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh connect + + - name: "VAddy: crawl" + env: + APP_ENV: "codeception" + DATABASE_URL: "postgres://postgres:password@127.0.0.1:5432/eccube_db" + DATABASE_SERVER_VERSION: "14" + MAILER_URL: "smtp://127.0.0.1:1025" + BASE_URL: "http://${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}:8080" + VADDY_PROXY: "${{ secrets.VADDY_PROXY }}" + VADDY_PROXY_PORT: "${{ secrets.VADDY_PROXY_PORT }}" + VADDY_VERIFICATION_CODE: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" + VADDY_CRAWL: "${{ matrix.command1 }}" + 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 ${{ matrix.command1 }} || 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" + if: ${{ always() }} + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh disconnect + + - name: "VAddy: scan" + continue-on-error: true + env: + VADDY_CRAWL: "${{ matrix.command1 }}" + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh scan + + - name: "EC-CUBE: stop" + if: ${{ always() }} + continue-on-error: true + run: docker rm -f -v eccube + + - name: "Scan 2" + if: ${{ matrix.command2 != '' }} + run: echo 'Scan 2' + + - name: "EC-CUBE: run" + if: ${{ matrix.command2 != '' }} + run: | + docker run \ + -e APP_ENV=dev \ + -e APP_DEBUG=1 \ + -e DATABASE_URL="postgres://postgres:password@172.17.0.1: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 + 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=${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }} eccube bash -c 'echo ${VADDY_VERIFICATION_CODE} > vaddy-${VADDY_VERIFICATION_CODE}.html' + docker exec -u www-data eccube bash -c 'for code in Api Coupon4 GMC MailMagazine4 ProductReview4 Recommend4 RelatedProduct4 SalesReport4 Securitychecker4 SiteKit; do bin/console eccube:plugin:enable --code $code; done' + + - name: "VAddy: connect" + if: ${{ matrix.command2 != '' }} + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh connect + + - name: "VAddy: crawl" + if: ${{ matrix.command2 != '' && success() }} + env: + APP_ENV: "codeception" + DATABASE_URL: "postgres://postgres:password@127.0.0.1:5432/eccube_db" + DATABASE_SERVER_VERSION: "14" + MAILER_URL: "smtp://127.0.0.1:1025" + BASE_URL: "http://${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}:8080" + VADDY_PROXY: "${{ secrets.VADDY_PROXY }}" + VADDY_PROXY_PORT: "${{ secrets.VADDY_PROXY_PORT }}" + VADDY_VERIFICATION_CODE: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" + VADDY_CRAWL: "${{ matrix.command2 }}" + 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 ${{ matrix.command2 }} || true + vendor/bin/codecept -vvv run acceptance --env chrome,local,vaddy VaddyCest:commit + + - name: Upload report + if: ${{ matrix.command2 != '' && success() }} + uses: actions/upload-artifact@v2 + with: + name: crawl-reports + path: codeception/_output/**/* + + - name: "VAddy: disconnect" + if: ${{ matrix.command2 }} + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh disconnect + + - name: "VAddy: scan" + if: ${{ matrix.command2 != '' && success() }} + continue-on-error: true + env: + VADDY_CRAWL: "${{ matrix.command2 }}" + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh scan + + - name: "EC-CUBE: stop" + if: ${{ matrix.command2 }} + continue-on-error: true + run: docker rm -f -v eccube + + - name: "Scan 3" + if: ${{ matrix.command3 != '' }} + run: echo 'Scan 3' + + - name: "EC-CUBE: run" + if: ${{ matrix.command3 != '' }} + run: | + docker run \ + -e APP_ENV=dev \ + -e APP_DEBUG=1 \ + -e DATABASE_URL="postgres://postgres:password@172.17.0.1: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 + 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=${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }} eccube bash -c 'echo ${VADDY_VERIFICATION_CODE} > vaddy-${VADDY_VERIFICATION_CODE}.html' + docker exec -u www-data eccube bash -c 'for code in Api Coupon4 GMC MailMagazine4 ProductReview4 Recommend4 RelatedProduct4 SalesReport4 Securitychecker4 SiteKit; do bin/console eccube:plugin:enable --code $code; done' + + - name: "VAddy: connect" + if: ${{ matrix.command3 != '' }} + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh connect + + - name: "VAddy: crawl" + if: ${{ matrix.command3 != '' && success() }} + env: + APP_ENV: "codeception" + DATABASE_URL: "postgres://postgres:password@127.0.0.1:5432/eccube_db" + DATABASE_SERVER_VERSION: "14" + MAILER_URL: "smtp://127.0.0.1:1025" + BASE_URL: "http://${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}:8080" + VADDY_PROXY: "${{ secrets.VADDY_PROXY }}" + VADDY_PROXY_PORT: "${{ secrets.VADDY_PROXY_PORT }}" + VADDY_VERIFICATION_CODE: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" + VADDY_CRAWL: "${{ matrix.command3 }}" + 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 ${{ matrix.command3 }} || true + vendor/bin/codecept -vvv run acceptance --env chrome,local,vaddy VaddyCest:commit + + - name: Upload report + if: ${{ matrix.command3 != '' && success() }} + uses: actions/upload-artifact@v2 + with: + name: crawl-reports + path: codeception/_output/**/* + + - name: "VAddy: disconnect" + if: ${{ matrix.command3 }} + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh disconnect + + - name: "VAddy: scan" + if: ${{ matrix.command3 != '' && success() }} + continue-on-error: true + env: + VADDY_CRAWL: "${{ matrix.command3 }}" + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh scan + + - name: "EC-CUBE: stop" + if: ${{ matrix.command3 }} + continue-on-error: true + run: docker rm -f -v eccube + + - name: "Scan 4" + if: ${{ matrix.command4 != '' }} + run: echo 'Scan 4' + + - name: "EC-CUBE: run" + if: ${{ matrix.command4 != '' }} + run: | + docker run \ + -e APP_ENV=dev \ + -e APP_DEBUG=1 \ + -e DATABASE_URL="postgres://postgres:password@172.17.0.1: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 + 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=${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }} eccube bash -c 'echo ${VADDY_VERIFICATION_CODE} > vaddy-${VADDY_VERIFICATION_CODE}.html' + docker exec -u www-data eccube bash -c 'for code in Api Coupon4 GMC MailMagazine4 ProductReview4 Recommend4 RelatedProduct4 SalesReport4 Securitychecker4 SiteKit; do bin/console eccube:plugin:enable --code $code; done' + + - name: "VAddy: connect" + if: ${{ matrix.command4 != '' }} + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh connect + + - name: "VAddy: crawl" + if: ${{ matrix.command4 != '' && success() }} + env: + APP_ENV: "codeception" + DATABASE_URL: "postgres://postgres:password@127.0.0.1:5432/eccube_db" + DATABASE_SERVER_VERSION: "14" + MAILER_URL: "smtp://127.0.0.1:1025" + BASE_URL: "http://${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}:8080" + VADDY_PROXY: "${{ secrets.VADDY_PROXY }}" + VADDY_PROXY_PORT: "${{ secrets.VADDY_PROXY_PORT }}" + VADDY_VERIFICATION_CODE: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" + VADDY_CRAWL: "${{ matrix.command4 }}" + 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 ${{ matrix.command4 }} || true + vendor/bin/codecept -vvv run acceptance --env chrome,local,vaddy VaddyCest:commit + + - name: Upload report + if: ${{ matrix.command4 != '' && success() }} + uses: actions/upload-artifact@v2 + with: + name: crawl-reports + path: codeception/_output/**/* + + - name: "VAddy: disconnect" + if: ${{ matrix.command4 }} + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh disconnect + + - name: "VAddy: scan" + if: ${{ matrix.command4 != '' && success() }} + continue-on-error: true + env: + VADDY_CRAWL: "${{ matrix.command4 }}" + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh scan + + - name: "EC-CUBE: stop" + if: ${{ matrix.command4 }} + continue-on-error: true + run: docker rm -f -v eccube + + - name: "Scan 5" + if: ${{ matrix.command5 != '' }} + run: echo 'Scan 5' + + - name: "EC-CUBE: run" + if: ${{ matrix.command5 != '' }} + run: | + docker run \ + -e APP_ENV=dev \ + -e APP_DEBUG=1 \ + -e DATABASE_URL="postgres://postgres:password@172.17.0.1: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 + 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=${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }} eccube bash -c 'echo ${VADDY_VERIFICATION_CODE} > vaddy-${VADDY_VERIFICATION_CODE}.html' + docker exec -u www-data eccube bash -c 'for code in Api Coupon4 GMC MailMagazine4 ProductReview4 Recommend4 RelatedProduct4 SalesReport4 Securitychecker4 SiteKit; do bin/console eccube:plugin:enable --code $code; done' + + - name: "VAddy: connect" + if: ${{ matrix.command5 != '' }} + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh connect + + - name: "VAddy: crawl" + if: ${{ matrix.command5 != '' && success() }} + env: + APP_ENV: "codeception" + DATABASE_URL: "postgres://postgres:password@127.0.0.1:5432/eccube_db" + DATABASE_SERVER_VERSION: "14" + MAILER_URL: "smtp://127.0.0.1:1025" + BASE_URL: "http://${{ secrets[format('{0}{1}', 'VADDY_FQDN_', matrix.vaddy_project)] }}:8080" + VADDY_PROXY: "${{ secrets.VADDY_PROXY }}" + VADDY_PROXY_PORT: "${{ secrets.VADDY_PROXY_PORT }}" + VADDY_VERIFICATION_CODE: "${{ secrets[format('{0}{1}', 'VADDY_VERIFICATION_CODE_', matrix.vaddy_project)] }}" + VADDY_CRAWL: "${{ matrix.command5 }}" + 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 ${{ matrix.command5 }} || true + vendor/bin/codecept -vvv run acceptance --env chrome,local,vaddy VaddyCest:commit + + - name: Upload report + if: ${{ matrix.command5 != '' && success() }} + uses: actions/upload-artifact@v2 + with: + name: crawl-reports + path: codeception/_output/**/* + + - name: "VAddy: disconnect" + if: ${{ matrix.command5 }} + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh disconnect + + - name: "VAddy: scan" + if: ${{ matrix.command5 != '' && success() }} + continue-on-error: true + env: + VADDY_CRAWL: "${{ matrix.command5 }}" + working-directory: /tmp/go-vaddy-master/privatenet + run: ./vaddy_privatenet.sh scan + + - name: "EC-CUBE: stop" + if: ${{ matrix.command5 }} + continue-on-error: true + run: docker rm -f -v eccube + +# - name: VAddy private net logs +# if: ${{ always() }} +# working-directory: /tmp/go-vaddy-master/privatenet +# run: cat vaddy/*.txt From c0c9cba13ac89c05496d2974eae9281858aab976 Mon Sep 17 00:00:00 2001 From: daichi_otani Date: Mon, 18 Dec 2023 16:30:59 +0900 Subject: [PATCH 47/49] =?UTF-8?q?add:=E5=BF=85=E9=A0=88=E3=83=90=E3=83=83?= =?UTF-8?q?=E3=83=82=E3=81=AE=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../template/admin/Content/news_edit.twig | 15 +++++++++++++-- .../template/admin/Product/class_category.twig | 5 ++++- .../template/admin/Product/class_name.twig | 5 ++++- .../template/admin/Product/product_class.twig | 14 ++++++++++++-- .../Resource/template/admin/change_password.twig | 3 +++ 5 files changed, 36 insertions(+), 6 deletions(-) diff --git a/src/Eccube/Resource/template/admin/Content/news_edit.twig b/src/Eccube/Resource/template/admin/Content/news_edit.twig index 1a56ac7006b..abea34b4e71 100644 --- a/src/Eccube/Resource/template/admin/Content/news_edit.twig +++ b/src/Eccube/Resource/template/admin/Content/news_edit.twig @@ -37,7 +37,13 @@ file that was distributed with this source code.
-
{{ 'admin.content.news.publish_date'|trans }}
+
+ {{ 'admin.content.news.publish_date'|trans }} + + {{ 'admin.common.required'|trans }} + +
+
{{ form_widget(form.publish_date) }} {{ form_errors(form.publish_date) }} @@ -45,7 +51,12 @@ file that was distributed with this source code.
-
{{ 'admin.content.news.title'|trans }}
+
+ {{ 'admin.content.news.title'|trans }} + + {{ 'admin.common.required'|trans }} + +
{{ form_widget(form.title) }} {{ form_errors(form.title) }} diff --git a/src/Eccube/Resource/template/admin/Product/class_category.twig b/src/Eccube/Resource/template/admin/Product/class_category.twig index 9fd949d86eb..34ef394ad4a 100644 --- a/src/Eccube/Resource/template/admin/Product/class_category.twig +++ b/src/Eccube/Resource/template/admin/Product/class_category.twig @@ -150,7 +150,10 @@ file that was distributed with this source code.
  • -
    {{ 'admin.product.class_category_name__short'|trans }}
    +
    + {{ 'admin.product.class_category_name__short'|trans }} + {{ 'admin.common.required'|trans }} +
    {{ form_widget(form._token) }} {{ form_widget(form.name) }} diff --git a/src/Eccube/Resource/template/admin/Product/class_name.twig b/src/Eccube/Resource/template/admin/Product/class_name.twig index 8bb84743f54..1069892eaa4 100644 --- a/src/Eccube/Resource/template/admin/Product/class_name.twig +++ b/src/Eccube/Resource/template/admin/Product/class_name.twig @@ -139,7 +139,10 @@ file that was distributed with this source code.
    • -
      {{ 'admin.product.class_name'|trans }}
      +
      + {{ 'admin.product.class_name'|trans }} + {{ 'admin.common.required'|trans }} +
      {{ form_widget(form._token) }} {{ form_widget(form.name) }} diff --git a/src/Eccube/Resource/template/admin/Product/product_class.twig b/src/Eccube/Resource/template/admin/Product/product_class.twig index b24ddc3d428..c0f19a0ab9f 100644 --- a/src/Eccube/Resource/template/admin/Product/product_class.twig +++ b/src/Eccube/Resource/template/admin/Product/product_class.twig @@ -253,10 +253,20 @@ file that was distributed with this source code. {{ ClassName1 ? ClassName1.name }} {{ ClassName2 ? ClassName2.name }} {{ 'admin.product.product_code__short'|trans }} - {{ 'admin.product.stock__short'|trans }} + + {{ 'admin.product.stock__short'|trans }} + + {{ 'admin.common.required'|trans }} + + {{ 'admin.product.sale_limit'|trans }} {{ 'admin.product.normal_price'|trans }} - {{ 'admin.product.sale_price'|trans }} + + {{ 'admin.product.sale_price'|trans }} + + {{ 'admin.common.required'|trans }} + + {% if BaseInfo.option_product_delivery_fee %} {{ 'admin.product.delivery_fee'|trans }} {% endif %} diff --git a/src/Eccube/Resource/template/admin/change_password.twig b/src/Eccube/Resource/template/admin/change_password.twig index 292ea74ec79..ad83573ee69 100644 --- a/src/Eccube/Resource/template/admin/change_password.twig +++ b/src/Eccube/Resource/template/admin/change_password.twig @@ -41,6 +41,7 @@ file that was distributed with this source code.
      {{ 'admin.change_password.current_password'|trans }} + {{ 'admin.common.required'|trans }}
      @@ -53,6 +54,7 @@ file that was distributed with this source code.
      {{ 'admin.change_password.new_password'|trans }} + {{ 'admin.common.required'|trans }}
      @@ -65,6 +67,7 @@ file that was distributed with this source code.
      {{ 'admin.change_password.new_password_confirm'|trans }} + {{ 'admin.common.required'|trans }}
      From 0ac3afd1efd36d372867d34f3675249a837398df Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 17 Jan 2024 07:23:26 +0000 Subject: [PATCH 48/49] Bump the npm_and_yarn group group with 1 update Bumps the npm_and_yarn group group with 1 update: [browser-sync](https://github.com/BrowserSync/browser-sync). Updates `browser-sync` from 2.28.3 to 3.0.2 - [Release notes](https://github.com/BrowserSync/browser-sync/releases) - [Changelog](https://github.com/BrowserSync/browser-sync/blob/master/CHANGELOG.md) - [Commits](https://github.com/BrowserSync/browser-sync/compare/v2.28.3...v3.0.2) --- updated-dependencies: - dependency-name: browser-sync dependency-type: direct:development dependency-group: npm_and_yarn-security-group ... Signed-off-by: dependabot[bot] --- package-lock.json | 242 ++++++---------------------------------------- package.json | 2 +- 2 files changed, 32 insertions(+), 212 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2d71ec8a78b..9d42473908e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -34,7 +34,7 @@ "@babel/preset-env": "^7.18.2", "autoprefixer": "^9.6.4", "babel-loader": "^8.2.5", - "browser-sync": "^2.28.3", + "browser-sync": "^3.0.2", "cross-env": "^7.0.2", "css-mqpacker": "^7.0.0", "gulp": "^4.0.2", @@ -2853,15 +2853,6 @@ "url": "https://opencollective.com/postcss/" } }, - "node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "dev": true, - "dependencies": { - "follow-redirects": "^1.14.0" - } - }, "node_modules/babel-loader": { "version": "8.2.5", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", @@ -3089,15 +3080,14 @@ } }, "node_modules/browser-sync": { - "version": "2.28.3", - "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-2.28.3.tgz", - "integrity": "sha512-gublDeevvAuypnc01SQNGL8fkm4RdIkEagnAJ8Tl9mvr2td3Pl4nVIg5S6fcgoMDEWb8IT7nUHG9YwTATn/k2g==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/browser-sync/-/browser-sync-3.0.2.tgz", + "integrity": "sha512-PC9c7aWJFVR4IFySrJxOqLwB9ENn3/TaXCXtAa0SzLwocLN3qMjN+IatbjvtCX92BjNXsY6YWg9Eb7F3Wy255g==", "dev": true, "dependencies": { - "browser-sync-client": "^2.28.3", - "browser-sync-ui": "^2.28.3", + "browser-sync-client": "^3.0.2", + "browser-sync-ui": "^3.0.2", "bs-recipes": "1.3.4", - "bs-snippet-injector": "^2.0.1", "chalk": "4.1.2", "chokidar": "^3.5.1", "connect": "3.6.6", @@ -3110,11 +3100,9 @@ "fs-extra": "3.0.1", "http-proxy": "^1.18.1", "immutable": "^3", - "localtunnel": "^2.0.1", "micromatch": "^4.0.2", "opn": "5.3.0", "portscanner": "2.2.0", - "qs": "^6.11.0", "raw-body": "^2.3.2", "resp-modifier": "6.0.2", "rx": "4.1.0", @@ -3134,25 +3122,23 @@ } }, "node_modules/browser-sync-client": { - "version": "2.28.3", - "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-2.28.3.tgz", - "integrity": "sha512-SMsnGkyXlySVLBWRrXdnTdtQCy0Sl5UoiF8BVtigj9S49DaPWQiesbsyq+uJBUKgpyNve+cvfpBU3KSfIp6oLQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/browser-sync-client/-/browser-sync-client-3.0.2.tgz", + "integrity": "sha512-tBWdfn9L0wd2Pjuz/NWHtNEKthVb1Y67vg8/qyGNtCqetNz5lkDkFnrsx5UhPNPYUO8vci50IWC/BhYaQskDiQ==", "dev": true, "dependencies": { "etag": "1.8.1", "fresh": "0.5.2", - "mitt": "^1.1.3", - "rxjs": "^5.5.6", - "typescript": "^4.6.2" + "mitt": "^1.1.3" }, "engines": { "node": ">=8.0.0" } }, "node_modules/browser-sync-ui": { - "version": "2.28.3", - "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-2.28.3.tgz", - "integrity": "sha512-Mj5M+O3jroGp5hlO6pDfUo19wzUTIuvGyzaRrJAYUgsSkpFacrX+MLCjN9VbZm9fYXbtHyIsnIUUIlYag87wgQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/browser-sync-ui/-/browser-sync-ui-3.0.2.tgz", + "integrity": "sha512-V3FwWAI+abVbFLTyJjXJlCMBwjc3GXf/BPGfwO2fMFACWbIGW9/4SrBOFYEOOtqzCjQE0Di+U3VIb7eES4omNA==", "dev": true, "dependencies": { "async-each-series": "0.1.1", @@ -3337,12 +3323,6 @@ "integrity": "sha512-BXvDkqhDNxXEjeGM8LFkSbR+jzmP/CYpCiVKYn+soB1dDldeU15EBNDkwVXndKuX35wnNUaPd0qSoQEAkmQtMw==", "dev": true }, - "node_modules/bs-snippet-injector": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/bs-snippet-injector/-/bs-snippet-injector-2.0.1.tgz", - "integrity": "sha512-4u8IgB+L9L+S5hknOj3ddNSb42436gsnGm1AuM15B7CdbkpQTyVWgIM5/JUBiKiRwGOR86uo0Lu/OsX+SAlJmw==", - "dev": true - }, "node_modules/buffer-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", @@ -3685,38 +3665,6 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", @@ -4485,14 +4433,14 @@ } }, "node_modules/engine.io-client": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.4.0.tgz", - "integrity": "sha512-GyKPDyoEha+XZ7iEqam49vz6auPnNJ9ZBfy89f+rMMas8AuiMWOZ9PVzu8xb9ZC6rafUqiGHSCfu22ih66E+1g==", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.3.tgz", + "integrity": "sha512-9Z0qLB0NIisTRt1DZ/8U2k12RJn8yls/nXMZLn+/N8hANT3TcYjKFKcwbw5zFQiN4NTde3TSY9zb79e1ij6j9Q==", "dev": true, "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.1", - "engine.io-parser": "~5.0.3", + "engine.io-parser": "~5.2.1", "ws": "~8.11.0", "xmlhttprequest-ssl": "~2.0.0" } @@ -4514,6 +4462,15 @@ } } }, + "node_modules/engine.io-client/node_modules/engine.io-parser": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.1.tgz", + "integrity": "sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/engine.io-client/node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -7727,65 +7684,6 @@ "node": ">=8.9.0" } }, - "node_modules/localtunnel": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/localtunnel/-/localtunnel-2.0.2.tgz", - "integrity": "sha512-n418Cn5ynvJd7m/N1d9WVJISLJF/ellZnfsLnx8WBWGzxv/ntNcFkJ1o6se5quUhCplfLGBNL5tYHiq5WF3Nug==", - "dev": true, - "dependencies": { - "axios": "0.21.4", - "debug": "4.3.2", - "openurl": "1.1.1", - "yargs": "17.1.1" - }, - "bin": { - "lt": "bin/lt.js" - }, - "engines": { - "node": ">=8.3.0" - } - }, - "node_modules/localtunnel/node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/localtunnel/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/localtunnel/node_modules/yargs": { - "version": "17.1.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz", - "integrity": "sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", @@ -8770,12 +8668,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/openurl": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz", - "integrity": "sha512-d/gTkTb1i1GKz5k3XE3XFV/PxQ1k45zDqGP2OA7YhgsaLoqm6qRvARAZOFer1fcXritWlGBRCu/UgeS4HAnXAA==", - "dev": true - }, "node_modules/opn": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", @@ -9309,21 +9201,6 @@ "node": ">=6" } }, - "node_modules/qs": { - "version": "6.11.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz", - "integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -9775,18 +9652,6 @@ "integrity": "sha512-CiaiuN6gapkdl+cZUr67W6I8jquN4lkak3vtIsIWCl4XIPP8ffsoyN6/+PuGXnQy8Cu8W2y9Xxh31Rq4M6wUug==", "dev": true }, - "node_modules/rxjs": { - "version": "5.5.12", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz", - "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==", - "dev": true, - "dependencies": { - "symbol-observable": "1.0.1" - }, - "engines": { - "npm": ">=2.0.0" - } - }, "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -10142,20 +10007,6 @@ "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", "dev": true }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/signal-exit": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", @@ -10410,15 +10261,15 @@ } }, "node_modules/socket.io-client": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.6.1.tgz", - "integrity": "sha512-5UswCV6hpaRsNg5kkEHVcbBIXEYoVbMQaHJBXJCyEQ+CiFPV1NIOY0XOFWG4XR4GZcB8Kn6AsRs/9cy9TbqVMQ==", + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.4.tgz", + "integrity": "sha512-wh+OkeF0rAVCrABWQBaEjLfb7DVPotMbu0cgWgyR0v6eA4EoVnAwcIeIbcdTE3GT/H3kbdLl7OoH2+asoDRIIg==", "dev": true, "dependencies": { "@socket.io/component-emitter": "~3.1.0", "debug": "~4.3.2", - "engine.io-client": "~6.4.0", - "socket.io-parser": "~4.2.1" + "engine.io-client": "~6.5.2", + "socket.io-parser": "~4.2.4" }, "engines": { "node": ">=10.0.0" @@ -10896,15 +10747,6 @@ "es6-symbol": "^3.1.1" } }, - "node_modules/symbol-observable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", - "integrity": "sha512-Kb3PrPYz4HanVF1LVGuAdW6LoVgIwjUYJGzFe7NDrBLCN4lsV/5J0MFurV+ygS4bRVwrCEt2c7MQ1R2a72oJDw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -11168,19 +11010,6 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, - "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, "node_modules/ua-parser-js": { "version": "1.0.34", "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.34.tgz", @@ -12016,15 +11845,6 @@ "node": ">=12" } }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/yargs/node_modules/ansi-regex": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", diff --git a/package.json b/package.json index 466d97ea39b..4848f1003a5 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "@babel/preset-env": "^7.18.2", "autoprefixer": "^9.6.4", "babel-loader": "^8.2.5", - "browser-sync": "^2.28.3", + "browser-sync": "^3.0.2", "cross-env": "^7.0.2", "css-mqpacker": "^7.0.0", "gulp": "^4.0.2", From 4bbc2a84190a847a780898232da41f42e3f8185f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 17 Jan 2024 07:24:23 +0000 Subject: [PATCH 49/49] Bump follow-redirects from 1.15.2 to 1.15.5 Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.15.2 to 1.15.5. - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.15.2...v1.15.5) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2d71ec8a78b..b8574922d43 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5476,9 +5476,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", "dev": true, "funding": [ { @@ -11729,18 +11729,6 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/webpack-cli/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/webpack-cli/node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",