CI Pipeline #1278
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI Pipeline | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- master | |
paths-ignore: | |
- '.github/**' | |
- '**.md' | |
- 'makefile' | |
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.6.7.1' | |
php: '8.2' | |
- shopware: '6.5.8.12' | |
php: '8.2' | |
- shopware: '6.5.6.1' | |
php: '8.2' | |
- shopware: '6.5.5.2' | |
php: '8.2' | |
- shopware: '6.4.20.2' | |
php: '8.2' | |
- shopware: '6.4.1.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: false | |
TESTRAIL_DOMAIN: ${{ secrets.TESTRAIL_DOMAIN }} | |
TESTRAIL_USERNAME: ${{ secrets.TESTRAIL_USERNAME }} | |
TESTRAIL_PASSWORD: ${{ secrets.TESTRAIL_PASSWORD }} |