From e0276900b02f2de6760c799510da918a92623307 Mon Sep 17 00:00:00 2001 From: Ryan Colson Date: Fri, 19 Sep 2025 15:07:24 -0700 Subject: [PATCH] support for actively supported versions --- .github/workflows/ci.yml | 40 ++++++++++++++++--------------------- .gitignore | 1 + composer.json | 16 ++++++++++----- phpunit.xml | 30 +++++++++++++--------------- tests/ConfigurationTest.php | 9 ++++----- 5 files changed, 47 insertions(+), 49 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7ec5e69..9b030cd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,25 +19,14 @@ jobs: strategy: fail-fast: false matrix: - php: - - '8.0' - - '8.1' - laravel: - - 8.* - - 9.* - prefer: - - 'prefer-lowest' - - 'prefer-stable' - include: - - laravel: '8.*' - testbench: '6.*' - - laravel: '9.*' - testbench: '7.*' + php: [8.2, 8.3, 8.4] + laravel: [11, 12] + prefer: [prefer-lowest, prefer-stable] name: PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }} --${{ matrix.prefer }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 @@ -46,7 +35,7 @@ jobs: extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv coverage: pcov - - uses: actions/cache@v3.0.5 + - uses: actions/cache@v4 name: Cache dependencies with: path: ~/.composer/cache/files @@ -54,21 +43,26 @@ jobs: - name: Install dependencies run: | - composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" --no-interaction --no-update - composer update --${{ matrix.prefer }} --prefer-dist --no-interaction --no-suggest + composer require "laravel/framework:^${{ matrix.laravel }}.0" --dev "orchestra/testbench" --no-interaction --${{ matrix.prefer }} --prefer-dist - name: Setup in-cluster config + env: + TEST_TOKEN: some-token + TEST_CERT: c29tZS1jZXJ0Cg== + TEST_NAMESPACE: some-namespace run: | sudo mkdir -p /var/run/secrets/kubernetes.io/serviceaccount - echo "some-token" | sudo tee /var/run/secrets/kubernetes.io/serviceaccount/token - echo "c29tZS1jZXJ0Cg==" | sudo tee /var/run/secrets/kubernetes.io/serviceaccount/ca.crt - echo "some-namespace" | sudo tee /var/run/secrets/kubernetes.io/serviceaccount/namespace - sudo chmod -R 777 /var/run/secrets/kubernetes.io/serviceaccount/ + echo "$TEST_TOKEN" | sudo tee /var/run/secrets/kubernetes.io/serviceaccount/token + echo "$TEST_CERT" | sudo tee /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + echo "$TEST_NAMESPACE" | sudo tee /var/run/secrets/kubernetes.io/serviceaccount/namespace + sudo chmod 644 /var/run/secrets/kubernetes.io/serviceaccount/token + sudo chmod 644 /var/run/secrets/kubernetes.io/serviceaccount/ca.crt + sudo chmod 644 /var/run/secrets/kubernetes.io/serviceaccount/namespace - name: Run tests run: | vendor/bin/phpunit --coverage-text --coverage-clover=coverage.xml - - uses: codecov/codecov-action@v3.1.0 + - uses: codecov/codecov-action@v4 with: fail_ci_if_error: false diff --git a/.gitignore b/.gitignore index 06c9aac..f25633e 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ composer.phar composer.lock .DS_Store database.sqlite +.phpunit.cache diff --git a/composer.json b/composer.json index 2afa831..8dd75d4 100644 --- a/composer.json +++ b/composer.json @@ -19,8 +19,14 @@ "role": "Developer" } ], + "repositories": [ + { + "type": "vcs", + "url": "https://github.com/ryancco/php-k8s.git" + } + ], "require": { - "renoki-co/php-k8s": "^3.7" + "renoki-co/php-k8s": "dev-master" }, "autoload": { "psr-4": { @@ -36,10 +42,10 @@ "test": "vendor/bin/phpunit" }, "require-dev": { - "mockery/mockery": "^1.5", - "orchestra/testbench": "^6.28|^7.0", - "orchestra/testbench-core": "^6.28|^7.0", - "phpunit/phpunit": "^9.5.21" + "mockery/mockery": "^1.6", + "orchestra/testbench": "^9.0|^10.0", + "orchestra/testbench-core": "^9.0|^10.0", + "phpunit/phpunit": "^10.5|^11.0" }, "config": { "sort-packages": true diff --git a/phpunit.xml b/phpunit.xml index 82794b7..9a5eb21 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -1,25 +1,23 @@ - + tests - - - src/ - - + - + + + + + src + + diff --git a/tests/ConfigurationTest.php b/tests/ConfigurationTest.php index 1eec432..01f379d 100644 --- a/tests/ConfigurationTest.php +++ b/tests/ConfigurationTest.php @@ -2,6 +2,7 @@ namespace RenokiCo\LaravelK8s\Test; +use PHPUnit\Framework\Attributes\DataProvider; use RenokiCo\LaravelK8s\LaravelK8sFacade; use RenokiCo\PhpK8s\Kinds\K8sResource; @@ -131,10 +132,8 @@ public function test_in_cluster_config() $this->assertEquals('some-namespace', K8sResource::$defaultNamespace); } - /** - * @dataProvider environmentVariableContextProvider - */ - public function test_from_environment_variable(string $context = null, string $expectedDomain) + #[DataProvider('environmentVariableContextProvider')] + public function test_from_environment_variable(?string $context, string $expectedDomain) { $_SERVER['KUBECONFIG'] = __DIR__.'/cluster/kubeconfig.yaml::'.__DIR__.'/cluster/kubeconfig-2.yaml'; @@ -149,7 +148,7 @@ public function test_from_environment_variable(string $context = null, string $e $this->assertSame("https://{$expectedDomain}:8443/?", $cluster->getCallableUrl('/', [])); } - public function environmentVariableContextProvider(): iterable + public static function environmentVariableContextProvider(): iterable { yield [null, 'minikube']; yield ['minikube-2', 'minikube-2'];