Skip to content

Commit 67e3cc1

Browse files
committed
Use GitHub Actions instead of Travis CI
1 parent 8b637c7 commit 67e3cc1

File tree

9 files changed

+206
-59
lines changed

9 files changed

+206
-59
lines changed

.coveralls.yml

-3
This file was deleted.

.github/workflows/build.yml

+160
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
# https://help.github.com/en/categories/automating-your-workflow-with-github-actions
2+
3+
name: "Build"
4+
5+
on:
6+
pull_request:
7+
push:
8+
branches:
9+
- "master"
10+
11+
jobs:
12+
lint:
13+
name: "Lint"
14+
runs-on: "ubuntu-latest"
15+
16+
strategy:
17+
matrix:
18+
php-version:
19+
- "7.1"
20+
- "7.2"
21+
- "7.3"
22+
- "7.4"
23+
- "8.0"
24+
25+
steps:
26+
- name: "Checkout"
27+
uses: "actions/checkout@v2"
28+
29+
- name: "Install PHP"
30+
uses: "shivammathur/setup-php@v2"
31+
with:
32+
coverage: "none"
33+
php-version: "${{ matrix.php-version }}"
34+
35+
- name: "Validate Composer"
36+
run: "composer validate"
37+
38+
- name: "Install dependencies"
39+
run: "composer install --no-interaction --no-progress --no-suggest"
40+
41+
- name: "Update PHPUnit"
42+
if: matrix.php-version == '7.4' || matrix.php-version == '8.0'
43+
run: "composer require --dev phpunit/phpunit:'^9.5' --update-with-dependencies"
44+
45+
46+
- name: "Lint"
47+
run: "vendor/bin/phing lint"
48+
49+
coding-standards:
50+
name: "Coding Standard"
51+
52+
runs-on: "ubuntu-latest"
53+
54+
steps:
55+
- name: "Checkout"
56+
uses: "actions/checkout@v2"
57+
58+
- name: "Install PHP"
59+
uses: "shivammathur/setup-php@v2"
60+
with:
61+
coverage: "none"
62+
php-version: "7.4"
63+
64+
- name: "Validate Composer"
65+
run: "composer validate"
66+
67+
- name: "Install dependencies"
68+
run: "composer install --no-interaction --no-progress --no-suggest"
69+
70+
- name: "Lint"
71+
run: "vendor/bin/phing lint"
72+
73+
- name: "Coding Standard"
74+
run: "vendor/bin/phing cs"
75+
76+
tests:
77+
name: "Tests"
78+
runs-on: "ubuntu-latest"
79+
80+
strategy:
81+
fail-fast: false
82+
matrix:
83+
php-version:
84+
- "7.1"
85+
- "7.2"
86+
- "7.3"
87+
- "7.4"
88+
- "8.0"
89+
dependencies:
90+
- "lowest"
91+
- "highest"
92+
93+
steps:
94+
- name: "Checkout"
95+
uses: "actions/checkout@v2"
96+
97+
- name: "Install PHP"
98+
uses: "shivammathur/setup-php@v2"
99+
with:
100+
coverage: "none"
101+
php-version: "${{ matrix.php-version }}"
102+
103+
- name: "Install lowest dependencies"
104+
if: ${{ matrix.dependencies == 'lowest' }}
105+
run: "composer update --prefer-lowest --no-interaction --no-progress --no-suggest"
106+
107+
- name: "Install highest dependencies"
108+
if: ${{ matrix.dependencies == 'highest' }}
109+
run: "composer update --no-interaction --no-progress --no-suggest"
110+
111+
- name: "Update PHPUnit"
112+
if: matrix.php-version == '7.4' || matrix.php-version == '8.0'
113+
run: "composer require --dev phpunit/phpunit:'^9.5' --update-with-dependencies"
114+
115+
- name: "Tests"
116+
run: "vendor/bin/phing tests"
117+
118+
static-analysis:
119+
name: "PHPStan"
120+
runs-on: "ubuntu-latest"
121+
122+
strategy:
123+
fail-fast: false
124+
matrix:
125+
php-version:
126+
- "7.1"
127+
- "7.2"
128+
- "7.3"
129+
- "7.4"
130+
- "8.0"
131+
dependencies:
132+
- "lowest"
133+
- "highest"
134+
135+
steps:
136+
- name: "Checkout"
137+
uses: "actions/checkout@v2"
138+
139+
- name: "Install PHP"
140+
uses: "shivammathur/setup-php@v2"
141+
with:
142+
coverage: "none"
143+
php-version: "${{ matrix.php-version }}"
144+
extensions: mbstring
145+
tools: composer:v2
146+
147+
- name: "Install lowest dependencies"
148+
if: ${{ matrix.dependencies == 'lowest' }}
149+
run: "composer update --prefer-lowest --no-interaction --no-progress --no-suggest"
150+
151+
- name: "Install highest dependencies"
152+
if: ${{ matrix.dependencies == 'highest' }}
153+
run: "composer update --no-interaction --no-progress --no-suggest"
154+
155+
- name: "Update PHPUnit"
156+
if: matrix.php-version == '7.4' || matrix.php-version == '8.0'
157+
run: "composer require --dev phpunit/phpunit:'^9.5' --update-with-dependencies"
158+
159+
- name: "PHPStan"
160+
run: "vendor/bin/phing phpstan"

