Skip to content

1.0.0 release

1.0.0 release #146

Workflow file for this run

name: CI
on:
push:
pull_request:
jobs:
test:
name: "PHPUnit: MW ${{ matrix.mw }}, PHP ${{ matrix.php }}"
strategy:
matrix:
include:
- mw: 'REL1_39'
php: '8.1'
- mw: 'REL1_41'
php: '8.2'
- mw: 'master'
php: '8.2'
runs-on: ubuntu-latest
services:
blazegraph:
image: lyrasis/blazegraph:2.1.5
ports:
- "8889:8080"
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@v3
with:
path: |
mediawiki
!mediawiki/extensions/
!mediawiki/vendor/
key: mw_${{ matrix.mw }}-php${{ matrix.php }}_v4
- name: Cache Composer cache
uses: actions/cache@v3
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'
working-directory: ~
run: bash EarlyCopy/.github/workflows/installMediaWiki.sh ${{ matrix.mw }} SPARQL
- uses: actions/checkout@v4
with:
path: mediawiki/extensions/SPARQL
# - name: Composer allow-plugins
# run: composer config --no-plugins allow-plugins.composer/installers true
- run: composer update
- name: Run update.php
run: php maintenance/update.php --quick
- name: Load Blazegraph test data
run: |
curl -X POST --data-binary @extensions/SPARQL/demoData/Q2020028.ttl --header 'Content-Type:text/turtle' http://localhost:8889/bigdata/namespace/kb/sparql
curl -X POST --data-binary @extensions/SPARQL/demoData/Q2291703.ttl --header 'Content-Type:text/turtle' http://localhost:8889/bigdata/namespace/kb/sparql
curl -X POST --data-binary @extensions/SPARQL/demoData/Q2404825.ttl --header 'Content-Type:text/turtle' http://localhost:8889/bigdata/namespace/kb/sparql
- name: Run PHPUnit
run: php tests/phpunit/phpunit.php -c extensions/SPARQL/
if: matrix.mw != 'master'
- name: Run PHPUnit with code coverage
run: php tests/phpunit/phpunit.php -c extensions/SPARQL/ --coverage-clover coverage.xml
if: matrix.mw == 'master'
- name: Upload code coverage
run: bash <(curl -s https://codecov.io/bash)
if: matrix.mw == 'master'
- name: Run parser tests
run: php tests/parser/parserTests.php --file=extensions/SPARQL/tests/parser/lua.txt
PHPStan:
name: "PHPStan: MW ${{ matrix.mw }}, PHP ${{ matrix.php }}"
strategy:
matrix:
include:
- mw: 'REL1_41'
php: '8.1'
runs-on: ubuntu-latest
defaults:
run:
working-directory: mediawiki
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: mbstring
tools: composer, cs2pr
- name: Cache MediaWiki
id: cache-mediawiki
uses: actions/cache@v3
with:
path: |
mediawiki
mediawiki/extensions/
mediawiki/vendor/
key: mw_${{ matrix.mw }}-php${{ matrix.php }}_v3
- name: Cache Composer cache
uses: actions/cache@v3
with:
path: ~/.composer/cache
key: composer_static_analysis
- uses: actions/checkout@v4
with:
path: EarlyCopy
- name: Install MediaWiki
if: steps.cache-mediawiki.outputs.cache-hit != 'true'
working-directory: ~
run: bash EarlyCopy/.github/workflows/installMediaWiki.sh ${{ matrix.mw }} SPARQL
- uses: actions/checkout@v4
with:
path: mediawiki/extensions/SPARQL
- name: Composer allow-plugins
run: composer config --no-plugins allow-plugins.composer/installers true
- run: composer update
- name: Composer install
run: cd extensions/SPARQL && composer install --no-progress --no-interaction --prefer-dist --optimize-autoloader
- name: PHPStan
run: cd extensions/SPARQL && php vendor/bin/phpstan analyse --error-format=checkstyle --no-progress | cs2pr
Psalm:
name: "Psalm: MW ${{ matrix.mw }}, PHP ${{ matrix.php }}"
strategy:
matrix:
include:
- mw: 'REL1_41'
php: '8.1'
runs-on: ubuntu-latest
defaults:
run:
working-directory: mediawiki
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: mbstring
tools: composer, cs2pr
- name: Cache MediaWiki
id: cache-mediawiki
uses: actions/cache@v3
with:
path: |
mediawiki
mediawiki/extensions/
mediawiki/vendor/
key: mw_${{ matrix.mw }}-php${{ matrix.php }}_v3
- name: Cache Composer cache
uses: actions/cache@v3
with:
path: ~/.composer/cache
key: composer_static_analysis
- uses: actions/checkout@v4
with:
path: EarlyCopy
- name: Install MediaWiki
if: steps.cache-mediawiki.outputs.cache-hit != 'true'
working-directory: ~
run: bash EarlyCopy/.github/workflows/installMediaWiki.sh ${{ matrix.mw }} SPARQL
- uses: actions/checkout@v4
with:
path: mediawiki/extensions/SPARQL
- name: Composer allow-plugins
run: composer config --no-plugins allow-plugins.composer/installers true
- run: composer update
- name: Composer install
run: cd extensions/SPARQL && composer install --no-progress --no-interaction --prefer-dist --optimize-autoloader
- name: Psalm
run: cd extensions/SPARQL && pwd && php vendor/bin/psalm --config=psalm.xml --shepherd --stats
code-style:
name: "Code style: MW ${{ matrix.mw }}, PHP ${{ matrix.php }}"
strategy:
matrix:
include:
- mw: 'REL1_41'
php: '8.2'
runs-on: ubuntu-latest
defaults:
run:
working-directory: mediawiki/extensions/SPARQL
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: mbstring, intl, php-ast
tools: composer
- name: Cache MediaWiki
id: cache-mediawiki
uses: actions/cache@v3
with:
path: |
mediawiki
!mediawiki/extensions/
!mediawiki/vendor/
key: mw_static_analysis
- name: Cache Composer cache
uses: actions/cache@v3
with:
path: ~/.composer/cache
key: mw_${{ matrix.mw }}-php${{ matrix.php }}_v3
- name: Install MediaWiki
if: steps.cache-mediawiki.outputs.cache-hit != 'true'
working-directory: ~
run: curl https://gist.githubusercontent.com/JeroenDeDauw/49a3858653ff4b5be7ec849019ede06c/raw/installMediaWiki.sh | bash -s ${{ matrix.mw }} SPARQL
- uses: actions/checkout@v4
with:
path: mediawiki/extensions/SPARQL
- name: Composer install
run: composer install --no-progress --no-interaction --prefer-dist --optimize-autoloader
- run: vendor/bin/phpcs -p -s