Skip to content

chore: Bump fast-xml-parser from 5.9.3 to 5.10.1 #1445

chore: Bump fast-xml-parser from 5.9.3 to 5.10.1

chore: Bump fast-xml-parser from 5.9.3 to 5.10.1 #1445

name: Quibble and Phan
on:
push:
branches: [main]
pull_request:
jobs:
test:
strategy:
fail-fast: false
matrix:
mediawiki-version:
- REL1_43
- REL1_44
- REL1_45
- REL1_46
- master
stage:
- phan
# - coverage # We really need this coverage for a skin?
- phpunit-unit
- phpunit
- phpunit-parallel
- phpunit-standalone
- npm-test
- composer-test
- selenium
# - qunit
# - api-testing
exclude:
# composer-test (parallel-lint, phpcs, minus-x) is MediaWiki-version
# independent, so run it on a single version (REL1_43, which is a
# required status check). This avoids the same phpcs annotations being
# emitted once per version and saves CI time.
- mediawiki-version: REL1_44
stage: composer-test
- mediawiki-version: REL1_45
stage: composer-test
- mediawiki-version: REL1_46
stage: composer-test
- mediawiki-version: master
stage: composer-test
runs-on: ubuntu-latest
# contents: read to clone; id-token: write so the Codecov upload can
# authenticate via OIDC instead of an upload token.
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
if: matrix.stage == 'phpunit' || matrix.stage == 'selenium'
with:
node-version: '16'
cache: npm
- run: npm install
if: matrix.stage == 'phpunit' || matrix.stage == 'selenium'
- uses: femiwiki/quibble-action@bb9c162a76424990c3f2abc4b66dc653dfe3daeb # v2.0.0
id: quibble
with:
stage: ${{ matrix.stage }}
mediawiki-version: ${{ matrix.mediawiki-version }}
# phan and composer-test install our require-dev, and codesniffer >= 49
# needs PHP >= 8.2, but REL1_43/REL1_44 otherwise derive PHP 8.1. Pin
# just those to 8.2/bookworm so the dev tooling installs.
php-version: >-
${{ case(
contains(fromJSON('["phan", "composer-test"]'), matrix.stage)
&& contains(fromJSON('["REL1_43", "REL1_44"]'), matrix.mediawiki-version),
'8.2',
'') }}
debian: >-
${{ case(
contains(fromJSON('["phan", "composer-test"]'), matrix.stage)
&& contains(fromJSON('["REL1_43", "REL1_44"]'), matrix.mediawiki-version),
'bookworm',
'') }}
# v1 expanded the `Echo` dependency transitively via Wikimedia's
# dependencies.yaml; main resolves from local sources only, so we pin
# that closure explicitly to keep testing the same set of repos.
dependencies: AntiSpoof CentralAuth Echo EventLogging MobileFrontend
- name: Upload coverage to Codecov
if: matrix.stage == 'coverage'
uses: codecov/codecov-action@0fb7174895f61a3b6b78fc075e0cd60383518dac # v5.5.5
with:
use_oidc: true
directory: ${{ steps.quibble.outputs.coverage }}