Skip to content

Commit 5a79f88

Browse files
authored
Add github actions (#72)
1 parent 1cf9264 commit 5a79f88

File tree

7 files changed

+148
-3
lines changed

7 files changed

+148
-3
lines changed

.github/workflows/.editorconfig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[*.yml]
2+
indent_size = 2

.github/workflows/ci.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Tests
2+
on: [push, pull_request]
3+
4+
jobs:
5+
build:
6+
name: Build
7+
runs-on: ubuntu-latest
8+
strategy:
9+
max-parallel: 10
10+
matrix:
11+
php: [ '7.2', '7.3', '7.4']
12+
sf_version: [ '4.4.*', '5.1.*' ]
13+
14+
steps:
15+
- name: Set up PHP
16+
uses: shivammathur/[email protected]
17+
with:
18+
php-version: ${{ matrix.php }}
19+
coverage: none
20+
tools: flex
21+
22+
- name: Checkout code
23+
uses: actions/checkout@v2
24+
25+
- name: Download dependencies
26+
env:
27+
SYMFONY_REQUIRE: ${{ matrix.sf_version }}
28+
run: |
29+
composer update --no-interaction --prefer-dist --optimize-autoloader --prefer-stable
30+
31+
- name: Run tests
32+
run: ./vendor/bin/simple-phpunit
33+
34+
lowest:
35+
name: Lowest deps
36+
runs-on: ubuntu-latest
37+
steps:
38+
- name: Set up PHP
39+
uses: shivammathur/[email protected]
40+
with:
41+
php-version: 7.3
42+
coverage: none
43+
44+
- name: Checkout code
45+
uses: actions/checkout@v2
46+
47+
- name: Download dependencies
48+
run: |
49+
composer update --no-interaction --prefer-dist --optimize-autoloader --prefer-stable --prefer-lowest
50+
51+
- name: Run tests
52+
env:
53+
SYMFONY_DEPRECATIONS_HELPER: "max[self]=0"
54+
run: ./vendor/bin/simple-phpunit

.github/workflows/static.yml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
on: [push, pull_request]
2+
name: Static analysis
3+
4+
jobs:
5+
phpstan:
6+
name: PHPStan
7+
runs-on: ubuntu-latest
8+
steps:
9+
- name: Checkout code
10+
uses: actions/checkout@v2
11+
12+
- name: PHPStan
13+
uses: docker://oskarstark/phpstan-ga
14+
env:
15+
REQUIRE_DEV: true
16+
with:
17+
args: analyze --no-progress
18+
19+
php-cs-fixer:
20+
name: PHP-CS-Fixer
21+
runs-on: ubuntu-latest
22+
steps:
23+
- uses: actions/checkout@v2
24+
- name: PHP-CS-Fixer
25+
uses: docker://oskarstark/php-cs-fixer-ga
26+
with:
27+
args: --dry-run --diff-format udiff
28+
29+
psalm:
30+
name: Psalm
31+
runs-on: ubuntu-latest
32+
steps:
33+
- name: Checkout code
34+
uses: actions/checkout@v2
35+
36+
- name: Psalm
37+
uses: docker://vimeo/psalm-github-actions

composer.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,13 @@
1515
}
1616
],
1717
"require": {
18-
"php": "^7.2",
18+
"php": ">=7.2",
1919
"graphaware/neo4j-bolt": "^1.6",
2020
"graphaware/neo4j-php-client": "^4.6.4",
2121
"symfony/dependency-injection": "^4.4 || ^5.0",
22-
"symfony/flex": "^1.8",
2322
"symfony/framework-bundle": "^4.4 || ^5.0",
2423
"symfony/http-kernel": "^4.4 || ^5.0",
25-
"twig/twig": "^1.18 || ^2.0"
24+
"twig/twig": "^2.0 || ^3.0"
2625
},
2726
"require-dev": {
2827
"symfony/phpunit-bridge": "^4.4 || ^5.0",

phpstan-baseline.neon

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
parameters:
2+
ignoreErrors:
3+
-
4+
message: "#^Call to an undefined method Symfony\\\\Component\\\\Config\\\\Definition\\\\Builder\\\\TreeBuilder\\:\\:root\\(\\)\\.$#"
5+
count: 1
6+
path: DependencyInjection/Configuration.php
7+
8+
-
9+
message: "#^Class GraphAware\\\\Neo4j\\\\OGM\\\\EntityManagerInterface not found\\.$#"
10+
count: 1
11+
path: DependencyInjection/Neo4jExtension.php
12+
13+
-
14+
message: "#^Instantiated class Symfony\\\\Component\\\\DependencyInjection\\\\DefinitionDecorator not found\\.$#"
15+
count: 2
16+
path: DependencyInjection/Neo4jExtension.php
17+
18+
-
19+
message: "#^PHPDoc tag @param has invalid value \\(array &\\$config\\)\\: Unexpected token \"&\", expected variable at offset 105$#"
20+
count: 1
21+
path: DependencyInjection/Neo4jExtension.php
22+
23+
-
24+
message: "#^PHPDoc tag @param for parameter \\$names with type string is incompatible with native type array\\.$#"
25+
count: 1
26+
path: Factory/ClientFactory.php
27+

phpstan.neon.dist

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
includes:
2+
- phpstan-baseline.neon
3+
4+
parameters:
5+
level: 5
6+
reportUnmatchedIgnoredErrors: false
7+
paths:
8+
- Collector
9+
- DependencyInjection
10+
- EventSubscriber
11+
- Factory

psalm.xml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?xml version="1.0"?>
2+
<psalm
3+
errorLevel="3"
4+
resolveFromConfigFile="true"
5+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
6+
xmlns="https://getpsalm.org/schema/config"
7+
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
8+
>
9+
<projectFiles>
10+
<directory name="src" />
11+
<ignoreFiles>
12+
<directory name="vendor" />
13+
</ignoreFiles>
14+
</projectFiles>
15+
</psalm>

0 commit comments

Comments
 (0)