Fix: Remove squizlabs/php_codesniffer (#1566) #1633
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: {} | |
push: | |
branches: | |
- master | |
- beta | |
- sdk-release/** | |
- feature/** | |
tags: | |
- v[0-9]+.[0-9]+.[0-9]+* | |
pull_request: | |
branches: | |
- master | |
- beta | |
- sdk-release/** | |
- feature/** | |
jobs: | |
php-cs-fixer: | |
name: PHP-CS-Fixer | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: PHP-CS-Fixer | |
uses: docker://oskarstark/php-cs-fixer-ga:3.4.0 | |
with: | |
args: --format=txt --diff --dry-run --using-cache=no --verbose | |
phpstan: | |
name: PHPStan | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
php-version: | |
- "8.2" | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-version }} | |
- name: Get Composer Cache Directory | |
id: composer-cache | |
run: | | |
echo "::set-output name=dir::$(composer config cache-files-dir)" | |
- uses: actions/cache@v3 | |
with: | |
path: ${{ steps.composer-cache.outputs.dir }} | |
# Conventionally you would hash "composer.lock", but we don't commit | |
# that, so we hash on "composer.json" instead. | |
key: ${{ runner.os }}-composer-${{ hashFiles('composer.json') }} | |
# We run php-cs-fixer in a separate job, but the version we use is not compatible | |
# with all the versions of PHP that we want to execute PHPStan upon | |
- name: Trim dependency | |
run: composer remove --dev --no-update friendsofphp/php-cs-fixer | |
- name: Validate composer.json | |
run: composer validate | |
- name: Install dependencies | |
run: composer install --prefer-dist --no-progress | |
- name: Run phpstan | |
run: make phpstan | |
tests: | |
name: Tests | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
env: | |
- AUTOLOAD=0 | |
- AUTOLOAD=1 | |
php-version: | |
- "5.6" | |
- "7.0" | |
- "7.1" | |
- "7.2" | |
- "7.3" | |
- "7.4" | |
- "8.0" | |
- "8.1" | |
- "8.2" | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-version }} | |
coverage: xdebug | |
- name: Get Composer Cache Directory | |
id: composer-cache | |
run: | | |
echo "::set-output name=dir::$(composer config cache-files-dir)" | |
- uses: actions/cache@v3 | |
with: | |
path: ${{ steps.composer-cache.outputs.dir }} | |
key: ${{ runner.os }}-composer-${{ hashFiles('composer.json') }} | |
# We run php-cs-fixer and PHPStan in separate jobs, but the versions we use are not compatible | |
# with all the versions of PHP that we want to execute PHPUnit upon | |
- name: Trim dependency | |
run: composer remove --dev --no-update friendsofphp/php-cs-fixer phpstan/phpstan | |
- name: Validate composer.json | |
run: composer validate | |
- name: Install dependencies | |
run: composer install --prefer-dist --no-progress | |
- uses: stripe/openapi/actions/stripe-mock@master | |
- name: Run test suite | |
run: | | |
php --version | |
make ci-test | |
- name: Coveralls | |
run: vendor/bin/php-coveralls -v --coverage_clover='clover.xml' --json_path='coveralls-upload.json' | |
if: env.COVERALLS_REPO_TOKEN && matrix.php-version == '8.2' && matrix.env == 'AUTOLOAD=1' | |
env: | |
COVERALLS_RUN_LOCALLY: 1 | |
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} | |
COVERALLS_FLAG_NAME: php-${{ matrix.php-version }}-${{ matrix.env }} | |
publish: | |
# Doesn't actually publish. The publish happens via a packagist webhook configured in the Github UI. But we still display a message here | |
name: Publish | |
if: >- | |
(github.event_name == 'workflow_dispatch' || github.event_name == 'push') && | |
startsWith(github.ref, 'refs/tags/v') && | |
endsWith(github.actor, '-stripe') | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: stripe/openapi/actions/notify-release@master | |
if: always() | |
with: | |
bot_token: ${{ secrets.SLACK_BOT_TOKEN }} |