Skip to content

Update dependencies and refactor test configurations #463

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 18 commits into
base: master
Choose a base branch
from

Conversation

cuppett
Copy link
Contributor

@cuppett cuppett commented Jun 21, 2025

Summary

  • Updates to k8s, laravel and PHP
  • Replace mysql:5.7 with mariadb:11.8 for better compatibility
  • Refactor test container configurations to eliminate duplication
  • Update guzzlehttp/guzzle requirement from ^6.5 | ^7.0 to ^7.9.3
  • Update symfony/process requirement from ^6.0|^7.0 to ^7.3.0

Test plan

  • All existing tests pass
  • Container configurations work correctly
  • Dependencies are properly updated

🤖 Generated with Claude Code

cuppett and others added 12 commits April 10, 2024 19:59
(Noticed a GH action once chose podman and failed/flaked there.)
Noticing the cache isn't hitting when action runs.
Remove hardcoded composer cache directory.
Remove wildcard .* in Laravel version as part of cache key.
Bump actions/cache to 3.3.1 (via @V3).
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Please update the following actions to use Node.js 20: actions/cache@v3, codecov/codecov-action@v3.1.0.

For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@cuppett
Copy link
Contributor Author

cuppett commented Jun 21, 2025

@rennokki This is ready for review/approval. I'd like to catch this library up and then add new k8s APIs and features (separate PRs).

cuppett and others added 6 commits June 21, 2025 16:34
* Update CI workflow to latest versions

- Upgrade PHP versions to 8.3, 8.4 (latest stable)
- Update Kubernetes versions to 1.31.10, 1.32.6, 1.33.2 (current supported)
- Upgrade Laravel to 11.*, 12.* with corresponding testbench versions
- Update minikube to 1.36.0 (latest stable)
- Upgrade codecov action to v5
- Update README badges to reflect new Kubernetes versions

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Update composer dependencies for Laravel 11/12 and PHP 8.3/8.4

- Set minimum PHP version to ^8.3
- Update Laravel dependencies to support ^11.0 < /dev/null | ^12.0
- Upgrade Guzzle to ^7.0 (remove 6.x support)
- Update dev dependencies:
  - mockery/mockery: ^1.6
  - orchestra/testbench: ^9.0|^10.0
  - phpunit/phpunit: ^10.0|^11.0
  - vimeo/psalm: ^6.12.0
- Update composer/semver to ^3.4

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Fix PHPUnit data provider compatibility

Make environmentVariableContextProvider static to support PHPUnit 10+

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Update PHPUnit configuration for v11 compatibility

- Update XML schema to vendor/phpunit/phpunit/phpunit.xsd
- Use modern <source> element for coverage filtering
- Set failOnWarning and failOnDeprecation to false to handle warnings gracefully
- Configure proper coverage reporting with clover and text outputs

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
---
updated-dependencies:
- dependency-name: symfony/process
  dependency-version: 7.3.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-version: 7.9.3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Add centralized container factory methods in TestCase.php to eliminate
duplicate PodSpec configurations across test files. This refactoring
addresses 29+ instances of duplicate MySQL, Perl, Busybox, and Nginx
container setups.

Key changes:
- Add createMysqlContainer(), createPerlContainer(), createBusyboxContainer(),
  and createNginxContainer() helper methods in TestCase.php
- Add createMysqlPod() and createPerlPod() helper methods for complete pod setup
- Refactor 11 test files to use standardized container helpers
- Maintain backward compatibility through flexible options arrays
- Reduce test setup code from ~300 lines to centralized configuration

Benefits:
- DRY principle: single source of truth for container configurations
- Improved maintainability: changes only needed in TestCase.php
- Consistent container setup across all tests
- Enhanced readability with self-documenting helper method names

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
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