Skip to content

Commit 0dd9425

Browse files
committed
Update GitHub Actions for Laravel 11
1 parent dde55b9 commit 0dd9425

File tree

1 file changed

+63
-70
lines changed

1 file changed

+63
-70
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

0 commit comments

Comments
 (0)