.travis.yml

-11
This file was deleted.

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Dibi class reflection extension for PHPStan
22

3-
[![Build Status](https://travis-ci.com/phpstan/phpstan-dibi.svg?branch=master)](https://travis-ci.com/phpstan/phpstan-dibi)
3+
[![Build](https://github.com/phpstan/phpstan-dibi/workflows/Build/badge.svg)](https://github.com/phpstan/phpstan-dibi/actions)
44
[![Latest Stable Version](https://poser.pugx.org/phpstan/phpstan-dibi/v/stable)](https://packagist.org/packages/phpstan/phpstan-dibi)
55
[![License](https://poser.pugx.org/phpstan/phpstan-dibi/license)](https://packagist.org/packages/phpstan/phpstan-dibi)
66

build-cs/.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
/composer.lock
2+
/vendor

build-cs/composer.json

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"require-dev": {
3+
"consistence/coding-standard": "^3.10",
4+
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
5+
"slevomat/coding-standard": "^6.4"
6+
}
7+
}

build.xml

+12-27
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
composer,
66
lint,
77
cs,
8-
composer-normalize-check,
98
tests,
109
phpstan
1110
"/>
@@ -21,48 +20,34 @@
2120
</exec>
2221
</target>
2322

24-
<target name="composer-normalize-check">
23+
<target name="lint">
2524
<exec
26-
executable="composer"
25+
executable="vendor/bin/parallel-lint"
2726
logoutput="true"
2827
passthru="true"
2928
checkreturn="true"
3029
>
31-
<arg value="normalize"/>
32-
<arg value="--ansi"/>
33-
<arg value="--dry-run"/>
30+
<arg value="--exclude"/>
31+
<arg path="tests/PHPStan/Analyser/data"/>
32+
<arg path="src" />
33+
<arg path="tests" />
3434
</exec>
3535
</target>
3636

37-
<target name="composer-normalize-fix">
37+
<target name="cs">
3838
<exec
3939
executable="composer"
4040
logoutput="true"
4141
passthru="true"
4242
checkreturn="true"
4343
>
44-
<arg value="normalize"/>
44+
<arg value="install"/>
45+
<arg value="--working-dir"/>
46+
<arg path="build-cs"/>
4547
<arg value="--ansi"/>
4648
</exec>
47-
</target>
48-
49-
<target name="lint">
50-
<exec
51-
executable="vendor/bin/parallel-lint"
52-
logoutput="true"
53-
passthru="true"
54-
checkreturn="true"
55-
>
56-
<arg value="--exclude"/>
57-
<arg path="tests/PHPStan/Analyser/data"/>
58-
<arg path="src" />
59-
<arg path="tests" />
60-
</exec>
61-
</target>
62-
63-
<target name="cs">
6449
<exec
65-
executable="vendor/bin/phpcs"
50+
executable="build-cs/vendor/bin/phpcs"
6651
logoutput="true"
6752
passthru="true"
6853
checkreturn="true"
@@ -78,7 +63,7 @@
7863

7964
<target name="cs-fix">
8065
<exec
81-
executable="vendor/bin/phpcbf"
66+
executable="build-cs/vendor/bin/phpcbf"
8267
logoutput="true"
8368
passthru="true"
8469
checkreturn="true"

composer.json

+8-10
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,23 @@
77
],
88
"require": {
99
"php": "^7.1 || ^8.0",
10-
"phpstan/phpstan": "^0.12"
10+
"phpstan/phpstan": "^0.12.60"
1111
},
1212
"conflict": {
1313
"dibi/dibi": "<3.0"
1414
},
1515
"require-dev": {
16-
"consistence/coding-standard": "^3.0.1",
17-
"dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
1816
"dibi/dibi": "~4.0",
19-
"ergebnis/composer-normalize": "^2.0.2",
20-
"phing/phing": "^2.13.0",
17+
"phing/phing": "^2.16.3",
2118
"php-parallel-lint/php-parallel-lint": "^1.2",
22-
"phpstan/phpstan-phpunit": "^0.12",
23-
"phpstan/phpstan-strict-rules": "^0.12",
24-
"phpunit/phpunit": "^7.0",
25-
"satooshi/php-coveralls": "^1.0",
26-
"slevomat/coding-standard": "^4.5.2"
19+
"phpstan/phpstan-phpunit": "^0.12.16",
20+
"phpstan/phpstan-strict-rules": "^0.12.6",
21+
"phpunit/phpunit": "^7.5.20"
2722
},
2823
"config": {
24+
"platform": {
25+
"php": "7.4.6"
26+
},
2927
"sort-packages": true
3028
},
3129
"extra": {

phpcs.xml

+16-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0"?>
22
<ruleset name="PHPStan Dibi">
3-
<rule ref="vendor/consistence/coding-standard/Consistence/ruleset.xml">
3+
<rule ref="build-cs/vendor/consistence/coding-standard/Consistence/ruleset.xml">
44
<exclude name="Squiz.Functions.GlobalFunction.Found"/>
55
<exclude name="SlevomatCodingStandard.Namespaces.FullyQualifiedClassNameAfterKeyword"/>
66
<exclude name="SlevomatCodingStandard.Namespaces.FullyQualifiedClassNameInAnnotation"/>
@@ -17,22 +17,31 @@
1717
<property name="newlinesCountBetweenOpenTagAndDeclare" value="0"/>
1818
</properties>
1919
</rule>
20-
<rule ref="SlevomatCodingStandard.TypeHints.TypeHintDeclaration">
20+
<rule ref="SlevomatCodingStandard.TypeHints.ParameterTypeHint">
2121
<properties>
2222
<property name="usefulAnnotations" type="array" value="
2323
@dataProvider,
2424
@requires
2525
"/>
26+
<property name="enableObjectTypeHint" value="false"/>
2627
</properties>
28+
<exclude name="SlevomatCodingStandard.TypeHints.TypeHintDeclaration.MissingTraversableParameterTypeHintSpecification"/>
29+
<exclude name="SlevomatCodingStandard.TypeHints.TypeHintDeclaration.MissingTraversableReturnTypeHintSpecification"/>
2730
</rule>
28-
<rule ref="SlevomatCodingStandard.TypeHints.TypeHintDeclaration.MissingTraversableReturnTypeHintSpecification">
29-
<exclude-pattern>tests/*</exclude-pattern>
31+
<rule ref="SlevomatCodingStandard.TypeHints.PropertyTypeHint">
32+
<properties>
33+
<property name="enableNativeTypeHint" value="false"/>
34+
</properties>
35+
<exclude name="SlevomatCodingStandard.TypeHints.PropertyTypeHint.MissingTraversableTypeHintSpecification"/>
3036
</rule>
31-
<rule ref="SlevomatCodingStandard.TypeHints.TypeHintDeclaration.MissingTraversableParameterTypeHintSpecification">
32-
<exclude-pattern>tests/*</exclude-pattern>
37+
<rule ref="SlevomatCodingStandard.TypeHints.ReturnTypeHint">
38+
<properties>
39+
<property name="enableObjectTypeHint" value="false"/>
40+
</properties>
41+
<exclude name="SlevomatCodingStandard.TypeHints.ReturnTypeHint.MissingTraversableTypeHintSpecification"/>
3342
</rule>
3443
<rule ref="SlevomatCodingStandard.ControlStructures.AssignmentInCondition"/>
35-
<rule ref="SlevomatCodingStandard.ControlStructures.DisallowEqualOperators"/>
44+
<rule ref="SlevomatCodingStandard.Operators.DisallowEqualOperators"/>
3645
<rule ref="SlevomatCodingStandard.ControlStructures.EarlyExit"/>
3746
<rule ref="SlevomatCodingStandard.Classes.SuperfluousAbstractClassNaming"/>
3847
<rule ref="SlevomatCodingStandard.Classes.SuperfluousInterfaceNaming"/>

0 commit comments

Comments
 (0)