Skip to content

Commit 7a7574b

Browse files
committed
Big 💥
0 parents  commit 7a7574b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+3064
-0
lines changed

.coveralls.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
coverage_clover: /tmp/coverage/*.xml
2+
json_path: /tmp/coverage/coverage.json

.gitattributes

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Set the default behavior, in case people don't have core.autocrlf set.
2+
* text eol=lf
3+
/.coveralls.yml export-ignore
4+
/.gitattributes export-ignore
5+
/.gitignore export-ignore
6+
/.github export-ignore
7+
/infection.json.dist export-ignore
8+
/phpcs.xml.dist export-ignore
9+
/phpstan.neon.dist export-ignore
10+
/phpunit.xml.dist export-ignore
11+
/tests export-ignore

.github/workflows/ci.yml

Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
name: Continuous Integration
2+
3+
on:
4+
push:
5+
branches:
6+
tags:
7+
pull_request:
8+
9+
jobs:
10+
coding-standard:
11+
runs-on: ubuntu-18.04
12+
name: Coding Standard
13+
14+
steps:
15+
- uses: actions/checkout@v2
16+
17+
- name: Install PHP
18+
uses: shivammathur/[email protected]
19+
with:
20+
php-version: 7.3
21+
coverage: none
22+
extensions: json, mbstring
23+
24+
- name: Get Composer Cache Directory
25+
id: composer-cache
26+
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
27+
28+
- name: Cache dependencies
29+
uses: actions/cache@v1
30+
with:
31+
path: ${{ steps.composer-cache.outputs.dir }}
32+
key: ${{ runner.os }}-composer-${{ hashFiles('composer.json') }}
33+
restore-keys: ${{ runner.os }}-composer-
34+
35+
- name: Install Dependencies
36+
run: composer install ${DEPENDENCIES}
37+
38+
- name: Coding Standard
39+
run: vendor/bin/phpcs
40+
41+
phpstan:
42+
runs-on: ubuntu-18.04
43+
name: PHPStan
44+
45+
steps:
46+
- uses: actions/checkout@v2
47+
48+
- name: Install PHP
49+
uses: shivammathur/[email protected]
50+
with:
51+
php-version: 7.3
52+
coverage: none
53+
extensions: json, mbstring
54+
55+
- name: Get Composer Cache Directory
56+
id: composer-cache
57+
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
58+
59+
- name: Cache dependencies
60+
uses: actions/cache@v1
61+
with:
62+
path: ${{ steps.composer-cache.outputs.dir }}
63+
key: ${{ runner.os }}-composer-${{ hashFiles('composer.json') }}
64+
restore-keys: ${{ runner.os }}-composer-
65+
66+
- name: Install Dependencies
67+
run: composer install ${DEPENDENCIES}
68+
69+
- name: PHPStan
70+
run: vendor/bin/phpstan analyse
71+
72+
coverage:
73+
runs-on: ubuntu-18.04
74+
name: Code Coverage
75+
76+
steps:
77+
- uses: actions/checkout@v2
78+
with:
79+
ref: ${{ github.ref }}
80+
81+
- name: Build the docker-compose stack
82+
run: docker-compose -f tests/docker-compose.yaml up -d
83+
84+
- name: Install PHP
85+
uses: shivammathur/[email protected]
86+
with:
87+
php-version: 7.3
88+
coverage: pcov
89+
extensions: json, mbstring
90+
91+
- name: Get Composer Cache Directory
92+
id: composer-cache
93+
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
94+
95+
- name: Cache dependencies
96+
uses: actions/cache@v1
97+
with:
98+
path: ${{ steps.composer-cache.outputs.dir }}
99+
key: ${{ runner.os }}-composer-${{ hashFiles('composer.json') }}
100+
restore-keys: ${{ runner.os }}-composer-
101+
102+
- name: Install Dependencies
103+
run: composer install ${DEPENDENCIES}
104+
105+
- name: Code coverage
106+
run: |
107+
./vendor/bin/phpunit --coverage-clover /tmp/coverage/clover.xml
108+
109+
- name: Report to Coveralls
110+
env:
111+
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
112+
COVERALLS_RUN_LOCALLY: 1
113+
run: vendor/bin/php-coveralls --verbose
114+
115+
build:
116+
runs-on: ubuntu-18.04
117+
strategy:
118+
matrix:
119+
php: [7.3, 7.4]
120+
env: [
121+
'DEPENDENCIES=--prefer-lowest',
122+
'',
123+
]
124+
name: PHP ${{ matrix.php }} Test ${{ matrix.env }}
125+
126+
steps:
127+
- uses: actions/checkout@v2
128+
129+
- name: Build the docker-compose stack
130+
run: docker-compose -f tests/docker-compose.yaml up -d
131+
132+
- name: Install PHP
133+
uses: shivammathur/[email protected]
134+
with:
135+
php-version: ${{ matrix.php }}
136+
coverage: none
137+
extensions: json, mbstring
138+
- name: Get Composer Cache Directory
139+
id: composer-cache
140+
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
141+
142+
- name: Cache dependencies
143+
uses: actions/cache@v1
144+
with:
145+
path: ${{ steps.composer-cache.outputs.dir }}
146+
key: ${{ runner.os }}-composer-${{ hashFiles('composer.json') }}
147+
restore-keys: ${{ runner.os }}-composer-
148+
149+
- name: Install Dependencies
150+
run: composer install ${DEPENDENCIES}
151+
152+
- name: Run unit tests
153+
run: |
154+
export $ENV
155+
./vendor/bin/phpunit --group default,ReactPromise
156+
env:
157+
ENV: ${{ matrix.env}}

.github/workflows/infection.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Run Infection
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
build:
7+
runs-on: ubuntu-18.04
8+
9+
steps:
10+
- uses: actions/checkout@v2
11+
12+
- name: Build the docker-compose stack
13+
run: docker-compose -f tests/docker-compose.yaml up -d
14+
15+
- name: Install PHP
16+
uses: shivammathur/[email protected]
17+
with:
18+
php-version: 7.3
19+
coverage: xdebug
20+
extensions: json, mbstring
21+
22+
- name: Install Dependencies
23+
run: composer install --prefer-dist --no-progress --no-suggest
24+
25+
- name: Run Infection
26+
run: vendor/bin/infection --min-msi=84 --min-covered-msi=90 --log-verbosity=none -s

.github/workflows/shepherd.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
name: Run Shepherd
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
build:
7+
runs-on: ubuntu-18.04
8+
9+
steps:
10+
- uses: actions/checkout@v2
11+
12+
- name: Install dependencies
13+
run: composer install --prefer-dist --no-progress --no-suggest
14+
15+
- name: Run Psalm
16+
run: vendor/bin/psalm --threads=4 --output-format=github --shepherd

.gitignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
/.phpunit.result.cache
2+
/.phpunit.xml
3+
/.phpcs-cache
4+
/infection.json
5+
/infection-log.txt
6+
/phpcs.xml
7+
/phpstan.neon
8+
/composer.lock
9+
/vendor/

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2020 Šimon Podlipský
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)