Skip to content

Commit

Permalink
Merge pull request #402 from laravel-shift/l11-compatibility
Browse files Browse the repository at this point in the history
Laravel 11.x Compatibility
  • Loading branch information
rennokki authored Mar 13, 2024
2 parents 046c682 + 0dd9425 commit f84d064
Show file tree
Hide file tree
Showing 2 changed files with 79 additions and 74 deletions.
133 changes: 63 additions & 70 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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/[email protected]
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/[email protected]
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/[email protected]
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/[email protected]
with:
fail_ci_if_error: false
20 changes: 16 additions & 4 deletions composer.json
Original file line number Diff line number Diff line change
@@ -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": [
Expand All @@ -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"
Expand All @@ -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
Expand Down

0 comments on commit f84d064

Please sign in to comment.