Skip to content

Add TS type assertion for payout CSV export code for type safety and prevent TypeScript errors #40793

Add TS type assertion for payout CSV export code for type safety and prevent TypeScript errors

Add TS type assertion for payout CSV export code for type safety and prevent TypeScript errors #40793

Workflow file for this run

name: PHP linting and tests
on:
pull_request:
merge_group:
env:
WP_VERSION: latest
WC_MIN_SUPPORTED_VERSION: '7.6.0'
GUTENBERG_VERSION: latest
PHP_MIN_SUPPORTED_VERSION: '7.3'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
lint:
name: PHP linting
runs-on: ubuntu-latest
steps:
# clone the repository
- uses: actions/checkout@v4
# enable dependencies caching
- uses: actions/cache@v4
with:
path: ~/.cache/composer/
key: ${{ runner.os }}-composer-${{ hashFiles('composer.json') }}-${{ hashFiles('composer.lock') }}
# setup PHP, but without debug extensions for reasonable performance
- name: "Set up PHP"
uses: ./.github/actions/setup-php
# install dependencies and run linter
- run: composer self-update && composer install --no-progress && ./vendor/bin/phpcs --standard=phpcs.xml.dist $(git ls-files | grep .php$) && ./vendor/bin/psalm
generate-test-matrix:
name: "Generate the matrix for php tests dynamically"
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.generate_matrix.outputs.matrix }}
steps:
- name: "Generate matrix"
id: generate_matrix
run: |
PHP_VERSIONS=$( echo "[\"$PHP_MIN_SUPPORTED_VERSION\", \"7.3\", \"7.4\"]" )
echo "matrix={\"php\":$PHP_VERSIONS}" >> $GITHUB_OUTPUT
test:
name: PHP testing
needs: generate-test-matrix
runs-on: ubuntu-latest
strategy:
fail-fast: false
max-parallel: 10
matrix: ${{ fromJSON(needs.generate-test-matrix.outputs.matrix) }}
steps:
# clone the repository
- uses: actions/checkout@v4
# enable dependencies caching
- uses: actions/cache@v4
with:
path: ~/.cache/composer/
key: ${{ runner.os }}-composer-${{ hashFiles('composer.json') }}-${{ hashFiles('composer.lock') }}
- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
tools: composer
coverage: xdebug2
# run CI checks
- run: bash bin/run-ci-tests.bash
env:
WC_VERSION: ${{ env.WC_MIN_SUPPORTED_VERSION }}