Skip to content

Fix ci #103

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 7 commits into from
Feb 25, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
125 changes: 59 additions & 66 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,91 +2,84 @@ name: build

on:
push:
branches:
- "**"
branches: [ master ]
pull_request:
branches:
- "**"
branches: [ master ]
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-20.04

test:

runs-on: ubuntu-22.04
continue-on-error: ${{ matrix.experimental }}

strategy:
matrix:
include:
- mediawiki_version: 1.35
database_type: sqlite
- mediawiki_version: '1.39'
smw_version: dev-master
php_version: 8.1
database_type: mysql
database_image: "mariadb:10"
coverage: false
experimental: false
- mediawiki_version: 1.35
- mediawiki_version: '1.40'
smw_version: dev-master
php_version: 8.1
database_type: mysql
database_image: "mariadb:11.2"
coverage: true
experimental: false
- mediawiki_version: 1.36
- mediawiki_version: '1.41'
smw_version: dev-master
php_version: 8.1
database_type: mysql
experimental: true
- mediawiki_version: 1.37
database_image: "mariadb:11.2"
coverage: false
experimental: false
- mediawiki_version: '1.42'
smw_version: dev-master
php_version: 8.1
database_type: mysql
database_image: "mariadb:11.2"
coverage: false
experimental: false
- mediawiki_version: '1.43'
smw_version: dev-master
php_version: 8.1
database_type: mysql
database_image: "mariadb:11.2"
coverage: false
experimental: true

container:
image: mediawiki:${{ matrix.mediawiki_version }}
options: --link some-${{ matrix.database_type }}:${{ matrix.database_type }}

env:
mwExtensionUnderTest: SemanticInterlanguageLinks
mwDepExtensions: SemanticMediaWiki
make: make -f conf/extensions/SemanticInterlanguageLinks/Makefile
COMPOSER_VERSION: 2
MW_INSTALL_PATH: /var/www/html
MW_EXT_PATH: /var/www/html/extensions
DB_ROOT_USER: root
DB_ROOT_PWD: database
MW_DB_TYPE: ${{ matrix.database_type }}
MW_DB_SERVER: ${{ matrix.database_type }}
mwVer: ${{matrix.mediawiki_version}}
MW_DB_PATH: /var/www/data
MW_DB_USER: wiki
MW_DB_PWD: wiki
MW_DB_NAME: wiki
VERBOSE: 1

services:
some-mysql:
image: mariadb:latest
env:
MARIADB_ROOT_PASSWORD: ${{ env.DB_ROOT_PWD }}
MW_VERSION: ${{ matrix.mediawiki_version }}
SMW_VERSION: ${{ matrix.smw_version }}
PHP_VERSION: ${{ matrix.php_version }}
DB_TYPE: ${{ matrix.database_type }}
DB_IMAGE: ${{ matrix.database_image }}

steps:
- name: Checkout Extension
uses: actions/checkout@v2
with:
repository: SemanticMediaWiki/${{ env.mwExtensionUnderTest }}
path: conf/extensions/${{ env.mwExtensionUnderTest }}

- name: Checkout SMW
uses: actions/checkout@v2
- name: Checkout
uses: actions/checkout@v4
with:
repository: SemanticMediaWiki/SemanticMediaWiki
path: conf/extensions/SemanticMediaWiki

- name: Get Composer
run: ${{ env.make }} composerBinaryInContainer
submodules: recursive

- name: Update submodules
run: git submodule update --init --remote

- name: MediaWiki Composer Update
run: ${{ env.make }} runComposerInContainer
- name: Run tests
run: make ci
if: matrix.coverage == false

- name: MediaWiki Install
run: ${{ env.make }} installExtensionInContainer
- name: Run tests with coverage
run: make ci-coverage
if: matrix.coverage == true

- name: Enable Debug Output
run: ${{ env.make }} enableDebugOutput

- name: Install SemanticMediaWiki
run: ${{ env.make }} enableSemanticsAndUpdate

- name: Fool the Makefile
run: ${{ env.make }} buildOnGithub

- name: Run Tests
run: ${{ env.make }} testInContainer
- name: Upload code coverage
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: coverage/php/coverage.xml
if: matrix.coverage == true
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "build"]
path = build
url = https://github.com/gesinn-it-pub/docker-compose-ci.git
45 changes: 45 additions & 0 deletions .phpcs.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?xml version="1.0"?>
<ruleset>
<rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki">
<exclude name="Generic.Files.LineLength.TooLong" />
<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate" />
<exclude name="MediaWiki.Commenting.FunctionComment.MissingParamTag" />
<exclude name="MediaWiki.Commenting.FunctionComment.MissingReturn" />
<exclude name="MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName" />
<exclude name="MediaWiki.Commenting.FunctionComment.NoParamType" />
<exclude name="MediaWiki.Files.ClassMatchesFilename.NotMatch" />
<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic" />
<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected" />
<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate" />
<exclude name="Generic.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition" />
<exclude name="Squiz.Classes.ValidClassName.NotCamelCaps" />
<exclude name="Generic.CodeAnalysis.AssignmentInCondition.Found" />
<exclude name="MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate" />
<exclude name="MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationProtected" />
<exclude name="MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPublic" />
<exclude name="MediaWiki.PHPUnit.AssertEmpty.AssertEmptyUsed" />
<exclude name="Squiz.Operators.ValidLogicalOperators.NotAllowed" />
<exclude name="Generic.ControlStructures.DisallowYodaConditions.Found" />
<exclude name="MediaWiki.Commenting.PropertyDocumentation.WrongStyle" />
<exclude name="Generic.Files.OneObjectStructurePerFile.MultipleFound" />
<exclude name="MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix" />
<exclude name="MediaWiki.Usage.ExtendClassUsage.FunctionConfigUsage" />
<exclude name="MediaWiki.Usage.DeprecatedGlobalVariables.Deprecated$wgContLang" />
<exclude name="MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment" />
<exclude name="MediaWiki.Usage.DeprecatedGlobalVariables.Deprecated$wgTitle" />
<exclude name="MediaWiki.Commenting.MissingCovers.MissingCovers" />
</rule>
<rule ref="MediaWiki.NamingConventions.ValidGlobalName">
<properties>
<property name="allowedPrefixes" type="array" value="eg,wg" />
</properties>
</rule>
<rule ref="MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn">
<severity>0</severity>
</rule>
<file>.</file>
<exclude-pattern>/(vendor|conf)/</exclude-pattern>
<exclude-pattern type="relative">extensions/*</exclude-pattern>
<arg name="extensions" value="php"/>
<arg name="encoding" value="UTF-8"/>
</ruleset>
Loading
Loading