diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 87b5c1f..188fa11 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -1,45 +1,147 @@ name: Test nightly on: - workflow_dispatch: - schedule: - - cron: "3 3 * * * " + push: + branches: + - add-nightly-jobs + workflow_dispatch: + schedule: + - cron: "3 3 * * * " jobs: - test: - name: Test ${{ matrix.name }} - runs-on: ubuntu-latest - strategy: - fail-fast: true - matrix: - include: - - name: 6.4.x - package: dev-flex - - name: 6.5.x - package: 6.5.0.0-dev - env: - APP_ENV: prod - DATABASE_URL: mysql://root:root@127.0.0.1:3306/root - APP_URL: http://localhost:8000 - APP_SECRET: devsecret - BLUE_GREEN_DEPLOYMENT: 0 - NODE_OPTIONS: '--openssl-legacy-provider' - services: - database: - image: mysql:8.0 + test: + name: Test ${{ matrix.name }} + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: + - name: 6.4.x + package: ~6.4.0 + php: 8.1 + - name: 6.5.x + package: ~6.5.0 + php: 8.1 + - name: 6.5.x (6.5.x-dev) + package: 6.5.x-dev + php: 8.1 + - name: trunk + package: 6.6.x-dev + php: 8.2 env: - MYSQL_ROOT_PASSWORD: root - MYSQL_DATABASE: root - options: '--mount="type=tmpfs,destination=/var/lib/mysql" --health-cmd="mysqladmin ping -h 127.0.0.1" --health-interval=5s --health-timeout=2s --health-retries=3' - ports: - - "3306:3306" - steps: - - name: Create project - run: composer create-project shopware/production:${{ matrix.package }} project - - - name: Install Shopware - run: | - cd project - ./bin/console system:install --basic-setup --create-database - ./bin/build-administration.sh - ./bin/build-storefront.sh + APP_ENV: prod + DATABASE_URL: mysql://root:root@127.0.0.1:3306/root + APP_URL: http://localhost:8000 + APP_SECRET: devsecret + BLUE_GREEN_DEPLOYMENT: 0 + NODE_OPTIONS: '--openssl-legacy-provider' + services: + database: + image: mysql:8.0 + env: + MYSQL_ROOT_PASSWORD: root + MYSQL_DATABASE: root + options: '--mount="type=tmpfs,destination=/var/lib/mysql" --health-cmd="mysqladmin ping -h 127.0.0.1" --health-interval=5s --health-timeout=2s --health-retries=3' + ports: + - "3306:3306" + steps: + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + - name: Setup project + run: | + touch .env + touch .gitignore + mkdir -p custom/plugins custom/apps custom/static-plugins + COMPOSER=$(cat < composer.json + + - name: Test + run: cat composer.json + + - name: Install Composer + run: composer install + + - name: Install Shopware + run: ./bin/console system:install --basic-setup --create-database + + - name: Generate demo data + run: ./bin/console framework:demodata -e prod + + - name: DAL refresh + run: ./bin/console dal:refresh:index + + - name: Build admin + run: ./bin/build-administration.sh + + - name: Build storefront + run: ./bin/build-storefront.sh diff --git a/shopware/core/6.6/bin/ci b/shopware/core/6.6/bin/ci index 699cf03..fcd788c 100755 --- a/shopware/core/6.6/bin/ci +++ b/shopware/core/6.6/bin/ci @@ -35,7 +35,10 @@ return static function (array &$context) { $context['INSTALL'] = true; } - $_SERVER['DATABASE_URL'] = 'mysql://_placeholder.test'; + if (trim($context['DATABASE_URL'] ?? '') === '') { + // fake DATABASE_URL + $_SERVER['DATABASE_URL'] = 'mysql://_placeholder.test'; + } $kernel = new HttpKernel($env, $debug, $classLoader); $kernel->setPluginLoader($pluginLoader);