Skip to content

Commit 3b35496

Browse files
committed
Update CI
1 parent 577c1c1 commit 3b35496

4 files changed

Lines changed: 65 additions & 92 deletions

File tree

.github/workflows/cs-fix.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
.release-please-config:
2+
json:
3+
on:
4+
push:
5+
branches:
6+
- '*'
7+
8+
name: Fix Code Style
9+
10+
jobs:
11+
cs-fix:
12+
permissions:
13+
contents: write
14+
uses: spiral/gh-actions/.github/workflows/cs-fix.yml@master

.github/workflows/psalm.yml

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -41,20 +41,12 @@ jobs:
4141
extensions: dom
4242

4343
- name: Check Out Code
44-
uses: actions/checkout@v4
44+
uses: actions/checkout@v5
4545
with:
4646
fetch-depth: 1
4747

48-
- name: Get Composer Cache Directory
49-
id: composer-cache
50-
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
51-
52-
- name: Cache Dependencies
53-
uses: actions/cache@v3
54-
with:
55-
path: ${{ steps.composer-cache.outputs.dir }}
56-
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
57-
restore-keys: php-${{ matrix.php }}-${{ runner.os }}-composer-
48+
- name: 📥 Install dependencies with composer
49+
uses: ramsey/composer-install@v3
5850

5951
- name: Install Composer Dependencies
6052
run: composer install --prefer-dist --no-interaction

.github/workflows/run-test-suite.yml

Lines changed: 28 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -39,72 +39,42 @@ on:
3939

4040
jobs:
4141
test:
42-
name: (PHP ${{ matrix.php }}, ${{ matrix.os }}, ${{ matrix.dependencies }} deps
42+
timeout-minutes: 4
4343
runs-on: ${{ matrix.os }}
44-
timeout-minutes: ${{ matrix.timeout-minutes }}
45-
env: { GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}' }
44+
concurrency:
45+
cancel-in-progress: true
46+
group: testing-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ matrix.php-version }}-${{ matrix.dependencies }}
4647
strategy:
47-
fail-fast: ${{ inputs.fail-fast }}
48+
fail-fast: false
4849
matrix:
49-
php: [ 8.1, 8.2 ]
50-
os: [ ubuntu-latest, windows-latest ]
51-
dependencies: [ lowest , highest ]
52-
timeout-minutes: [ '${{ inputs.test-timeout }}' ]
53-
exclude:
54-
- os: windows-latest
55-
php: 8.2
56-
include:
57-
- os: ubuntu-latest
58-
php: 8.3
59-
dependencies: highest
60-
timeout-minutes: 40
50+
os:
51+
- ubuntu-latest
52+
php-version:
53+
- '8.1'
54+
- '8.2'
55+
- '8.3'
56+
- '8.4'
57+
dependencies:
58+
- lowest
59+
- locked
60+
- highest
6161
steps:
62-
- name: Set Git To Use LF
63-
run: |
64-
git config --global core.autocrlf false
65-
git config --global core.eol lf
62+
- name: 📦 Check out the codebase
63+
uses: actions/checkout@v5
6664

67-
- name: Setup PHP ${{ matrix.php }}
65+
- name: 🛠️ Setup PHP
6866
uses: shivammathur/setup-php@v2
6967
with:
70-
php-version: ${{ matrix.php }}
71-
tools: composer:v2
72-
extensions: sockets, curl
68+
php-version: ${{ matrix.php-version }}
69+
ini-values: error_reporting=E_ALL
7370

74-
- name: Check Out Code
75-
uses: actions/checkout@v4
76-
with:
77-
fetch-depth: 1
78-
79-
- name: Validate composer.json and composer.lock
80-
run: composer validate --strict
81-
82-
- name: Get Composer Cache Directory
83-
id: composer-cache
84-
run: |
85-
echo "::set-output name=dir::$(composer config cache-files-dir)"
71+
- name: 🤖 Validate composer.json and composer.lock
72+
run: composer validate --ansi --strict
8673

87-
- name: Cache Composer Dependencies
88-
uses: actions/cache@v3
74+
- name: 📥 Install dependencies with composer
75+
uses: ramsey/composer-install@v3
8976
with:
90-
path: ${{ steps.composer-cache.outputs.dir }}
91-
key: php-${{ matrix.php }}-${{ matrix.os }}-composer-${{ hashFiles('**/composer.lock') }}
92-
restore-keys: |
93-
php-${{ matrix.php }}-${{ matrix.os }}-composer-
94-
95-
- name: Install lowest dependencies from composer.json
96-
if: matrix.dependencies == 'lowest'
97-
run: composer update --no-interaction --no-progress --prefer-lowest
98-
99-
- name: Validate lowest dependencies
100-
if: matrix.dependencies == 'lowest'
101-
env:
102-
COMPOSER_POOL_OPTIMIZER: 0
103-
run: vendor/bin/validate-prefer-lowest
104-
105-
- name: Install highest dependencies from composer.json
106-
if: matrix.dependencies == 'highest'
107-
run: composer update --no-interaction --no-progress
77+
dependency-versions: ${{ matrix.dependencies }}
10878

109-
- name: Run tests
110-
run: vendor/bin/pest --testdox
79+
- name: 🧪 Run tests
80+
run: composer test

.github/workflows/security.yml

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -31,33 +31,30 @@ jobs:
3131
fail-fast: false
3232
matrix:
3333
# Note: This workflow requires only the LATEST version of PHP
34-
php: [ 8.2 ]
35-
os: [ ubuntu-latest ]
34+
os:
35+
- ubuntu-latest
36+
php-version:
37+
- '8.2'
38+
dependencies:
39+
- locked
3640
steps:
37-
- name: Set up PHP ${{ matrix.php }}
38-
uses: shivammathur/setup-php@v2
39-
with:
40-
php-version: ${{ matrix.php }}
41-
extensions: dom, sockets, grpc, curl
41+
- name: 📦 Check out the codebase
42+
uses: actions/checkout@v5
4243

43-
- name: Check Out Code
44-
uses: actions/checkout@v4
44+
- name: 🛠️ Setup PHP
45+
uses: shivammathur/setup-php@v2
4546
with:
46-
fetch-depth: 1
47+
php-version: ${{ matrix.php-version }}
48+
ini-values: error_reporting=E_ALL
49+
coverage: none
4750

48-
- name: Get Composer Cache Directory
49-
id: composer-cache
50-
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
51+
- name: 🤖 Validate composer.json and composer.lock
52+
run: composer validate --ansi --strict
5153

52-
- name: Cache Dependencies
53-
uses: actions/cache@v3
54+
- name: 📥 Install dependencies with composer
55+
uses: ramsey/composer-install@v3
5456
with:
55-
path: ${{ steps.composer-cache.outputs.dir }}
56-
key: php-${{ matrix.php }}-${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
57-
restore-keys: php-${{ matrix.php }}-${{ runner.os }}-composer-
58-
59-
- name: Install Composer Dependencies
60-
run: composer install --prefer-dist --no-interaction
57+
dependency-versions: ${{ matrix.dependencies }}
6158

62-
- name: Verify
63-
run: composer require --dev roave/security-advisories:dev-latest
59+
- name: 🐛 Check installed packages for security vulnerability advisories
60+
run: composer audit --ansi

0 commit comments

Comments
 (0)