Skip to content

Commit f268ffb

Browse files
committed
Merge branch 'feature/php85' into develop
2 parents 3302757 + c898a12 commit f268ffb

File tree

4 files changed

+39
-29
lines changed

4 files changed

+39
-29
lines changed

.github/workflows/build.yml

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
with:
2727
php-version: ${{ matrix.php }}
2828
tools: composer:v2
29-
coverage: xdebug
29+
coverage: none
3030

3131
- name: Install dependencies
3232
run: |
@@ -49,7 +49,7 @@ jobs:
4949
- name: Setup PHP
5050
uses: shivammathur/setup-php@v2
5151
with:
52-
php-version: 8.1
52+
php-version: 8.2
5353
extensions: dom, curl, libxml, mbstring, zip
5454
tools: composer:v2
5555
coverage: xdebug
@@ -58,11 +58,22 @@ jobs:
5858
run: composer update --prefer-stable --prefer-dist --no-interaction
5959

6060
- name: Execute tests
61-
run: vendor/bin/pest --coverage-text --coverage-clover=coverage.clover
61+
run: vendor/bin/pest --coverage-text --coverage-clover=coverage.xml
6262

63-
- name: Upload coverage
64-
run: |
65-
vendor/bin/ocular code-coverage:upload --format=php-clover coverage.clover
63+
- name: Run Codacy Analysis CLI
64+
uses: codacy/codacy-analysis-cli-action@master
65+
with:
66+
project-token: ${{ secrets.CODACY_REPO_TOKEN }}
67+
directory: /github/workspace/src
68+
upload: true
69+
verbose: true
70+
max-allowed-issues: 2147483647
71+
72+
- name: Run Codacy Coverage Reporter
73+
uses: codacy/[email protected]
74+
with:
75+
project-token: ${{ secrets.CODACY_REPO_TOKEN }}
76+
coverage-reports: coverage.xml
6677

6778
linting:
6879
runs-on: ubuntu-latest

README.md

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,13 @@
22

33
[![Author][ico-author]][link-author]
44
[![PHP Version][ico-php]][link-php]
5+
[![Latest Version][ico-version]][link-packagist]
6+
[![Software License][ico-license]](LICENSE.md)
57
[![Build Status][ico-actions]][link-actions]
6-
[![Coverage Status][ico-scrutinizer]][link-scrutinizer]
7-
[![Quality Score][ico-code-quality]][link-code-quality]
8+
[![Code Quality][ico-code-quality]][link-code-quality]
9+
[![Coverage][ico-coverage]][link-coverage]
810
[![PHPStan Level][ico-phpstan]][link-phpstan]
911
[![Total Downloads][ico-downloads]][link-downloads]
10-
[![Latest Version][ico-version]][link-packagist]
11-
[![Software License][ico-license]](LICENSE.md)
12-
[![PER][ico-per]][link-per]
1312

1413
Zero-dependencies package to supercharge enum functionalities.
1514

@@ -589,24 +588,22 @@ If you discover any security related issues, please email andrea.marco.sartori@g
589588

590589
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.
591590

