Skip to content

Commit c0e44cd

Browse files
Initial commit
0 parents  commit c0e44cd

31 files changed

+1159
-0
lines changed

.cache/.gitkeep

Whitespace-only changes.

.gitattributes

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
/test export-ignore
2+
/tools export-ignore
3+
/.idea export-ignore
4+
/.gitattributes export-ignore
5+
/.gitignore export-ignore
6+
/.cache export-ignore
7+
/.logs export-ignore
8+
/.php_cs.dist export-ignore
9+
/.travis.yml export-ignore
10+
/infection.json.dist export-ignore
11+
/phive.xml export-ignore
12+
/phpcomp.xml export-ignore
13+
/psalm.xml export-ignore

.github/dependabot.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "composer"
9+
directory: "/"
10+
schedule:
11+
interval: "daily"
12+
13+
- package-ecosystem: "github-actions"
14+
directory: "/"
15+
schedule:
16+
interval: "daily"
17+
18+

.github/release-drafter.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
template: |
2+
## What’s Changed
3+
$CHANGES
4+
exclude-labels:
5+
- "skip-changelog"
6+
- "invalid"
7+
version-resolver:
8+
major:
9+
labels:
10+
- 'semver:major'
11+
- 'Breaking Change'
12+
minor:
13+
labels:
14+
- 'semver:minor'
15+
- 'enhancement'
16+
- 'Deprecation'
17+
patch:
18+
labels:
19+
- 'semver:patch'
20+
- 'bug'
21+
default: patch

