Skip to content

Commit f84d064

Browse files
authored
Merge pull request #402 from laravel-shift/l11-compatibility
Laravel 11.x Compatibility
2 parents 046c682 + 0dd9425 commit f84d064

File tree

2 files changed

+79
-74
lines changed

2 files changed

+79
-74
lines changed

.github/workflows/ci.yml

Lines changed: 63 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -3,96 +3,89 @@ name: CI
33
on:
44
push:
55
branches:
6-
- '*'
6+
- *
77
tags:
8-
- '*'
8+
- *
99
pull_request:
1010
branches:
11-
- '*'
11+
- *
1212

1313
jobs:
1414
build:
1515
if: "!contains(github.event.head_commit.message, 'skip ci')"
1616

1717
runs-on: ubuntu-latest
18+
1819
timeout-minutes: 15
1920

2021
strategy:
2122
fail-fast: false
2223
matrix:
23-
php:
24-
- '8.1'
25-
- '8.2'
26-
kubernetes:
27-
- '1.24.12'
28-
- '1.25.8'
29-
- '1.26.3'
30-
laravel:
31-
- 9.*
32-
- 10.*
33-
prefer:
34-
- 'prefer-lowest'
35-
- 'prefer-stable'
24+
php: ['8.1', '8.2']
25+
kubernetes: [1.24.12, 1.25.8, 1.26.3]
26+
laravel: ['9.*', '10.*', '11.*']
27+
prefer: [prefer-lowest, prefer-stable]
3628
include:
3729
- laravel: 9.*
3830
testbench: 7.*
3931
- laravel: 10.*
4032
testbench: 8.*
33+
- laravel: 11.*
34+
testbench: 9.*
35+
exclude:
36+
- laravel: 11.*
37+
php: '8.1'
4138

4239
name: PHP ${{ matrix.php }} - Laravel ${{ matrix.laravel }} - K8s v${{ matrix.kubernetes }} --${{ matrix.prefer }}
4340

