Skip to content

SplFileInfoRepresentationTest: Set umask for consistency #375

SplFileInfoRepresentationTest: Set umask for consistency

SplFileInfoRepresentationTest: Set umask for consistency #375

Workflow file for this run

# TODO:
# * Way to only show the test in question instead of having it striped off
# * Way to mark static tests failed but continue anyway
name: Tests
on: [push, pull_request]
jobs:
test-format:
name: 'Code format check'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
- uses: shivammathur/setup-php@v2
with:
php-version: 8.3
- uses: actions/cache@v3
id: vendor-caches
with:
path: |
./vendor
./node_modules
key: ${{ hashFiles('./composer.lock', './package-lock.json') }}
- run: composer install
if: steps.vendor-caches.outputs.cache-hit != 'true'
- run: composer format
env:
PHP_CS_FIXER_IGNORE_ENV: 1
- run: git status
- run: git diff-files --quiet --exit-code
test-build:
name: 'Build check'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
- uses: shivammathur/setup-php@v2
with:
php-version: 8.3
ini-values: 'phar.readonly=Off'
- uses: actions/cache@v3
id: vendor-caches
with:
path: |
./vendor
./node_modules
key: ${{ hashFiles('./composer.lock', './package-lock.json') }}
- run: composer install
if: steps.vendor-caches.outputs.cache-hit != 'true'
- run: composer clean
- run: composer build
- run: git status
- run: git diff-files --quiet --exit-code
test-static:
name: 'Static analysis check'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
- uses: shivammathur/setup-php@v2
with:
php-version: 8.3
- uses: actions/cache@v3
id: vendor-caches
with:
path: |
./vendor
./node_modules
key: ${{ hashFiles('./composer.lock', './package-lock.json') }}
- run: composer install
if: steps.vendor-caches.outputs.cache-hit != 'true'
- run: composer analyze
continue-on-error: true
test-basic:
name: 'Basic test ${{ matrix.php-coverage }}'
runs-on: ubuntu-latest
services:
mysql:
image: mysql:latest
env:
MYSQL_ALLOW_EMPTY_PASSWORD: yes
ports:
- 3306
# Should increase test consistency by ensuring mysql actually starts up properly
options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3
strategy:
matrix:
php-coverage:
- none
- xdebug
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
- uses: shivammathur/setup-php@v2
with:
php-version: 8.3
coverage: ${{ matrix.php-coverage }}
- uses: actions/cache@v3
id: vendor-caches
with:
path: |
./vendor
./node_modules
key: ${{ hashFiles('./composer.lock', './package-lock.json') }}
- run: composer install
if: steps.vendor-caches.outputs.cache-hit != 'true'
- run: php ./vendor/bin/phpunit tests
env:
MYSQLI_HOST: localhost:${{ job.services.mysql.ports['3306'] }}
tests:
name: 'PHP ${{ matrix.php-versions }} ${{ matrix.phar }}tests'
needs:
- test-format
- test-build
- test-static
- test-basic
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php-versions:
- 7.4
- 8.0
- 8.1
- 8.2
- 8.3
- 8.4
phar:
- "phar "
- ""
services:
mysql:
image: mysql:latest
env:
MYSQL_ALLOW_EMPTY_PASSWORD: yes
ports:
- 3306
# Should increase test consistency by ensuring mysql actually starts up properly
options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
- uses: actions/cache@v3
id: vendor-caches
with:
path: |
./vendor
./node_modules
key: ${{ hashFiles('./composer.lock', './package-lock.json') }}
- run: composer install
if: steps.vendor-caches.outputs.cache-hit != 'true'
- run: sudo systemctl start mysql # Only needed for 8.1
- run: php ./vendor/bin/phpunit --no-coverage tests
if: '!matrix.phar'
env:
MYSQLI_HOST: localhost:${{ job.services.mysql.ports['3306'] }}
- run: php ./vendor/bin/phpunit --no-coverage --prepend ./build/kint.phar tests
if: matrix.phar
env:
KINT_PHAR_TEST: 1
MYSQLI_HOST: localhost:${{ job.services.mysql.ports['3306'] }}
old-tests:
name: 'PHP ${{ matrix.php-versions }} ${{ matrix.phar }}tests'
needs:
- test-format
- test-build
- test-static
- test-basic
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php-versions:
- 7.1
- 7.2
- 7.3
phar:
- "phar "
- ""
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
extensions: mysqli
- uses: actions/cache@v3
id: vendor-caches
with:
path: |
./vendor
./node_modules
key: old-${{ hashFiles('./composer.lock', './package-lock.json') }}
- run: composer remove --dev friendsofphp/php-cs-fixer phpunit/phpunit phpspec/prophecy-phpunit symfony/finder seld/phar-utils vimeo/psalm
if: steps.vendor-caches.outputs.cache-hit != 'true'
- run: composer config platform.php 7.1.3
if: steps.vendor-caches.outputs.cache-hit != 'true'
- run: composer require --dev phpunit/phpunit ^7
if: steps.vendor-caches.outputs.cache-hit != 'true'
- run: php ./vendor/bin/phpunit --no-coverage tests
if: '!matrix.phar'
- run: php ./vendor/bin/phpunit --no-coverage --prepend ./build/kint.phar tests
if: matrix.phar
env:
KINT_PHAR_TEST: 1