1+ name : CI
2+
3+ on :
4+ push :
5+ branches : [ master ]
6+ pull_request :
7+ branches : [ master ]
8+ workflow_dispatch :
9+
10+ jobs :
11+
12+ test :
13+
14+ runs-on : ubuntu-22.04
15+ continue-on-error : ${{ matrix.experimental }}
16+
17+ strategy :
18+ matrix :
19+ include :
20+ - mediawiki_version : ' 1.39'
21+ smw_version : 4.2.0 # required only for JSONScript testing
22+ php_version : 8.1
23+ database_type : mysql
24+ database_image : " mysql:8"
25+ coverage : false
26+ experimental : false
27+ - mediawiki_version : ' 1.40'
28+ smw_version : dev-master
29+ php_version : 8.1
30+ database_type : mysql
31+ database_image : " mariadb:11.2"
32+ coverage : true
33+ experimental : false
34+ - mediawiki_version : ' 1.42'
35+ smw_version : dev-master
36+ php_version : 8.2
37+ database_type : mysql
38+ database_image : " mariadb:11.2"
39+ coverage : false
40+ experimental : true
41+
42+ env :
43+ MW_VERSION : ${{ matrix.mediawiki_version }}
44+ SMW_VERSION : ${{ matrix.smw_version }}
45+ PHP_VERSION : ${{ matrix.php_version }}
46+ DB_TYPE : ${{ matrix.database_type }}
47+ DB_IMAGE : ${{ matrix.database_image }}
48+
49+
50+ steps :
51+ - name : Checkout
52+ uses : actions/checkout@v4
53+ with :
54+ submodules : recursive
55+
56+ - name : Update submodules
57+ run : git submodule update --init --remote
58+
59+ - name : Run tests
60+ run : make ci
61+ if : matrix.coverage == false
62+
63+ - name : Run tests with coverage
64+ run : make ci-coverage
65+ if : matrix.coverage == true
66+
67+ - name : Upload code coverage
68+ uses : codecov/codecov-action@v4
69+ with :
70+ token : ${{ secrets.CODECOV_TOKEN }}
71+ files : coverage/php/coverage.xml
72+ if : matrix.coverage == true
0 commit comments