Skip to content

Nightly Pipeline

Nightly Pipeline #280

Workflow file for this run

name: Nightly Pipeline
on:
workflow_dispatch:
schedule:
# 00:15 am
- cron: '15 0 * * *'
jobs:
config:
name: Test Plugin Configuration
runs-on: ubuntu-latest
steps:
- name: Clone Code
uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 7.4
- name: Test configuration
run: make configcheck -B
# ------------------------------------------------------------------------------------------------------------------------
install:
name: Install Dependencies
runs-on: ubuntu-latest
steps:
- name: Clone Code
uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 7.4
- name: Mount Dev Dependency Cache
uses: actions/cache@v3
with:
key: cache-dev-dependencies-${{ github.run_id }}
path: |
src/Resources/app/storefront/node_modules
src/Resources/app/administration/node_modules
vendor
- name: Install Dependencies
run: make dev -B
# ------------------------------------------------------------------------------------------------------------------------
snippets:
name: Test Snippets
runs-on: ubuntu-latest
needs: install
steps:
- name: Clone Code
uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 7.4
- name: Mount Dev Dependency Cache
uses: actions/cache@v3
with:
key: cache-dev-dependencies-${{ github.run_id }}
path: |
src/Resources/app/storefront/node_modules
src/Resources/app/administration/node_modules
vendor
- name: Test snippets
run: make snippetcheck -B
# ------------------------------------------------------------------------------------------------------------------------
jest:
name: Jest Tests
needs: install
runs-on: ubuntu-latest
steps:
- name: Clone Code
uses: actions/checkout@v3
- name: Mount Dev Dependency Cache
uses: actions/cache@v3
with:
key: cache-dev-dependencies-${{ github.run_id }}
path: |
src/Resources/app/storefront/node_modules
src/Resources/app/administration/node_modules
vendor
- name: Run Jest
run: make jest -B
stryker:
name: Stryker Tests
needs: jest
runs-on: ubuntu-latest
steps:
- name: Clone Code
uses: actions/checkout@v3
- name: Mount Dev Dependency Cache
uses: actions/cache@v3
with:
key: cache-dev-dependencies-${{ github.run_id }}
path: |
src/Resources/app/storefront/node_modules
src/Resources/app/administration/node_modules
vendor
- name: Run Stryker
run: make stryker -B
eslint:
name: ESLint
needs: install
runs-on: ubuntu-latest
steps:
- name: Clone Code
uses: actions/checkout@v3
- name: Mount Dev Dependency Cache
uses: actions/cache@v3
with:
key: cache-dev-dependencies-${{ github.run_id }}
path: |
src/Resources/app/storefront/node_modules
src/Resources/app/administration/node_modules
vendor
- name: Run ESLint
run: make eslint -B
stylelint:
name: Stylelint
needs: install
runs-on: ubuntu-latest
steps:
- name: Clone Code
uses: actions/checkout@v3
- name: Mount Dev Dependency Cache
uses: actions/cache@v3
with:
key: cache-dev-dependencies-${{ github.run_id }}
path: |
src/Resources/app/storefront/node_modules
src/Resources/app/administration/node_modules
vendor
- name: Run Stylelint
run: make stylelint -B
# ------------------------------------------------------------------------------------------------------------------------
php_checks:
name: PHP Syntax Checks
needs: install
runs-on: ubuntu-latest
steps:
- name: Clone Code
uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 7.4
- name: PHP Syntax Checks
run: make phpcheck -B
php_min:
name: PHP 7.2 Compatibility
needs: install
runs-on: ubuntu-latest
steps:
- name: Clone Code
uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 7.4
- name: Mount Dev Dependency Cache
uses: actions/cache@v3
with:
key: cache-dev-dependencies-${{ github.run_id }}
path: |
src/Resources/app/storefront/node_modules
src/Resources/app/administration/node_modules
vendor
- name: PHP Compatibility Checks
run: make phpmin -B
phpunit:
name: PHPUnit
needs: install
runs-on: ubuntu-latest
steps:
- name: Clone Code
uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 7.4
- name: Mount Dev Dependency Cache
uses: actions/cache@v3
with:
key: cache-dev-dependencies-${{ github.run_id }}
path: |
src/Resources/app/storefront/node_modules
src/Resources/app/administration/node_modules
vendor
- name: Run PHPUnit
run: make phpunit -B
infection:
name: Infection Tests
needs: phpunit
runs-on: ubuntu-latest
steps:
- name: Clone Code
uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 7.4
- name: Mount Dev Dependency Cache
uses: actions/cache@v3
with:
key: cache-dev-dependencies-${{ github.run_id }}
path: |
src/Resources/app/storefront/node_modules
src/Resources/app/administration/node_modules
vendor
- name: Run Infection
run: make infection -B
phpstan:
name: PHPStan
needs: install
runs-on: ubuntu-latest
steps:
- name: Clone Code
uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 7.4
- name: Mount Dev Dependency Cache
uses: actions/cache@v3
with:
key: cache-dev-dependencies-${{ github.run_id }}
path: |
src/Resources/app/storefront/node_modules
src/Resources/app/administration/node_modules
vendor
- name: Run PHPStan
run: make stan -B
phpcsfixer:
name: PHP CS Fixer
needs: install
runs-on: ubuntu-latest
steps:
- name: Clone Code
uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 7.4
- name: Mount Dev Dependency Cache
uses: actions/cache@v3
with:
key: cache-dev-dependencies-${{ github.run_id }}
path: |
src/Resources/app/storefront/node_modules
src/Resources/app/administration/node_modules
vendor
- name: Run PHP CS Fixer
run: make csfix -B
# ------------------------------------------------------------------------------------------------------------------------
build:
name: Build Plugin
runs-on: ubuntu-latest
steps:
- name: Clone Code
uses: actions/checkout@v3
- name: Create Cache Directories
run: |
mkdir -p ~/.build
- name: Mount Build Cache
uses: actions/cache@v3
with:
key: cache-plugin-${{ github.run_id }}
path: ~/.build
- name: Build Plugin
uses: ./.github/actions/build-plugin
e2e:
name: E2E | Shopware ${{ matrix.shopware }}, PHP ${{ matrix.php }}
needs: build
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- shopware: '6.5.8.4'
php: '8.2'
- shopware: '6.5.6.1'
php: '8.2'
- shopware: '6.5.5.2'
php: '8.2'
- shopware: '6.5.4.1'
php: '8.2'
- shopware: '6.5.3.3'
php: '8.2'
- shopware: '6.5.3.0'
php: '8.2'
- shopware: '6.5.2.1'
php: '8.2'
- shopware: '6.5.1.1'
php: '8.2'
- shopware: '6.5.0.0'
php: '8.2'
- shopware: '6.4.20.2'
php: '8.2'
- shopware: '6.4.19.0'
php: '8.2'
- shopware: '6.4.18.0'
php: '8.2'
- shopware: '6.4.17.2'
php: '8.1'
- shopware: '6.4.17.1'
php: '8.1'
- shopware: '6.4.16.1'
php: '8.1'
- shopware: '6.4.15.2'
php: '8.1'
- shopware: '6.4.15.1'
php: '8.1'
- shopware: '6.4.14.0'
php: '8.1'
- shopware: '6.4.12.0'
php: '8.0'
- shopware: '6.4.11.1'
php: '8.0'
- shopware: '6.4.10.0'
php: '8.0'
- shopware: '6.4.9.0'
php: '7.4'
- shopware: '6.4.8.2'
php: '7.4'
- shopware: '6.4.7.0'
php: '7.4'
- shopware: '6.4.6.1'
php: '7.4'
- shopware: '6.4.5.1'
php: '7.4'
- shopware: '6.4.4.1'
php: '7.4'
- shopware: '6.4.2.1'
php: '7.4'
- shopware: '6.4.1.2'
php: '7.4'
- shopware: '6.4.0.0'
php: '7.4'
steps:
- name: Clone Code
uses: actions/checkout@v3
- name: Mount Build Cache
uses: actions/cache@v3
with:
key: cache-plugin-${{ github.run_id }}
path: ~/.build
- name: E2E Tests, Shopware ${{ matrix.shopware }}
uses: ./.github/actions/run-e2e
with:
# -------------------------------------------
SHOPWARE: ${{ matrix.shopware }}
PHP: ${{ matrix.php }}
# -------------------------------------------
MOLLIE_APIKEY_TEST: ${{ secrets.MOLLIE_APIKEY_TEST }}
# -------------------------------------------
RUN_CYPRESS: true
TESTRAIL: true
TESTRAIL_DOMAIN: ${{ secrets.TESTRAIL_DOMAIN }}
TESTRAIL_USERNAME: ${{ secrets.TESTRAIL_USERNAME }}
TESTRAIL_PASSWORD: ${{ secrets.TESTRAIL_PASSWORD }}