@@ -3,96 +3,89 @@ name: CI
33on :
44 push :
55 branches :
6- - ' * '
6+ - *
77 tags :
8- - ' * '
8+ - *
99 pull_request :
1010 branches :
11- - ' * '
11+ - *
1212
1313jobs :
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
0 commit comments