Skip to content

[Live][Stimulus] Prepping the LiveComponent Stable Release 🚀 #932

[Live][Stimulus] Prepping the LiveComponent Stable Release 🚀

[Live][Stimulus] Prepping the LiveComponent Stable Release 🚀 #932

Workflow file for this run

name: Symfony UX
on:
push:
paths-ignore:
- 'src/*/doc/**'
- 'ux.symfony.com/**'
pull_request:
paths-ignore:
- 'src/*/doc/**'
- 'ux.symfony.com/**'
jobs:
coding-style-php:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: '8.1'
- uses: ramsey/composer-install@v2
- name: php-cs-fixer
run: ./vendor/bin/php-cs-fixer fix --dry-run --diff
coding-style-js:
name: JavaScript Coding Style
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
- uses: actions/cache@v4
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/package.json') }}
restore-keys: |
${{ runner.os }}-yarn-
- run: yarn --frozen-lockfile
- run: yarn check-lint
- run: yarn check-format
js-dist-current:
name: Check for UnBuilt JS Dist Files
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
- uses: actions/cache@v4
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/package.json') }}
restore-keys: |
${{ runner.os }}-yarn-
- run: yarn --frozen-lockfile && yarn build
- name: Check if js dist files are current
id: changes
run: |
echo "STATUS=$(git status --porcelain)" >> $GITHUB_OUTPUT
- name: No changes found
if: steps.changes.outputs.STATUS == ''
run: |
echo "git status is clean"
- name: Changes were found
if: steps.changes.outputs.STATUS != ''
run: |
echo "JS dist files need to be rebuilt"
echo "${{ steps.changes.outputs.STATUS }}"
exit 1
tests-php-components:
runs-on: ubuntu-latest
outputs:
components: ${{ steps.components.outputs.components }}
steps:
- uses: actions/checkout@v4
- id: components
run: |
components=$(tree src -J -d -L 1 | jq -c '.[0].contents | map(.name)')
echo "$components"
echo "components=$components" >> $GITHUB_OUTPUT
tests-php:
runs-on: ubuntu-latest
needs: tests-php-components
strategy:
fail-fast: false
matrix:
php-version: ['8.1', '8.3']
include:
- php-version: '8.1'
dependency-version: 'lowest'
- php-version: '8.3'
dependency-version: 'highest'
component: ${{ fromJson(needs.tests-php-components.outputs.components )}}
exclude:
- component: Swup # has no tests
- component: Turbo # has its own workflow (test-turbo.yml)
- component: Typed # has no tests
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
- name: Install root packages
uses: ramsey/composer-install@v2
with:
working-directory: ${{ github.workspace }}
dependency-versions: ${{ matrix.dependency-version }}
- name: Build root packages
run: php .github/build-packages.php
working-directory: ${{ github.workspace }}
- name: Install ${{ matrix.component }} packages
uses: ramsey/composer-install@v2
with:
working-directory: "src/${{ matrix.component }}"
dependency-versions: ${{ matrix.dependency-version }}
- name: ${{ matrix.component }} Tests
working-directory: "src/${{ matrix.component }}"
run: vendor/bin/simple-phpunit
tests-js:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
- uses: actions/cache@v4
id: yarn-cache
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-yarn-${{ hashFiles('**/package.json') }}
restore-keys: |
${{ runner.os }}-yarn-
- run: yarn --immutable
- run: yarn test