[WIP] Update Manager Refactor #2909
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: Tests | |
on: | |
push: | |
branches: | |
- '1.2' | |
- develop | |
pull_request: | |
jobs: | |
frontendTests: | |
strategy: | |
max-parallel: 2 | |
matrix: | |
operatingSystem: [ubuntu-latest, windows-latest] | |
fail-fast: false | |
runs-on: ${{ matrix.operatingSystem }} | |
name: ${{ matrix.operatingSystem }} / JavaScript | |
env: | |
nodeVersion: 16 | |
phpVersion: '8.0' | |
extensions: curl, fileinfo, gd, mbstring, openssl, pdo, pdo_sqlite, sqlite3, xml, zip | |
key: winter-cms-cache-develop | |
steps: | |
- name: Cancel previous incomplete runs | |
uses: styfle/[email protected] | |
with: | |
access_token: ${{ github.token }} | |
- name: Checkout changes | |
uses: actions/checkout@v3 | |
- name: Setup extension cache | |
id: extcache | |
uses: shivammathur/cache-extensions@v1 | |
with: | |
php-version: ${{ env.phpVersion }} | |
extensions: ${{ env.extensions }} | |
key: ${{ env.key }} | |
- name: Cache extensions | |
uses: actions/cache@v3 | |
with: | |
path: ${{ steps.extcache.outputs.dir }} | |
key: ${{ steps.extcache.outputs.key }} | |
restore-keys: ${{ steps.extcache.outputs.key }} | |
- name: Install PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ env.phpVersion }} | |
extensions: ${{ env.extensions }} | |
- name: Install Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ env.nodeVersion }} | |
- name: Switch library dependency (develop) | |
if: github.ref == 'refs/heads/develop' || github.base_ref == 'develop' | |
run: php ./.github/workflows/utilities/library-switcher "dev-develop as 1.2" | |
- name: Switch library dependency (1.2) | |
if: github.head_ref == '1.2' || github.ref == 'refs/heads/1.2' || github.base_ref == '1.2' | |
run: php ./.github/workflows/utilities/library-switcher "1.2.x-dev as 1.2" | |
- name: Setup dependency cache | |
id: composercache | |
run: echo "::set-output name=dir::$(composer config cache-files-dir)" | |
- name: Cache dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ${{ steps.composercache.outputs.dir }} | |
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} | |
restore-keys: ${{ runner.os }}-composer- | |
- name: Install Composer dependencies | |
run: composer install --no-interaction --no-progress --no-scripts | |
- name: Reset modules | |
run: | | |
git reset --hard | |
git clean -fd | |
- name: Run post-update Composer scripts | |
run: php artisan package:discover | |
- name: Run tests | |
run: | | |
php artisan mix:install | |
php artisan mix:run module-system test | |
phpUnitTests: | |
strategy: | |
max-parallel: 8 | |
matrix: | |
operatingSystem: [ubuntu-latest, windows-latest] | |
phpVersion: ['8.0', '8.1', '8.2', '8.3'] | |
fail-fast: false | |
runs-on: ${{ matrix.operatingSystem }} | |
name: ${{ matrix.operatingSystem }} / PHP ${{ matrix.phpVersion }} | |
env: | |
extensions: curl, fileinfo, gd, mbstring, openssl, pdo, pdo_sqlite, sqlite3, xml, zip | |
key: winter-cms-cache-develop | |
steps: | |
- name: Cancel previous incomplete runs | |
uses: styfle/[email protected] | |
with: | |
access_token: ${{ github.token }} | |
- name: Checkout changes | |
uses: actions/checkout@v2 | |
- name: Setup extension cache | |
id: extcache | |
uses: shivammathur/cache-extensions@v1 | |
with: | |
php-version: ${{ matrix.phpVersion }} | |
extensions: ${{ env.extensions }} | |
key: ${{ env.key }} | |
- name: Cache extensions | |
uses: actions/cache@v2 | |
with: | |
path: ${{ steps.extcache.outputs.dir }} | |
key: ${{ steps.extcache.outputs.key }} | |
restore-keys: ${{ steps.extcache.outputs.key }} | |
- name: Install PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.phpVersion }} | |
extensions: ${{ env.extensions }} | |
- name: Switch library dependency (develop) | |
if: github.ref == 'refs/heads/develop' || github.base_ref == 'develop' | |
run: php ./.github/workflows/utilities/library-switcher "dev-develop as 1.2" | |
- name: Switch library dependency (1.0) | |
if: github.head_ref == '1.0' || github.ref == 'refs/heads/1.0' || github.base_ref == '1.0' | |
run: php ./.github/workflows/utilities/library-switcher "1.0.x-dev as 1.0" | |
- name: Switch library dependency (1.1) | |
if: github.head_ref == '1.1' || github.ref == 'refs/heads/1.1' || github.base_ref == '1.1' | |
run: php ./.github/workflows/utilities/library-switcher "1.1.x-dev as 1.1" | |
- name: Switch library dependency (1.2) | |
if: github.head_ref == '1.2' || github.ref == 'refs/heads/1.2' || github.base_ref == '1.2' | |
run: php ./.github/workflows/utilities/library-switcher "1.2.x-dev as 1.2" | |
- name: Setup dependency cache | |
id: composercache | |
run: echo "::set-output name=dir::$(composer config cache-files-dir)" | |
- name: Cache dependencies | |
uses: actions/cache@v2 | |
with: | |
path: ${{ steps.composercache.outputs.dir }} | |
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} | |
restore-keys: ${{ runner.os }}-composer- | |
- name: Install Composer dependencies | |
run: composer install --no-interaction --no-progress --no-scripts | |
- name: Reset modules | |
run: | | |
git reset --hard | |
git clean -fd | |
- name: Run post-update Composer scripts | |
run: php artisan package:discover | |
- name: Setup problem matchers for PHPUnit | |
if: matrix.phpVersion == '8.1' | |
run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" | |
- name: Run Linting and Tests | |
run: | | |
composer lint | |
php artisan winter:test -m system -m backend -m cms |