592-
[ico-author]: https://img.shields.io/badge/author-cerbero90-blue?logo=x&style=flat-square&logoSize=auto
593-
[ico-php]: https://img.shields.io/packagist/php-v/cerbero/enum?color=%23767bb5&logo=php&style=flat-square&logoSize=auto
594-
[ico-version]: https://img.shields.io/packagist/v/cerbero/enum.svg?label=version&style=flat-square
595-
[ico-actions]: https://img.shields.io/github/actions/workflow/status/cerbero90/enum/build.yml?branch=master&style=flat-square&logo=github&logoSize=auto
596-
[ico-license]: https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square
597-
[ico-per]: https://img.shields.io/static/v1?label=compliance&message=PER&color=blue&style=flat-square
598-
[ico-scrutinizer]: https://img.shields.io/scrutinizer/coverage/g/cerbero90/enum.svg?style=flat-square&logo=scrutinizer&logoSize=auto
599-
[ico-code-quality]: https://img.shields.io/scrutinizer/g/cerbero90/enum.svg?style=flat-square&logo=scrutinizer&logoSize=auto
600-
[ico-phpstan]: https://img.shields.io/badge/level-max-success?style=flat-square&logo=data:image/png;base64,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&logoSize=auto
601-
[ico-downloads]: https://img.shields.io/packagist/dt/cerbero/enum.svg?style=flat-square
591+
[ico-author]: https://img.shields.io/badge/author-cerbero90-blue?logo=x&style=for-the-badge&logoSize=auto
592+
[ico-php]: https://img.shields.io/packagist/php-v/cerbero/enum?color=%23777BB4&logo=php&style=for-the-badge&logoSize=auto
593+
[ico-version]: https://img.shields.io/packagist/v/cerbero/enum.svg?label=version&style=for-the-badge&logo=vitess&logoColor=fff&logoSize=auto
594+
[ico-license]: https://img.shields.io/badge/license-MIT-blue.svg?style=for-the-badge&logo=lerna&logoColor=fff&logoSize=auto
595+
[ico-actions]: https://img.shields.io/github/actions/workflow/status/cerbero90/enum/build.yml?branch=master&style=for-the-badge&logo=github&logoSize=auto
596+
[ico-code-quality]: https://img.shields.io/codacy/grade/42d72af09c554071be8c7cbd65c57e79?style=for-the-badge&logo=codacy&logoSize=auto
597+
[ico-coverage]: https://img.shields.io/codacy/coverage/42d72af09c554071be8c7cbd65c57e79?style=for-the-badge&logo=codacy&logoSize=auto
598+
[ico-phpstan]: https://img.shields.io/badge/phpstan-max-success?style=for-the-badge&logo=data:image/png;base64,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&logoSize=auto
599+
[ico-downloads]: https://img.shields.io/packagist/dt/cerbero/enum.svg?style=for-the-badge&logo=packagist&logoSize=auto
602600

603601
[link-author]: https://x.com/cerbero90
604602
[link-php]: https://www.php.net
605603
[link-packagist]: https://packagist.org/packages/cerbero/enum
606604
[link-actions]: https://github.com/cerbero90/enum/actions?query=workflow%3Abuild
607-
[link-per]: https://www.php-fig.org/per/coding-style/
608-
[link-scrutinizer]: https://scrutinizer-ci.com/g/cerbero90/enum/code-structure
609-
[link-code-quality]: https://scrutinizer-ci.com/g/cerbero90/enum
605+
[link-code-quality]: https://app.codacy.com/gh/cerbero90/enum/dashboard
606+
[link-coverage]: https://app.codacy.com/gh/cerbero90/enum/dashboard
610607
[link-downloads]: https://packagist.org/packages/cerbero/enum
611608
[link-phpstan]: https://phpstan.org/
612609
[link-contributors]: ../../contributors

composer.json

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,10 @@
1818
"php": "^8.1"
1919
},
2020
"require-dev": {
21-
"pestphp/pest": "^2.36|^3.0|^4.0",
22-
"phpstan/phpstan": "^2.1.31",
23-
"uma/ocular": "^2.0",
24-
"squizlabs/php_codesniffer": "^3.13",
25-
"tightenco/duster": "^2.7.6|^3.0"
21+
"pestphp/pest": "^2.0|^3.0|^4.0",
22+
"phpstan/phpstan": "^2.0",
23+
"squizlabs/php_codesniffer": "^3.0",
24+
"tightenco/duster": "^2.0"
2625
},
2726
"autoload": {
2827
"psr-4": {

src/CasesCollection.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ public function pluck(callable|string $value, callable|string|null $key = null):
170170
if ($key === null) {
171171
$result[] = $case->resolveItem($value);
172172
} else {
173+
/** @phpstan-ignore offsetAccess.invalidOffset */
173174
$result[$case->resolveItem($key)] = $case->resolveItem($value);
174175
}
175176
}
@@ -211,6 +212,7 @@ public function keyBy(callable|string $key): static
211212
$keyed = [];
212213

213214
foreach ($this->cases as $case) {
215+
/** @phpstan-ignore offsetAccess.invalidOffset */
214216
$keyed[$case->resolveItem($key)] = $case;
215217
}
216218

@@ -236,6 +238,7 @@ public function groupBy(callable|string $key): array
236238
$grouped = [];
237239

238240
foreach ($this->cases as $case) {
241+
/** @phpstan-ignore offsetAccess.invalidOffset */
239242
$grouped[$case->resolveItem($key)][] = $case;
240243
}
241244

0 commit comments

Comments
 (0)