Skip to content

refactor: modernize CI, add semantic-release, and upgrade to PHP 8.1+#27

Merged
lukascivil merged 19 commits into
masterfrom
chore/organize-repo
Apr 25, 2026
Merged

refactor: modernize CI, add semantic-release, and upgrade to PHP 8.1+#27
lukascivil merged 19 commits into
masterfrom
chore/organize-repo

Conversation

@lukascivil
Copy link
Copy Markdown
Owner

@lukascivil lukascivil commented Apr 25, 2026

Summary

  • Modernize the CI workflow with a PHP version matrix (8.1, 8.5) and up-to-date GitHub Actions versions
  • Add an automated semantic-release pipeline that tags releases and notifies Packagist on merge to master
  • Upgrade PHPUnit from v5 to v10 and raise the minimum PHP requirement to 8.1
  • Refactor source, tests, and examples to align with updated tooling and PHP 8.1+

Changes

  • .github/workflows/: Renamed php.ymlci.yml with modernized setup-php action and matrix; added release.yml for semantic-release automation
  • .releaserc.json: New semantic-release config using the conventional commits preset, writes a CHANGELOG.md, and triggers a Packagist webhook on release
  • composer.json / composer.lock: PHPUnit ^5^10; explicit php: >=8.1 constraint added
  • src/TreeWalker.php, tests/TreeWalkerTest.php, phpunit.xml: Updated source and test suite for PHPUnit 10 and PHP 8.1+ compatibility
  • example/index.php, README.md: Refreshed usage examples and documentation
  • CLAUDE.md: Added codebase guidance for Claude Code

Test plan

  • Run composer install and verify no dependency errors
  • Run composer test and confirm all tests pass
  • Run composer check-format to verify PSR-2 compliance
  • Push to a branch and confirm the CI workflow (ci.yml) triggers and succeeds across both PHP versions
  • Verify the release workflow is configured correctly but does not trigger on non-master branches

@lukascivil lukascivil self-assigned this Apr 25, 2026
@lukascivil lukascivil changed the title chore: upgrade packages refactor!: update packages Apr 25, 2026
@lukascivil lukascivil changed the title refactor!: update packages refactor: modernize CI, add semantic-release, and upgrade to PHP 8.1+ Apr 25, 2026
@lukascivil lukascivil merged commit bb75cc3 into master Apr 25, 2026
2 checks passed
@lukascivil lukascivil deleted the chore/organize-repo branch April 25, 2026 07:44
github-actions Bot pushed a commit that referenced this pull request Apr 25, 2026
## 1.0.0 (2026-04-25)

* refactor: modernize CI, add semantic-release, and upgrade to PHP 8.1+ (#27) ([bb75cc3](bb75cc3)), closes [#27](#27)
* docs: remove version (#23) ([edc0b9c](edc0b9c)), closes [#23](#23)
* docs: update readme ([982b4f2](982b4f2))
* fix: coverage workflow (#22) ([dffe083](dffe083)), closes [#22](#22)
* chore: add codecov (#21) ([0407f34](0407f34)), closes [#21](#21)
* chore: add unit tests (#19) ([32ac1e0](32ac1e0)), closes [#19](#19)
* 👾 Added .gitattributes ([198cc91](198cc91))
* 0 index Array ([270567e](270567e))
* 0.1 ([0abd71e](0abd71e))
* 0.2 ([4edca23](4edca23))
* 0.3 ([7596547](7596547))
* 0.4 ([6b91ea9](6b91ea9))
* 0.4 ([e972dec](e972dec))
* 0.8 ([16ba903](16ba903))
* 0.8 ([25279c4](25279c4))
* bug fix ([22082fc](22082fc))
* Bug fix ([7b06336](7b06336))
* class name (PSR-1) ([ad1f7b6](ad1f7b6))
* code styling, class and method renaming accordingly to PSR-1 and PSR-2 ([3a7351e](3a7351e))
* Compare objects like arrarys ([3281bf5](3281bf5))
* composer require ([d853dce](d853dce))
* Composer support ([d49f25e](d49f25e))
* createDynamicallyObjects ([823c411](823c411))
* Fixing* autoload ([acbb5f6](acbb5f6))
* Fixing* name ([aa72443](aa72443))
* Fixing* psr-4 autoload ([e5be946](e5be946))
* installation with composer ([a3dad17](a3dad17))
* Merge branch 'master' of https://github.com/lukascivil/TreeWalker ([58cbf73](58cbf73))
* Merge pull request #13 from ecappa/ecappa-patch-1 ([cfac77d](cfac77d)), closes [#13](#13)
* Merge pull request #3 from sergey-shevchenko/master ([d05ab76](d05ab76)), closes [#3](#3) [#2](#2)
* Merge pull request #4 from clicks/master ([4e89404](4e89404)), closes [#4](#4)
* MIT License ([45fd70b](45fd70b))
* New functionality and refactoring ([9af13d7](9af13d7))
* Packagist update ([1c994ae](1c994ae))
* Redundancy removed ([def0081](def0081))
* Removing unnecessary code ([74fcc5e](74fcc5e))
* Renaming the file ([e9d7dbe](e9d7dbe))
* retesting ([55a26a6](55a26a6))
* Retesting ([93d003f](93d003f))
* Revert "createDynamicallyObjects" ([30af89b](30af89b))
* Update composer.json ([458b207](458b207))
* Update README.md ([74f5322](74f5322))
* Update README.md ([1480f12](1480f12))
* Update README.md ([bb6e827](bb6e827))
* Update README.md ([2d311a0](2d311a0))
* Update README.md ([204f874](204f874))
* Update README.md ([15bdd03](15bdd03))
* Update README.md ([ee90535](ee90535))
* Update README.md ([5a600da](5a600da))
* Update README.md ([f00eb72](f00eb72))
* Update README.md ([806e8b6](806e8b6))
* Update README.md ([1bd3473](1bd3473))
* Update README.md ([4390d52](4390d52))
* Update README.md ([045223f](045223f))
* Update README.md ([56d94a3](56d94a3))
* Update README.md ([37f1ebd](37f1ebd))
* Update README.md ([8f49cd2](8f49cd2))
* Update README.md ([2155cd5](2155cd5))
* Update TreeWalker.php ([ac02932](ac02932))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant