Skip to content

Commit 40cec88

Browse files
committed
CI: simplify workflows with ramsey/composer-install
1 parent 18ffde8 commit 40cec88

File tree

6 files changed

+22
-144
lines changed

6 files changed

+22
-144
lines changed

.github/workflows/benchmarks.yml

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -31,28 +31,10 @@ jobs:
3131
ini-values: memory_limit=-1
3232
tools: composer:v2, cs2pr
3333

34-
- name: Get composer cache directory
35-
id: composer-cache
36-
run: echo "composer_cache_dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
37-
38-
- name: "Cache dependencies"
39-
uses: "actions/cache@v4.2.0"
34+
- name: "Install dependencies"
35+
uses: "ramsey/composer-install@v3.0.0"
4036
with:
41-
path: ${{ steps.composer-cache.outputs.composer_cache_dir }}
42-
key: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('**/composer.lock') }}"
43-
restore-keys: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-"
44-
45-
- name: "Install lowest dependencies"
46-
if: ${{ matrix.dependencies == 'lowest' }}
47-
run: "composer update --prefer-lowest --no-interaction --no-progress"
48-
49-
- name: "Install highest dependencies"
50-
if: ${{ matrix.dependencies == 'highest' }}
51-
run: "composer update --no-interaction --no-progress"
52-
53-
- name: "Install locked dependencies"
54-
if: ${{ matrix.dependencies == 'locked' }}
55-
run: "composer install --no-interaction --no-progress"
37+
dependency-versions: "${{ matrix.dependencies }}"
5638

5739
- name: "PhpBench"
5840
run: "make phpbench"

.github/workflows/coding-standards.yml

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -31,28 +31,10 @@ jobs:
3131
ini-values: memory_limit=-1
3232
tools: composer:v2, cs2pr
3333

34-
- name: Get composer cache directory
35-
id: composer-cache
36-
run: echo "composer_cache_dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
37-
38-
- name: "Cache dependencies"
39-
uses: "actions/cache@v4.2.0"
34+
- name: "Install dependencies"
35+
uses: "ramsey/composer-install@v3.0.0"
4036
with:
41-
path: ${{ steps.composer-cache.outputs.composer_cache_dir }}
42-
key: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('**/composer.lock') }}"
43-
restore-keys: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-"
44-
45-
- name: "Install lowest dependencies"
46-
if: ${{ matrix.dependencies == 'lowest' }}
47-
run: "composer update --prefer-lowest --no-interaction --no-progress"
48-
49-
- name: "Install highest dependencies"
50-
if: ${{ matrix.dependencies == 'highest' }}
51-
run: "composer update --no-interaction --no-progress"
52-
53-
- name: "Install locked dependencies"
54-
if: ${{ matrix.dependencies == 'locked' }}
55-
run: "composer install --no-interaction --no-progress"
37+
dependency-versions: "${{ matrix.dependencies }}"
5638

5739
- name: "Coding Standard"
5840
run: "make phpcs PHPCS_FLAGS='-q --report=checkstyle | cs2pr'"

.github/workflows/composer-json-lint.yml

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -31,28 +31,10 @@ jobs:
3131
ini-values: memory_limit=-1
3232
tools: composer:v2, composer-normalize, composer-require-checker, composer-unused
3333

34-
- name: Get composer cache directory
35-
id: composer-cache
36-
run: echo "composer_cache_dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
37-
38-
- name: "Cache dependencies"
39-
uses: "actions/cache@v4.2.0"
34+
- name: "Install dependencies"
35+
uses: "ramsey/composer-install@v3.0.0"
4036
with:
41-
path: ${{ steps.composer-cache.outputs.composer_cache_dir }}
42-
key: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('**/composer.lock') }}"
43-
restore-keys: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-"
44-
45-
- name: "Install lowest dependencies"
46-
if: ${{ matrix.dependencies == 'lowest' }}
47-
run: "composer update --prefer-lowest --no-interaction --no-progress"
48-
49-
- name: "Install highest dependencies"
50-
if: ${{ matrix.dependencies == 'highest' }}
51-
run: "composer update --no-interaction --no-progress"
52-
53-
- name: "Install locked dependencies"
54-
if: ${{ matrix.dependencies == 'locked' }}
55-
run: "composer install --no-interaction --no-progress"
37+
dependency-versions: "${{ matrix.dependencies }}"
5638

5739
- name: "Validate composer.json"
5840
run: "composer validate --strict"

.github/workflows/mutation-tests.yml

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -31,28 +31,10 @@ jobs:
3131
ini-values: memory_limit=-1
3232
tools: composer:v2, cs2pr
3333

