Skip to content

Add standard bash error handling options #294

Add standard bash error handling options

Add standard bash error handling options #294

Workflow file for this run

name: "CI"
on:
pull_request: ~
push:
branches:
- '0.3.x'
env:
fail-fast: true
TZ: "UTC"
jobs:
shellcheck:
name: Shellcheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run ShellCheck
uses: ludeeus/action-shellcheck@master
env:
SHELLCHECK_OPTS: --exclude=SC1008,SC1091
with:
additional_files: 'ws.*'
ignore_paths: "vendor vendor-bin"
composer-validate:
name: "Composer validate (${{ matrix.php-version }} on ${{ matrix.operating-system }})"
runs-on: "${{ matrix.operating-system }}"
strategy:
matrix:
operating-system:
- macos-14
- ubuntu-latest
php-version:
- '8.1'
steps:
-
name: "Checkout code"
uses: "actions/checkout@v2"
-
name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
tools: composer:v2
-
name: "Validate composer.json"
run: "composer validate --strict --no-check-lock"
php-cs-fixer:
name: "PHP-CS-Fixer (${{ matrix.php-version }})"
needs:
- "composer-validate"
runs-on: "ubuntu-latest"
strategy:
matrix:
php-version:
- '8.1'
steps:
-
name: "Checkout code"
uses: "actions/checkout@v2"
-
name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
extensions: "${{ env.REQUIRED_PHP_EXTENSIONS }}"
php-version: "${{ matrix.php-version }}"
tools: composer:v2
-
name: "Composer install"
uses: "ramsey/composer-install@v1"
with:
composer-options: "--no-scripts"
-
name: "Run friendsofphp/php-cs-fixer"
run: "vendor/bin/php-cs-fixer fix --dry-run --diff --verbose"
phpunit:
name: "PHPUnit (${{ matrix.php-version }} on ${{ matrix.operating-system }})"
needs:
- "composer-validate"
runs-on: "${{ matrix.operating-system }}"
strategy:
matrix:
operating-system:
- macos-14
- ubuntu-latest
php-version:
- '8.1'
steps:
-
name: "Checkout code"
uses: "actions/checkout@v2"
-
name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
extensions: "${{ env.REQUIRED_PHP_EXTENSIONS }}"
php-version: "${{ matrix.php-version }}"
tools: composer:v2
ini-values: phar.readonly=off
-
name: "Composer install"
uses: "ramsey/composer-install@v1"
-
name: "Build ws.phar"
run: "composer compile"
-
name: "Run PHPUnit"
run: "composer test"
phpstan:
needs:
- "composer-validate"
name: "PHPStan (${{ matrix.php-version }})"
runs-on: "ubuntu-latest"
strategy:
matrix:
php-version:
- '8.1'
steps:
-
name: "Checkout code"
uses: "actions/checkout@v2"
-
name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
extensions: "${{ env.REQUIRED_PHP_EXTENSIONS }}"
php-version: "${{ matrix.php-version }}"
tools: composer:v2
-
name: "Composer install"
uses: "ramsey/composer-install@v1"
with:
composer-options: "--no-scripts"
-
name: "Build container"
run: "bin/build"
-
name: "Run phpstan/phpstan"
run: "vendor/bin/phpstan analyse"