Skip to content

Commit b663a70

Browse files
committed
Initial commit
0 parents  commit b663a70

20 files changed

+667
-0
lines changed

.editorconfig

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
; top-most EditorConfig file
2+
root = true
3+
4+
# All files.
5+
[*]
6+
end_of_line = LF
7+
indent_style = space
8+
indent_size = 4
9+
charset = utf-8
10+
trim_trailing_whitespace = true
11+
insert_final_newline = true

.gitattributes

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Path-based git attributes
2+
# https://www.kernel.org/pub/software/scm/git/docs/gitattributes.html
3+
4+
# Ignore all test and documentation with "export-ignore".
5+
/.editorconfig export-ignore
6+
/.gitattributes export-ignore
7+
/.github export-ignore
8+
/.gitignore export-ignore
9+
/phpcs.xml.dist export-ignore
10+
/phpstan.neon.dist export-ignore
11+
/phpunit.xml.dist export-ignore
12+
/psalm.xml export-ignore
13+
/roave-bc-check.yaml export-ignore
14+
/tests export-ignore

.github/CODE_OF_CONDUCT.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Contributor Code of Conduct
2+
3+
As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.
4+
5+
We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.
6+
7+
Examples of unacceptable behavior by participants include:
8+
9+
* The use of sexualized language or imagery
10+
* Personal attacks
11+
* Trolling or insulting/derogatory comments
12+
* Public or private harassment
13+
* Publishing other's private information, such as physical or electronic addresses, without explicit permission
14+
* Other unethical or unprofessional conduct.
15+
16+
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team.
17+
18+
This code of conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.
19+
20+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers.
21+
22+
This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0, available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/)

.github/FUNDING.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
github: colinodell
2+
custom: ["https://www.colinodell.com/sponsor", "https://www.paypal.me/colinpodell/10.00"]

.github/close-label.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
bug: fixed
2+
enhancement: implemented
3+
feature: implemented
4+
performance: implemented
5+
spec compliance: fixed

.github/stale.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Number of days of inactivity before an issue becomes stale
2+
daysUntilStale: 60
3+
# Number of days of inactivity before a stale issue is closed
4+
daysUntilClose: 21
5+
# Issues with these labels will never be considered stale
6+
exemptLabels:
7+
- do not close
8+
- pinned
9+
- on hold
10+
- security
11+
# Label to use when marking an issue as stale
12+
staleLabel: stale
13+
# Comment to post when marking an issue as stale. Set to `false` to disable
14+
markComment: >
15+
This issue has been automatically marked as stale because it has not had
16+
recent activity. It will be closed if no further activity occurs. Thank you
17+
for your contributions.
18+
# Comment to post when closing a stale issue. Set to `false` to disable
19+
closeComment: false
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: "Backwards compatibility"
2+
3+
on:
4+
pull_request:
5+
6+
jobs:
7+
bc-check:
8+
name: "Backwards compatibility check"
9+
10+
runs-on: "ubuntu-latest"
11+
12+
steps:
13+
- name: "Checkout"
14+
uses: "actions/checkout@v2.4.0"
15+
with:
16+
fetch-depth: 0
17+
18+
- name: "BC Check"
19+
uses: docker://nyholm/roave-bc-check-ga
20+
with:
21+
args: --from=${{ github.event.pull_request.base.sha }}

.github/workflows/tests.yml

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
name: Tests
2+
3+
on:
4+
push: ~
5+
pull_request: ~
6+
7+
jobs:
8+
phpcs:
9+
name: PHPCS
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- uses: actions/checkout@v2
14+
15+
- uses: shivammathur/setup-php@v2
16+
with:
17+
php-version: 7.4
18+
coverage: none
19+
tools: composer:v2, cs2pr
20+
21+
- run: composer update --no-progress
22+
23+
- run: vendor/bin/phpcs -q --report=checkstyle | cs2pr
24+
25+
phpunit:
26+
name: "PHPUnit: PHP ${{ matrix.php }}; psr/log ${{ matrix.psrlog }} ${{ matrix.composer-flags }}"
27+
runs-on: ubuntu-latest
28+
continue-on-error: ${{ !matrix.stable }}
29+
strategy:
30+
fail-fast: false
31+
matrix:
32+
php: ['8.0', '8.1']
33+
psrlog: ['^1.0', '^2.0', '^3.0']
34+
stable: [true]
35+
coverage: [true]
36+
composer-flags: ['', '--prefer-lowest']
37+
include:
38+
- php: '7.4'
39+
psrlog: '^1.0'
40+
stable: true
41+
coverage: true
42+
composer-flags: ''
43+
- php: '7.4'
44+
psrlog: '^1.0'
45+
stable: true
46+
coverage: true
47+
composer-flags: '--prefer-lowest'
48+
49+
steps:
50+
- uses: actions/checkout@v2
51+
with:
52+
fetch-depth: 0
53+
54+
- uses: shivammathur/setup-php@v2
55+
with:
56+
php-version: ${{ matrix.php }}
57+
coverage: pcov
58+
tools: composer:v2
59+
60+
- run: echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json"
61+
62+
- run: composer require psr/log:${{ matrix.psrlog }} ${{ matrix.composer-flags }} --no-progress --no-suggest --no-interaction
63+
64+
- run: vendor/bin/phpunit --no-coverage
65+
if: ${{ !matrix.coverage }}
66+
67+
- run: vendor/bin/phpunit --coverage-text
68+
if: ${{ matrix.coverage }}
69+
70+
phpstan:
71+
name: PHPStan
72+
runs-on: ubuntu-latest
73+
74+
steps:
75+
- uses: actions/checkout@v2
76+
77+
- uses: shivammathur/setup-php@v2
78+
with:
79+
php-version: 7.4
80+
coverage: none
81+
tools: composer:v2
82+
83+
- run: composer update --no-progress
84+
85+
- run: vendor/bin/phpstan analyse --no-progress
86+
87+
psalm:
88+
name: Psalm
89+
runs-on: ubuntu-latest
90+
91+
steps:
92+
- uses: actions/checkout@v2
93+
94+
- uses: shivammathur/setup-php@v2
95+
with:
96+
php-version: 7.4
97+
coverage: none
98+
tools: composer:v2
99+
100+
- run: composer update --no-progress
101+
102+
- run: vendor/bin/psalm --no-progress --stats --threads=$(nproc) --output-format=github --shepherd

.gitignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
/.idea/
2+
/.phpcs-cache
3+
/.phpunit.result.cache
4+
/build/
5+
composer.lock
6+
composer.phar
7+
/vendor/
8+
phpunit.xml
9+

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Change Log
2+
All notable changes to this project will be documented in this file.
3+
Updates should follow the [Keep a CHANGELOG](https://keepachangelog.com/) principles.
4+
5+
## [Unreleased][unreleased]

0 commit comments

Comments
 (0)