Skip to content

fix(deps): bump the npm-prod-minor-patch group across 1 directory with 4 updates #144

fix(deps): bump the npm-prod-minor-patch group across 1 directory with 4 updates

fix(deps): bump the npm-prod-minor-patch group across 1 directory with 4 updates #144

# These are used by the repository to test the GitHub workflows for the repository.
# Projects using the skeleton should remove this file, and updated the `ci.yml` workflow
name: CI (Public Workflows)
on:
push:
branches:
- main
pull_request:
branches:
- main
- release/**
types: [opened, synchronize, reopened, ready_for_review]
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
cancel-in-progress: true
permissions:
contents: read
jobs:
detect:
name: Detect Changes
runs-on: ubuntu-24.04
if: github.event_name != 'pull_request' || github.event.pull_request.draft == false
permissions:
contents: read
pull-requests: read
outputs:
php: ${{ steps.filter.outputs.php }}
phpcs: ${{ steps.filter.outputs.phpcs }}
phpstan: ${{ steps.filter.outputs.phpstan }}
phpunit: ${{ steps.filter.outputs.phpunit }}
js: ${{ steps.filter.outputs.js }}
css: ${{ steps.filter.outputs.css }}
e2e: ${{ steps.filter.outputs.e2e }}
jest: ${{ steps.filter.outputs.jest }}
steps:
- name: Checkout repository
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- name: Detect file changes
uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2
id: filter
with:
filters: |
php:
- 'composer.*'
phpcs:
- '.github/workflows/reusable-phpcs-public.yml'
- '.github/workflows/test-public-workflows.yml'
- '.phpcs.xml.dist'
phpstan:
- '.github/workflows/reusable-phpstan-public.yml'
- '.github/workflows/test-public-workflows.yml'
- 'phpstan.neon.dist'
phpunit:
- '.github/workflows/reusable-phpunit-public.yml'
- '.github/workflows/test-public-workflows.yml'
- 'phpunit.xml.dist'
- 'package*.json'
js:
- '.github/workflows/reusable-lint-css-js-public.yml'
- '.github/workflows/test-public-workflows.yml'
- 'eslint.config.mjs'
- '.nvmrc'
- '.prettierrc.js'
- 'package*.json'
- 'tsconfig*.json'
css:
- '.stylelintignore'
- '.stylelint.config.js*'
e2e:
- '.github/workflows/reusable-e2e-public.yml'
- '.github/workflows/test-public-workflows.yml'
- 'playwright.config.ts'
jest:
- '.github/workflows/reusable-jest-public.yml'
- '.github/workflows/test-public-workflows.yml'
- 'jest.config.js'
- 'package*.json'
phpcs:
name: PHPCS
needs: detect
if: needs.detect.outputs.php == 'true' || needs.detect.outputs.phpcs == 'true'
uses: ./.github/workflows/reusable-phpcs-public.yml
permissions:
contents: read
with:
php-version: '8.2'
phpstan:
name: PHPStan
needs: detect
if: needs.detect.outputs.php == 'true' || needs.detect.outputs.phpstan == 'true'
uses: ./.github/workflows/reusable-phpstan-public.yml
permissions:
contents: read
with:
php-version: '8.2'
lint-css-js:
name: CSS/JS Lint
needs: detect
if: needs.detect.outputs.css == 'true' || needs.detect.outputs.js == 'true'
uses: ./.github/workflows/reusable-lint-css-js-public.yml
permissions:
contents: read
jest:
name: Jest Unit Tests
needs: detect
if: needs.detect.outputs.js == 'true' || needs.detect.outputs.jest == 'true'
uses: ./.github/workflows/reusable-jest-public.yml
permissions:
contents: read
with:
coverage: true
phpunit:
name: PHPUnit (PHP ${{ matrix.php }}, WP ${{ matrix.wp }})
needs: detect
if: needs.detect.outputs.php == 'true' || needs.detect.outputs.phpunit == 'true'
uses: ./.github/workflows/reusable-phpunit-public.yml
permissions:
contents: read
strategy:
fail-fast: false
matrix:
php: ['8.4']
wp: ['latest']
include:
- php: '8.4'
wp: 'latest'
coverage: true
with:
php-version: ${{ matrix.php }}
wp-version: ${{ matrix.wp }}
coverage: ${{ matrix.coverage == true }}
secrets: inherit
e2e:
name: E2E Tests
needs: detect
if: needs.detect.outputs.php == 'true' || needs.detect.outputs.e2e == 'true' || needs.detect.outputs.js == 'true' || needs.detect.outputs.css == 'true'
uses: ./.github/workflows/reusable-e2e-public.yml
permissions:
contents: read
with:
php-version: '8.2'
build-plugin-zip:
name: Build Plugin Zip
permissions:
contents: read
uses: ./.github/workflows/reusable-build-public.yml
with:
php-version: '8.2'
artifact-name: plugin-skeleton-d-pr-public${{ github.event.pull_request.number }}-${{ github.event.pull_request.head.sha }}
secrets: inherit
playground-preview:
name: Playground Preview
needs: build-plugin-zip
if: github.event_name == 'pull_request'
uses: ./.github/workflows/reusable-wp-playground-pr-preview-public.yml
permissions:
actions: read
contents: write
pull-requests: write
with:
run-id: ${{ github.run_id }}
artifact-prefix: 'plugin-skeleton-d-pr-public'
artifact-filename: 'plugin-skeleton-d.zip'