4441
steps:
45-
- uses: actions/checkout@v3
46-
47-
- name: Setup PHP
48-
uses: shivammathur/setup-php@v2
49-
with:
50-
php-version: ${{ matrix.php }}
51-
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, yaml
52-
coverage: pcov
53-
54-
- uses: actions/cache@v3.0.5
55-
name: Cache dependencies
56-
with:
57-
path: ~/.composer/cache/files
58-
key: composer-php-${{ matrix.php }}-${{ matrix.laravel }}-${{ matrix.prefer }}-${{ hashFiles('composer.json') }}
59-
60-
- uses: medyagh/setup-minikube@latest
61-
name: Setup Minikube
62-
with:
63-
minikube-version: 1.29.0
64-
container-runtime: containerd
65-
kubernetes-version: "v${{ matrix.kubernetes }}"
66-
67-
- name: Run Kubernetes Proxy
68-
run: |
69-
kubectl proxy --port=8080 --reject-paths="^/non-existent-path" &
70-
71-
- name: Install dependencies
72-
run: |
73-
composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" --no-interaction --no-update
74-
composer update --${{ matrix.prefer }} --prefer-dist --no-interaction
75-
76-
- name: Setup in-cluster config
77-
run: |
78-
sudo mkdir -p /var/run/secrets/kubernetes.io/serviceaccount
79-
echo "some-token" | sudo tee /var/run/secrets/kubernetes.io/serviceaccount/token
80-
echo "c29tZS1jZXJ0Cg==" | sudo tee /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
81-
echo "some-namespace" | sudo tee /var/run/secrets/kubernetes.io/serviceaccount/namespace
82-
sudo chmod -R 777 /var/run/secrets/kubernetes.io/serviceaccount/
83-
84-
- name: Setting CRDs for testing
85-
run: |
86-
kubectl apply -f https://raw.githubusercontent.com/bitnami-labs/sealed-secrets/main/helm/sealed-secrets/crds/bitnami.com_sealedsecrets.yaml
87-
88-
# - name: Run static analysis
89-
# run: |
90-
# vendor/bin/psalm
91-
92-
- name: Run tests
93-
run: |
94-
vendor/bin/phpunit --coverage-text --coverage-clover=coverage.xml
95-
96-
- uses: codecov/codecov-action@v3.1.0
97-
with:
98-
fail_ci_if_error: false
42+
- uses: actions/checkout@v3
43+
44+
- name: Setup PHP
45+
uses: shivammathur/setup-php@v2
46+
with:
47+
php-version: ${{ matrix.php }}
48+
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, yaml
49+
coverage: pcov
50+
51+
- uses: actions/cache@v3.0.5
52+
name: Cache dependencies
53+
with:
54+
path: ~/.composer/cache/files
55+
key: composer-php-${{ matrix.php }}-${{ matrix.laravel }}-${{ matrix.prefer }}-${{ hashFiles('composer.json') }}
56+
57+
- uses: medyagh/setup-minikube@latest
58+
name: Setup Minikube
59+
with:
60+
minikube-version: 1.29.0
61+
container-runtime: containerd
62+
kubernetes-version: v${{ matrix.kubernetes }}
63+
64+
- name: Run Kubernetes Proxy
65+
run: |
66+
kubectl proxy --port=8080 --reject-paths="^/non-existent-path" &
67+
68+
- name: Install dependencies
69+
run: |
70+
composer require "laravel/framework:${{ matrix.laravel }}" "orchestra/testbench:${{ matrix.testbench }}" --no-interaction --no-update
71+
composer update --${{ matrix.prefer }} --prefer-dist --no-interaction
72+
73+
- name: Setup in-cluster config
74+
run: |
75+
sudo mkdir -p /var/run/secrets/kubernetes.io/serviceaccount
76+
echo "some-token" | sudo tee /var/run/secrets/kubernetes.io/serviceaccount/token
77+
echo "c29tZS1jZXJ0Cg==" | sudo tee /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
78+
echo "some-namespace" | sudo tee /var/run/secrets/kubernetes.io/serviceaccount/namespace
79+
sudo chmod -R 777 /var/run/secrets/kubernetes.io/serviceaccount/
80+
81+
- name: Setting CRDs for testing
82+
run: |
83+
kubectl apply -f https://raw.githubusercontent.com/bitnami-labs/sealed-secrets/main/helm/sealed-secrets/crds/bitnami.com_sealedsecrets.yaml
84+
85+
- name: Run tests
86+
run: |
87+
vendor/bin/phpunit --coverage-text --coverage-clover=coverage.xml
88+
89+
- uses: codecov/codecov-action@v3.1.0
90+
with:
91+
fail_ci_if_error: false

composer.json

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,19 @@
11
{
22
"name": "renoki-co/php-k8s",
33
"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.",
4-
"keywords": ["laravel", "php", "kubernetes", "k8s", "k3s", "k0s", "cluster", "api", "kubeadm", "kubeapi", "kube"],
4+
"keywords": [
5+
"laravel",
6+
"php",
7+
"kubernetes",
8+
"k8s",
9+
"k3s",
10+
"k0s",
11+
"cluster",
12+
"api",
13+
"kubeadm",
14+
"kubeapi",
15+
"kube"
16+
],
517
"license": "Apache-2.0",
618
"homepage": "https://github.com/renoki-co/php-k8s",
719
"authors": [
@@ -14,7 +26,7 @@
1426
"require": {
1527
"guzzlehttp/guzzle": "^6.5|^7.0",
1628
"illuminate/macroable": "^9.35|^10.1",
17-
"illuminate/support": "^9.35|^10.1",
29+
"illuminate/support": "^9.35|^10.1|^11.0",
1830
"ratchet/pawl": "^0.4.1",
1931
"symfony/process": "^5.4|^6.0",
2032
"vierbergenlars/php-semver": "^2.1|^3.0"
@@ -37,9 +49,9 @@
3749
},
3850
"require-dev": {
3951
"mockery/mockery": "^1.5",
40-
"orchestra/testbench": "^7.23|^8.1",
52+
"orchestra/testbench": "^7.23|^8.1|^9.0",
4153
"phpunit/phpunit": "^9.5.20|^10.0",
42-
"vimeo/psalm": "^4.20"
54+
"vimeo/psalm": "^4.20|^5.22"
4355
},
4456
"config": {
4557
"sort-packages": true

0 commit comments

Comments
 (0)