From dde55b9efe44dcffe875a192cb2339c37dd7bea7 Mon Sep 17 00:00:00 2001 From: Shift Date: Mon, 26 Feb 2024 14:41:07 +0000 Subject: [PATCH 1/2] Bump dependencies for Laravel 11 --- composer.json | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/composer.json b/composer.json index 845befa..3150c3d 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,19 @@ { "name": "renoki-co/php-k8s", "description": "Control your Kubernetes clusters with this PHP-based Kubernetes client. It supports any form of authentication, the exec API, and it has an easy implementation for CRDs.", - "keywords": ["laravel", "php", "kubernetes", "k8s", "k3s", "k0s", "cluster", "api", "kubeadm", "kubeapi", "kube"], + "keywords": [ + "laravel", + "php", + "kubernetes", + "k8s", + "k3s", + "k0s", + "cluster", + "api", + "kubeadm", + "kubeapi", + "kube" + ], "license": "Apache-2.0", "homepage": "https://github.com/renoki-co/php-k8s", "authors": [ @@ -14,7 +26,7 @@ "require": { "guzzlehttp/guzzle": "^6.5|^7.0", "illuminate/macroable": "^9.35|^10.1", - "illuminate/support": "^9.35|^10.1", + "illuminate/support": "^9.35|^10.1|^11.0", "ratchet/pawl": "^0.4.1", "symfony/process": "^5.4|^6.0", "vierbergenlars/php-semver": "^2.1|^3.0" @@ -37,9 +49,9 @@ }, "require-dev": { "mockery/mockery": "^1.5", - "orchestra/testbench": "^7.23|^8.1", + "orchestra/testbench": "^7.23|^8.1|^9.0", "phpunit/phpunit": "^9.5.20|^10.0", - "vimeo/psalm": "^4.20" + "vimeo/psalm": "^4.20|^5.22" }, "config": { "sort-packages": true From 0dd9425f2012cfb02d5360518f0f4952b03a1c5c Mon Sep 17 00:00:00 2001 From: Shift Date: Mon, 26 Feb 2024 14:41:07 +0000 Subject: [PATCH 2/2] Update GitHub Actions for Laravel 11 --- .github/workflows/ci.yml | 133 +++++++++++++++++++-------------------- 1 file changed, 63 insertions(+), 70 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b33ecbd..f1aad7c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,96 +3,89 @@ name: CI on: push: branches: - - '*' + - * tags: - - '*' + - * pull_request: branches: - - '*' + - * jobs: build: if: "!contains(github.event.head_commit.message, 'skip ci')" runs-on: ubuntu-latest + timeout-minutes: 15 strategy: fail-fast: false matrix: - php: - - '8.1' - - '8.2' - kubernetes: - - '1.24.12' - - '1.25.8' - - '1.26.3' - laravel: - - 9.* - - 10.* - prefer: - - 'prefer-lowest' - - 'prefer-stable' + php: ['8.1', '8.2'] + kubernetes: [1.24.12, 1.25.8, 1.26.3] + laravel: ['9.*', '10.*', '11.*'] + prefer: [prefer-lowest, prefer-stable] include: - laravel: 9.* testbench: 7.* - laravel: 10.* testbench: 8.* + - laravel: 11.* + testbench: 9.* + exclude: + - laravel: 11.* + php: '8.1' name: PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }} - K8s v${{ matrix.kubernetes }} --${{ matrix.prefer }} steps: - - uses: actions/checkout@v3 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, yaml - coverage: pcov - - - uses: actions/cache@v3.0.5 - name: Cache dependencies - with: - path: ~/.composer/cache/files - key: composer-php-${{ matrix.php }}-${{ matrix.laravel }}-${{ matrix.prefer }}-${{ hashFiles('composer.json') }} - - - uses: medyagh/setup-minikube@latest - name: Setup Minikube - with: - minikube-version: 1.29.0 - container-runtime: containerd - kubernetes-version: "v${{ matrix.kubernetes }}" - - - name: Run Kubernetes Proxy - run: | - kubectl proxy --port=8080 --reject-paths="^/non-existent-path" & - - - 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 - - - name: Setup in-cluster config - 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/ - - - name: Setting CRDs for testing - run: | - kubectl apply -f https://raw.githubusercontent.com/bitnami-labs/sealed-secrets/main/helm/sealed-secrets/crds/bitnami.com_sealedsecrets.yaml - - # - name: Run static analysis - # run: | - # vendor/bin/psalm - - - name: Run tests - run: | - vendor/bin/phpunit --coverage-text --coverage-clover=coverage.xml - - - uses: codecov/codecov-action@v3.1.0 - with: - fail_ci_if_error: false + - uses: actions/checkout@v3 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, yaml + coverage: pcov + + - uses: actions/cache@v3.0.5 + name: Cache dependencies + with: + path: ~/.composer/cache/files + key: composer-php-${{ matrix.php }}-${{ matrix.laravel }}-${{ matrix.prefer }}-${{ hashFiles('composer.json') }} + + - uses: medyagh/setup-minikube@latest + name: Setup Minikube + with: + minikube-version: 1.29.0 + container-runtime: containerd + kubernetes-version: v${{ matrix.kubernetes }} + + - name: Run Kubernetes Proxy + run: | + kubectl proxy --port=8080 --reject-paths="^/non-existent-path" & + + - 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 + + - name: Setup in-cluster config + 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/ + + - name: Setting CRDs for testing + run: | + kubectl apply -f https://raw.githubusercontent.com/bitnami-labs/sealed-secrets/main/helm/sealed-secrets/crds/bitnami.com_sealedsecrets.yaml + + - name: Run tests + run: | + vendor/bin/phpunit --coverage-text --coverage-clover=coverage.xml + + - uses: codecov/codecov-action@v3.1.0 + with: + fail_ci_if_error: false