Skip to content

Commit 8e95185

Browse files
authored
Release/4.0.0 (#40)
1 parent 90130b3 commit 8e95185

110 files changed

Lines changed: 10120 additions & 2709 deletions

File tree

Some content is hidden

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

‎.editorconfig‎

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
indent_size = 4
7+
indent_style = space
8+
max_line_length = 120
9+
insert_final_newline = true
10+
trim_trailing_whitespace = true
11+
12+
[*.{yml,yaml}]
13+
indent_size = 2
14+
15+
[Makefile]
16+
indent_style = tab
17+
18+
[*.md]
19+
trim_trailing_whitespace = false

‎.gitattributes‎

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,22 @@
1-
/tests export-ignore
2-
/vendor export-ignore
1+
* text=auto eol=lf
32

4-
/LICENSE export-ignore
5-
/Makefile export-ignore
6-
/README.md export-ignore
7-
/phpunit.xml export-ignore
8-
/phpstan.neon.dist export-ignore
9-
/infection.json.dist export-ignore
3+
*.php text diff=php
4+
5+
# Keep Claude tooling scripts out of GitHub's language statistics
6+
/.claude export-ignore
107

11-
/.github export-ignore
12-
/.gitignore export-ignore
13-
/.gitattributes export-ignore
8+
# Dev-only, excluded from the Packagist tarball
9+
/.github export-ignore
10+
/docs export-ignore
11+
/tests export-ignore
12+
/UPGRADE.md export-ignore
13+
/.editorconfig export-ignore
14+
/.gitattributes export-ignore
15+
/.gitignore export-ignore
16+
/phpcs.xml export-ignore
17+
/phpunit.xml export-ignore
18+
/phpstan.neon.dist export-ignore
19+
/infection.json.dist export-ignore
20+
/Makefile export-ignore
21+
/reports export-ignore
22+
/.phpunit.cache export-ignore
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
name: Bug report
3+
about: Report a bug to help improve the library
4+
labels: bug
5+
---
6+
7+
## Description
8+
9+
A clear and concise description of the bug.
10+
11+
## Steps to reproduce
12+
13+
1.
14+
2.
15+
3.
16+
17+
## Expected behavior
18+
19+
What should happen.
20+
21+
## Actual behavior
22+
23+
What actually happens.
24+
25+
## Environment
26+
27+
- PHP version:
28+
- Library version:
29+
- OS:
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
name: Feature request
3+
about: Suggest a feature for the library
4+
labels: enhancement
5+
---
6+
7+
## Problem
8+
9+
What problem does this feature solve?
10+
11+
## Proposed solution
12+
13+
How should the feature work?
14+
15+
## Alternatives considered
16+
17+
Other approaches considered.

‎.github/PULL_REQUEST_TEMPLATE.md‎

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
> Please follow the [contributing guidelines](https://github.com/tiny-blocks/tiny-blocks/blob/main/CONTRIBUTING.md).
2+
3+
## Summary
4+
5+
What this pull request does.
6+
7+
## Related issue
8+
9+
Closes #...
10+
11+
## Checklist
12+
13+
- [ ] Tests added or updated.
14+
- [ ] Documentation updated when applicable.
15+
- [ ] `make review` passes.
16+
- [ ] `make tests` passes.

‎.github/workflows/auto-assign.yml‎

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,19 @@ on:
88
types:
99
- opened
1010

11+
concurrency:
12+
group: auto-assign-${{ github.event.issue.number || github.event.pull_request.number }}
13+
cancel-in-progress: true
14+
15+
permissions:
16+
issues: write
17+
pull-requests: write
18+
1119
jobs:
12-
run:
20+
auto-assign:
21+
name: Auto assign
1322
runs-on: ubuntu-latest
14-
permissions:
15-
issues: write
16-
pull-requests: write
23+
timeout-minutes: 5
1724
steps:
1825
- name: Assign issues and pull requests
1926
uses: gustavofreze/auto-assign@2.1.0
@@ -22,4 +29,4 @@ jobs:
2229
github_token: '${{ secrets.GITHUB_TOKEN }}'
2330
allow_self_assign: 'true'
2431
allow_no_assignees: 'true'
25-
assignment_options: 'ISSUE,PULL_REQUEST'
32+
assignment_options: 'ISSUE,PULL_REQUEST'

‎.github/workflows/ci.yml‎

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -3,33 +3,47 @@ name: CI
33
on:
44
pull_request:
55

6+
concurrency:
7+
group: ci-${{ github.event.pull_request.number }}
8+
cancel-in-progress: true
9+
610
permissions:
711
contents: read
812

9-
env:
10-
PHP_VERSION: '8.5'
11-
1213
jobs:
14+
resolve-tooling-image:
15+
name: Resolve tooling image
16+
runs-on: ubuntu-latest
17+
timeout-minutes: 5
18+
outputs:
19+
php-image: ${{ steps.config.outputs.php-image }}
20+
steps:
21+
- name: Checkout
22+
uses: actions/checkout@v7
23+
24+
- name: Resolve tooling image from the Makefile
25+
id: config
26+
run: echo "php-image=$(make show-image)" >> "$GITHUB_OUTPUT"
27+
1328
build:
1429
name: Build
30+
needs: resolve-tooling-image
1531
runs-on: ubuntu-latest
16-
32+
timeout-minutes: 15
33+
env:
34+
image: ${{ needs.resolve-tooling-image.outputs.php-image }}
35+
workspace: /var/www/html
1736
steps:
1837
- name: Checkout
1938
uses: actions/checkout@v7
2039

21-
- name: Configure PHP
22-
uses: shivammathur/setup-php@v2
23-
with:
24-
php-version: ${{ env.PHP_VERSION }}
25-
extensions: bcmath
26-
tools: composer:2
27-
2840
- name: Validate composer.json
29-
run: composer validate --no-interaction
41+
run: docker run --rm -v "${PWD}":${{ env.workspace }} ${{ env.image }} composer validate --no-interaction
3042

3143
- name: Install dependencies
32-
run: composer install --no-progress --optimize-autoloader --prefer-dist --no-interaction
44+
run: >
45+
docker run --rm -v "${PWD}":${{ env.workspace }} ${{ env.image }}
46+
composer install --no-progress --optimize-autoloader --prefer-dist --no-interaction
3347
3448
- name: Upload vendor and composer.lock as artifact
3549
uses: actions/upload-artifact@v7
@@ -41,50 +55,36 @@ jobs:
4155
4256
auto-review:
4357
name: Auto review
58+
needs: [resolve-tooling-image, build]
4459
runs-on: ubuntu-latest
45-
needs: build
46-
60+
timeout-minutes: 15
4761
steps:
4862
- name: Checkout
4963
uses: actions/checkout@v7
5064

51-
- name: Configure PHP
52-
uses: shivammathur/setup-php@v2
53-
with:
54-
php-version: ${{ env.PHP_VERSION }}
55-
extensions: bcmath
56-
tools: composer:2
57-
5865
- name: Download vendor artifact from build
5966
uses: actions/download-artifact@v8
6067
with:
6168
name: vendor-artifact
6269
path: .
6370

6471
- name: Run review
65-
run: composer review
72+
run: make review
6673

6774
tests:
6875
name: Tests
76+
needs: [resolve-tooling-image, auto-review]
6977
runs-on: ubuntu-latest
70-
needs: auto-review
71-
78+
timeout-minutes: 15
7279
steps:
7380
- name: Checkout
7481
uses: actions/checkout@v7
7582

76-
- name: Configure PHP
77-
uses: shivammathur/setup-php@v2
78-
with:
79-
php-version: ${{ env.PHP_VERSION }}
80-
extensions: bcmath
81-
tools: composer:2
82-
8383
- name: Download vendor artifact from build
8484
uses: actions/download-artifact@v8
8585
with:
8686
name: vendor-artifact
8787
path: .
8888

8989
- name: Run tests
90-
run: composer tests
90+
run: make tests tests-without-bcmath

‎.github/workflows/codeql.yml‎

Lines changed: 0 additions & 35 deletions
This file was deleted.

‎.gitignore‎

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,30 @@
1-
.idea
1+
# PHP dependencies
2+
/vendor/
3+
composer.lock
24

3-
vendor
4-
report
5-
.phpunit.*
5+
# Local config overrides (committed baselines are the .dist files)
6+
/phpstan.neon
7+
/infection.json
68

7-
*.lock
9+
# Tooling cache
10+
.phpunit.cache/
11+
.phpunit.result.cache
12+
__pycache__/
13+
*.pyc
14+
15+
# Coverage and reports
16+
build/
17+
reports/
18+
coverage/
19+
infection.log
20+
21+
# Editors and agents
22+
.idea/
23+
.cursor/
24+
.vscode/
25+
/.claude/settings.local.json
26+
27+
# OS
28+
Thumbs.db
29+
.DS_Store
30+
Desktop.ini

0 commit comments

Comments
 (0)