Skip to content

Assure PHP Dev Setup #733

Assure PHP Dev Setup

Assure PHP Dev Setup #733

Workflow file for this run

# For details of what checks are run for PRs please refer below
# docs: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions
name: Assure PHP Dev Setup
on:
push:
branches: ["master", "next"]
paths:
- '.github/workflows/php-dev.yml'
- 'tools/**'
- 'composer.*'
pull_request:
paths:
- '.github/workflows/php-dev.yml'
- 'tools/**'
- 'composer.*'
workflow_dispatch:
schedule:
# schedule weekly tests, since dependencies are not intended to be pinned
# this means: at 23:42 on Fridays
- cron: '42 23 * * 5'
concurrency:
group: '${{ github.workflow }}-${{ github.ref }}'
cancel-in-progress: true
env:
PHP_VERSION_LATEST: "8.3"
PHP_PROJECT_EXT: dom,json,libxml # via `composer info -pt`
jobs:
assure-dev-setup:
name: DevSetup (${{ matrix.os}}, ${{ matrix.php }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ "ubuntu-latest", "macos-latest", "windows-latest" ]
php:
- "8.3" # highest supported
- "8.1" # lowest supported
timeout-minutes: 30
steps:
- name: Checkout
# see https://github.com/actions/checkout
uses: actions/checkout@v4
- name: Setup PHP
# see https://github.com/shivammathur/setup-php
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: ${{ env.PHP_PROJECT_EXT }}
tools: 'composer:v2'
- name: Get composer cache directory
id: composer-cache
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
shell: bash
- name: Cache dependencies
if: ${{ steps.composer-cache.outputs.dir }}
# see https://github.com/actions/cache
uses: actions/cache@v4
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: composer-${{ github.job }}-${{ runner.os }}-php${{ matrix.php }}-${{ hashFiles('composer.*', 'tools/*/composer.*') }}
restore-keys: |
composer-${{ github.job }}-${{ runner.os }}-php${{ matrix.php }}-
composer-${{ github.job }}-${{ runner.os }}-
- name: Dev-Setup
run: >
composer run-script --
dev-setup
--no-interaction