.github/workflows/ci.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
- release
8+
paths-ignore:
9+
- '**.md'
10+
pull_request:
11+
branches:
12+
- main
13+
- release
14+
paths-ignore:
15+
- '**.md'
16+
17+
jobs:
18+
test_latest:
19+
strategy:
20+
matrix:
21+
php-versions: [ '8.0' ]
22+
prefer: [ 'prefer-lowest', 'prefer-stable' ]
23+
name: Test with ${{ matrix.prefer }} dependency versions on PHP ${{ matrix.php-versions }}
24+
runs-on: ubuntu-latest
25+
26+
steps:
27+
- name: Checkout
28+
uses: actions/checkout@v2
29+
30+
- name: Setup PHP
31+
uses: shivammathur/setup-php@v2
32+
with:
33+
php-version: ${{ matrix.php-versions }}
34+
coverage: xdebug
35+
36+
- name: Validate composer.json
37+
run: composer validate
38+
39+
- name: Get Composer Cache Directory
40+
id: composer-cache
41+
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
42+
- name: Setup cache
43+
uses: actions/cache@v2
44+
with:
45+
path: ${{ steps.composer-cache.outputs.dir }}
46+
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}-${{ matrix.prefer }}-
47+
restore-keys: ${{ runner.os }}-composer-${{ matrix.prefer }}-
48+
49+
- name: Install dependencies
50+
if: steps.composer-cache.outputs.cache-hit != 'true'
51+
run: composer update --prefer-dist --no-ansi --no-interaction --no-progress --${{ matrix.prefer }}
52+
53+
- name: Run CI tools
54+
run: composer ci-all
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Draft Release
2+
on:
3+
push:
4+
branches: [ release ]
5+
paths-ignore:
6+
- '**.md'
7+
8+
jobs:
9+
draft_release:
10+
name: Create draft release
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: checkout
14+
uses: actions/checkout@v2
15+
16+
- name: draft release
17+
id: draft_release
18+
uses: release-drafter/release-drafter@v5
19+
env:
20+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
21+
22+
- name: create changelog
23+
uses: charmixer/[email protected]
24+
with:
25+
token: ${{ secrets.GITHUB_TOKEN }}
26+
exclude_labels: "duplicate,question,invalid,wontfix,skip-changelog"
27+
future_release: ${{ steps.draft_release.outputs.tag_name }}
28+
release_branch: 'release'
29+
30+
- name: commit updated changelog
31+
uses: EndBug/add-and-commit@v6
32+
with:
33+
message: "[CHANGELOG] Updated changelog"
34+
add: "CHANGELOG.md"
35+
signoff: true
36+
env:
37+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Update Changelog
2+
on:
3+
push:
4+
branches: [ master ]
5+
paths-ignore:
6+
- '**.md'
7+
release:
8+
types: [ published ]
9+
10+
jobs:
11+
update_changelog:
12+
name: Update changelog
13+
runs-on: ubuntu-latest
14+
if: github.event_name != 'release'
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v2
18+
19+
- name: create changelog
20+
uses: charmixer/auto-changelog-action@v1
21+
with:
22+
token: ${{ secrets.GITHUB_TOKEN }}
23+
exclude_labels: "duplicate,question,invalid,wontfix,skip-changelog"
24+
25+
- name: commit updated changelog
26+
uses: EndBug/add-and-commit@v6
27+
with:
28+
message: "[CHANGELOG] Updated changelog"
29+
add: "CHANGELOG.md"
30+
signoff: true
31+
env:
32+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
33+
34+
update_changelog_after_release:
35+
name: Update changelog in default branch after published release
36+
runs-on: ubuntu-latest
37+
if: github.event_name == 'release'
38+
steps:
39+
- name: Checkout
40+
uses: actions/checkout@v2
41+
with:
42+
ref: 'main'
43+
44+
- name: create changelog
45+
uses: charmixer/auto-changelog-action@v1
46+
with:
47+
token: ${{ secrets.GITHUB_TOKEN }}
48+
exclude_labels: "duplicate,question,invalid,wontfix,skip-changelog"
49+
50+
- name: commit updated changelog
51+
uses: EndBug/add-and-commit@v6
52+
with:
53+
message: "[CHANGELOG] Updated changelog"
54+
add: "CHANGELOG.md"
55+
signoff: true
56+
branch: main
57+
env:
58+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.gitignore

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
/.cache/*
2+
/.logs/*
3+
/test/.phpunit.result.cache
4+
!/**/.gitkeep
5+
6+
# Created by https://www.toptal.com/developers/gitignore/api/composer,phpstorm
7+
# Edit at https://www.toptal.com/developers/gitignore?templates=composer,phpstorm
8+
9+
### Composer ###
10+
composer.phar
11+
/vendor/
12+
13+
# Commit your application's lock file https://getcomposer.org/doc/01-basic-usage.md#commit-your-composer-lock-file-to-version-control
14+
# You may choose to ignore a library lock file http://getcomposer.org/doc/02-libraries.md#lock-file
15+
composer.lock
16+
17+
### PhpStorm ###
18+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
19+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
20+
21+
# User-specific stuff
22+
.idea/**/workspace.xml
23+
.idea/**/tasks.xml
24+
.idea/**/usage.statistics.xml
25+
.idea/**/dictionaries
26+
.idea/**/shelf
27+
28+
# Generated files
29+
.idea/**/contentModel.xml
30+
31+
# Sensitive or high-churn files
32+
.idea/**/dataSources/
33+
.idea/**/dataSources.ids
34+
.idea/**/dataSources.local.xml
35+
.idea/**/sqlDataSources.xml
36+
.idea/**/dynamic.xml
37+
.idea/**/uiDesigner.xml
38+
.idea/**/dbnavigator.xml
39+
40+
# Gradle
41+
.idea/**/gradle.xml
42+
.idea/**/libraries
43+
44+
# Gradle and Maven with auto-import
45+
# When using Gradle or Maven with auto-import, you should exclude module files,
46+
# since they will be recreated, and may cause churn. Uncomment if using
47+
# auto-import.
48+
# .idea/artifacts
49+
# .idea/compiler.xml
50+
# .idea/jarRepositories.xml
51+
# .idea/modules.xml
52+
# .idea/*.iml
53+
# .idea/modules
54+
# *.iml
55+
# *.ipr
56+
57+
# CMake
58+
cmake-build-*/
59+
60+
# Mongo Explorer plugin
61+
.idea/**/mongoSettings.xml
62+
63+
# File-based project format
64+
*.iws
65+
66+
# IntelliJ
67+
out/
68+
69+
# mpeltonen/sbt-idea plugin
70+
.idea_modules/
71+
72+
# JIRA plugin
73+
atlassian-ide-plugin.xml
74+
75+
# Cursive Clojure plugin
76+
.idea/replstate.xml
77+
78+
# Crashlytics plugin (for Android Studio and IntelliJ)
79+
com_crashlytics_export_strings.xml
80+
crashlytics.properties
81+
crashlytics-build.properties
82+
fabric.properties
83+
84+
# Editor-based Rest Client
85+
.idea/httpRequests
86+
87+
# Android studio 3.1+ serialized cache file
88+
.idea/caches/build_file_checksums.ser
89+
90+
### PhpStorm Patch ###
91+
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
92+
93+
# *.iml
94+
# modules.xml
95+
# .idea/misc.xml
96+
# *.ipr
97+
98+
# Sonarlint plugin
99+
# https://plugins.jetbrains.com/plugin/7973-sonarlint
100+
.idea/**/sonarlint/
101+
102+
# SonarQube Plugin
103+
# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
104+
.idea/**/sonarIssues.xml
105+
106+
# Markdown Navigator plugin
107+
# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
108+
.idea/**/markdown-navigator.xml
109+
.idea/**/markdown-navigator-enh.xml
110+
.idea/**/markdown-navigator/
111+
112+
# Cache file creation bug
113+
# See https://youtrack.jetbrains.com/issue/JBR-2257
114+
.idea/$CACHE_FILE$
115+
116+
# CodeStream plugin
117+
# https://plugins.jetbrains.com/plugin/12206-codestream
118+
.idea/codestream.xml
119+
120+
# End of https://www.toptal.com/developers/gitignore/api/composer,phpstorm

.idea/.gitignore

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/copyright/profiles_settings.xml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)