Remove SMW requirement from composer.json #352
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: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: ubuntu-20.04 | |
continue-on-error: ${{ matrix.experimental }} | |
strategy: | |
matrix: | |
include: | |
- mediawiki_version: '1.35' | |
database_type: sqlite | |
semantic_mediawiki_version: 4.1.0 | |
mermaid_version: 3.1.0 | |
coverage: false | |
experimental: false | |
- mediawiki_version: '1.35' | |
database_type: sqlite | |
semantic_mediawiki_version: dev-master | |
mermaid_version: dev-master | |
coverage: false | |
experimental: false | |
- mediawiki_version: '1.38' | |
database_type: sqlite | |
semantic_mediawiki_version: dev-master | |
mermaid_version: dev-master | |
coverage: false | |
experimental: false | |
- mediawiki_version: '1.39' | |
database_type: sqlite | |
semantic_mediawiki_version: dev-master | |
mermaid_version: dev-master | |
coverage: false | |
experimental: true | |
container: | |
image: gesinn/docker-mediawiki-${{ matrix.database_type }}:${{ matrix.mediawiki_version }} | |
env: | |
EXT_NAME: SemanticResultFormats | |
MW_INST_PATH: /var/www/html | |
MW_DB_PATH: /var/www/data | |
MW_EXT_PATH: /var/www/html/extensions | |
steps: | |
- name: Install SemanticMediaWiki | |
run: | | |
COMPOSER=composer.local.json composer require --update-with-dependencies --working-dir ${{ env.MW_INST_PATH }} mediawiki/semantic-media-wiki ${{ matrix.semantic_mediawiki_version }} | |
composer update --working-dir ${{ env.MW_INST_PATH }} | |
echo "wfLoadExtension( 'SemanticMediaWiki' );" >> ${{ env.MW_INST_PATH }}/LocalSettings.php | |
echo "enableSemantics( 'localhost' );" >> ${{ env.MW_INST_PATH }}/LocalSettings.php | |
tail -n5 ${{ env.MW_INST_PATH }}/LocalSettings.php | |
php ${{ env.MW_INST_PATH }}/maintenance/update.php --skip-external-dependencies --quick | |
- name: Install Mermaid | |
run: | | |
COMPOSER=composer.local.json composer require --update-with-dependencies --working-dir ${{ env.MW_INST_PATH }} mediawiki/mermaid ${{ matrix.mermaid_version }} | |
composer update --working-dir ${{ env.MW_INST_PATH }} | |
echo "wfLoadExtension( 'Mermaid' );" >> ${{ env.MW_INST_PATH }}/LocalSettings.php | |
tail -n5 ${{ env.MW_INST_PATH }}/LocalSettings.php | |
- name: Checkout Extension | |
uses: actions/checkout@v2 | |
with: | |
path: ${{ env.EXT_NAME }} | |
# Setting actions/checkout@v2 path to env.MW_EXT_PATH fails with "Repository path '/var/www/html/extensions' is not under ..." | |
# See also open PR https://github.com/actions/checkout/pull/388 | |
- name: Move Extension | |
run: | | |
mkdir -p ${{ env.MW_EXT_PATH }} | |
mv ${{ env.EXT_NAME }} ${{ env.MW_EXT_PATH }} | |
- name: Install SemanticResultFormats | |
run: | | |
COMPOSER=composer.local.json composer require --no-update --working-dir ${{ env.MW_INST_PATH }} mediawiki/semantic-result-formats @dev | |
COMPOSER=composer.local.json composer config repositories.semantic-result-formats '{"type": "path", "url": "extensions/SemanticResultFormats"}' --working-dir ${{ env.MW_INST_PATH }} | |
composer update --working-dir ${{ env.MW_INST_PATH }} | |
echo "wfLoadExtension( '${{ env.EXT_NAME }}' );" >> ${{ env.MW_INST_PATH }}/LocalSettings.php | |
tail -n5 ${{ env.MW_INST_PATH }}/LocalSettings.php | |
php ${{ env.MW_INST_PATH }}/maintenance/update.php --quick | |
- name: Run Tests | |
run: > | |
php ${{ env.MW_INST_PATH }}/tests/phpunit/phpunit.php | |
--configuration ${{ env.MW_EXT_PATH }}/${{ env.EXT_NAME }} | |
--testdox | |
if: matrix.coverage == false | |
- name: Run Tests With Coverage | |
run: > | |
php ${{ env.MW_INST_PATH }}/tests/phpunit/phpunit.php | |
--configuration ${{ env.MW_EXT_PATH }}/${{ env.EXT_NAME }} | |
--testdox | |
--coverage-clover ${{ env.MW_INST_PATH }}/docs/coverage.xml | |
if: matrix.coverage == true | |
- name: Upload code coverage | |
uses: codecov/codecov-action@v2 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
files: ${{ env.MW_INST_PATH }}/docs/coverage.xml | |
if: matrix.coverage == true |