34-
- name: Get composer cache directory
35-
id: composer-cache
36-
run: echo "composer_cache_dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
37-
38-
- name: "Cache dependencies"
39-
uses: "actions/cache@v4.2.0"
34+
- name: "Install dependencies"
35+
uses: "ramsey/composer-install@v3.0.0"
4036
with:
41-
path: ${{ steps.composer-cache.outputs.composer_cache_dir }}
42-
key: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('**/composer.lock') }}"
43-
restore-keys: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-"
44-
45-
- name: "Install lowest dependencies"
46-
if: ${{ matrix.dependencies == 'lowest' }}
47-
run: "composer update --prefer-lowest --no-interaction --no-progress"
48-
49-
- name: "Install highest dependencies"
50-
if: ${{ matrix.dependencies == 'highest' }}
51-
run: "composer update --no-interaction --no-progress"
52-
53-
- name: "Install locked dependencies"
54-
if: ${{ matrix.dependencies == 'locked' }}
55-
run: "composer install --no-interaction --no-progress"
37+
dependency-versions: "${{ matrix.dependencies }}"
5638

5739
- name: "Infection"
5840
run: "make infection PHPUNIT_FLAGS=--coverage-clover=coverage.xml INFECTION_FLAGS=--logger-github"

.github/workflows/phpunit.yml

Lines changed: 7 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ jobs:
1616
- "lowest"
1717
- "highest"
1818
- "locked"
19-
- "development"
2019
php-version:
2120
- "8.2"
2221
- "8.3"
@@ -36,32 +35,10 @@ jobs:
3635
ini-values: memory_limit=-1
3736
tools: composer:v2, cs2pr
3837

39-
- name: Get composer cache directory
40-
id: composer-cache
41-
run: echo "composer_cache_dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
42-
43-
- name: "Cache dependencies"
44-
uses: "actions/cache@v4.2.0"
38+
- name: "Install dependencies"
39+
uses: "ramsey/composer-install@v3.0.0"
4540
with:
46-
path: ${{ steps.composer-cache.outputs.composer_cache_dir }}
47-
key: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('**/composer.lock') }}"
48-
restore-keys: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-"
49-
50-
- name: "Install lowest dependencies"
51-
if: ${{ matrix.dependencies == 'lowest' }}
52-
run: "composer update --prefer-lowest --no-interaction --no-progress"
53-
54-
- name: "Install highest dependencies"
55-
if: ${{ matrix.dependencies == 'highest' }}
56-
run: "composer update --no-interaction --no-progress"
57-
58-
- name: "Install locked dependencies"
59-
if: ${{ matrix.dependencies == 'locked' }}
60-
run: "composer install --no-interaction --no-progress"
61-
62-
- name: "Install development dependencies"
63-
if: ${{ matrix.dependencies == 'development' }}
64-
run: "composer config minimum-stability dev && composer update --no-interaction --no-progress"
41+
dependency-versions: "${{ matrix.dependencies }}"
6542

6643
- name: "Tests"
6744
run: "make phpunit"
@@ -92,20 +69,11 @@ jobs:
9269
ini-values: memory_limit=-1
9370
tools: composer:v2, cs2pr
9471

95-
- name: Get composer cache directory
96-
id: composer-cache
97-
run: echo "composer_cache_dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
98-
99-
- name: "Cache dependencies"
100-
uses: "actions/cache@v4.2.0"
72+
- name: "Install dependencies"
73+
uses: "ramsey/composer-install@v3.0.0"
10174
with:
102-
path: ${{ steps.composer-cache.outputs.composer_cache_dir }}
103-
key: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('**/composer.lock') }}"
104-
restore-keys: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-"
105-
106-
- name: "Install locked dependencies"
107-
if: ${{ matrix.dependencies == 'locked' }}
108-
run: "composer install --no-interaction --no-progress --ignore-platform-req=php"
75+
dependency-versions: "${{ matrix.dependencies }}"
76+
composer-options: " --ignore-platform-req=php"
10977

11078
- name: "Tests"
11179
run: "make phpunit"

.github/workflows/static-analysis.yml

Lines changed: 3 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -31,28 +31,10 @@ jobs:
3131
ini-values: memory_limit=-1
3232
tools: composer:v2, cs2pr
3333

34-
- name: Get composer cache directory
35-
id: composer-cache
36-
run: echo "composer_cache_dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
37-
38-
- name: "Cache dependencies"
39-
uses: "actions/cache@v4.2.0"
34+
- name: "Install dependencies"
35+
uses: "ramsey/composer-install@v3.0.0"
4036
with:
41-
path: ${{ steps.composer-cache.outputs.composer_cache_dir }}
42-
key: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('**/composer.lock') }}"
43-
restore-keys: "php-${{ matrix.php-version }}-composer-${{ matrix.dependencies }}-"
44-
45-
- name: "Install lowest dependencies"
46-
if: ${{ matrix.dependencies == 'lowest' }}
47-
run: "composer update --prefer-lowest --no-interaction --no-progress"
48-
49-
- name: "Install highest dependencies"
50-
if: ${{ matrix.dependencies == 'highest' }}
51-
run: "composer update --no-interaction --no-progress"
52-
53-
- name: "Install locked dependencies"
54-
if: ${{ matrix.dependencies == 'locked' }}
55-
run: "composer install --no-interaction --no-progress"
37+
dependency-versions: "${{ matrix.dependencies }}"
5638

5739
- name: "PHPStan"
5840
run: "make phpstan"

0 commit comments

Comments
 (0)