Skip to content

Use different SMW for MW 1.41 #13

Use different SMW for MW 1.41

Use different SMW for MW 1.41 #13

Workflow file for this run

name: CI
on:
push:
pull_request:
jobs:
test:
name: "PHPUnit: MW ${{ matrix.mw }}, PHP ${{ matrix.php }}, DB ${{ matrix.db }}, SMW ${{ matrix.smw }}"
continue-on-error: ${{ matrix.experimental }}
strategy:
matrix:
include:
- mw: 'REL1_39'
php: '8.0'
db: 'mysql'
smw: '4.2.0'
experimental: false
- mw: 'REL1_41'
php: '8.1'
db: 'mysql'
# SMW 4.2.0 should be compatible with MW 1.41, but the tests are not.
smw: 'dev-master'
experimental: true
- mw: 'REL1_42'
php: '8.2'
db: 'mysql'
smw: 'dev-master'
experimental: true
- mw: 'REL1_43'
php: '8.3'
db: 'mysql'
smw: 'dev-master'
experimental: true
- mw: 'REL1_43'
php: '8.3'
db: 'sqlite'
smw: 'dev-master'
experimental: true
- mw: 'master'
php: '8.4'
db: 'mysql'
smw: 'dev-master'
experimental: true
runs-on: ubuntu-latest
services:
db:
image: mariadb
ports:
- 3306:3306
env:
MYSQL_RANDOM_ROOT_PASSWORD: 1
MYSQL_DATABASE: mediawiki
MYSQL_USER: mediawiki
MYSQL_PASSWORD: mediawiki
defaults:
run:
working-directory: mediawiki
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: mbstring, intl
tools: composer
- name: Cache MediaWiki
id: cache-mediawiki
uses: actions/cache@v4
with:
path: |
mediawiki
!mediawiki/extensions/
!mediawiki/vendor/
key: mw_${{ matrix.mw }}-php${{ matrix.php }}-${{ matrix.db }}-smw${{ matrix.smw }}_v1
- name: Cache Composer cache
uses: actions/cache@v4
with:
path: ~/.composer/cache
key: composer-php${{ matrix.php }}
- uses: actions/checkout@v4
with:
path: EarlyCopy
- name: Install MediaWiki
if: steps.cache-mediawiki.outputs.cache-hit != 'true' || matrix.db == 'mysql'
working-directory: ~
run: bash EarlyCopy/.github/workflows/installMediaWiki.sh ${{ matrix.mw }} ${{ matrix.db }} ${{ matrix.smw }} ModernTimeline
- uses: actions/checkout@v4
with:
path: mediawiki/extensions/ModernTimeline
- run: composer update
- name: Run update.php
run: php maintenance/update.php --quick
- name: Run PHPUnit
run: php tests/phpunit/phpunit.php -c extensions/ModernTimeline/
if: matrix.mw != 'master'
- name: Run PHPUnit with code coverage
run: php tests/phpunit/phpunit.php -c extensions/ModernTimeline/ --coverage-clover coverage.xml
if: matrix.mw == 'master'
- name: Upload code coverage
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
if: matrix.mw == 'master'