Skip to content

Commit

Permalink
Merge pull request #162 from netglue/laminas-ci
Browse files Browse the repository at this point in the history
Migrate to Laminas CI Matrix for CI
  • Loading branch information
gsteel committed Nov 3, 2022
2 parents 7403fa5 + b62e500 commit af86403
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 87 deletions.
File renamed without changes.
97 changes: 17 additions & 80 deletions .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,110 +4,47 @@ on:
pull_request:
push:
branches:
- main
- '[0-9]+.[0-9]+.x'
tags:

env:
php_extensions: ""
default_php: 8.1
default_php: '7.3'
php_extensions:

jobs:
ci:
uses: laminas/workflow-continuous-integration/.github/workflows/[email protected]

cs-check:
name: CS Checks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- uses: shivammathur/setup-php@v2
with:
php-version: 7.3
extensions: ${{ env.php_extensions }}
tools: cs2pr

- uses: ramsey/[email protected]
with:
dependency-versions: locked

- name: "Check CS"
run: vendor/bin/phpcs --report=checkstyle -q | cs2pr

psalm:
name: Psalm Static Analysis
coverage:
name: 'Test Coverage'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: shivammathur/setup-php@v2
with:
php-version: 7.3
extensions: ${{ env.php_extensions }}
tools: cs2pr
- uses: ramsey/[email protected]
with:
dependency-versions: locked
- run: vendor/bin/psalm --stats --shepherd --output-format=github

tests:

name: PHPUnit on ${{ matrix.php-version }}, ${{ matrix.dependencies }} deps
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
php-version: [ '7.3', '7.4', '8.0', '8.1', '8.2' ]
dependencies: [ 'lowest', 'locked', 'highest' ]
include:
- php-version: '8.1'
dependencies: 'locked'
composer-options: "--ignore-platform-reqs"
- php-version: '8.2'
composer-options: "--ignore-platform-reqs"

steps:
- uses: actions/checkout@v3

- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
php-version: ${{ env.default_php }}
extensions: ${{ env.php_extensions }}
coverage: pcov
ini-values: pcov.enabled=1

- uses: ramsey/[email protected]
with:
dependency-versions: "${{ matrix.dependencies }}"
composer-options: "${{ matrix.composer-options }}"

- name: "Run Tests"
run: php ./vendor/bin/phpunit --coverage-clover=coverage.xml

- run: php ./vendor/bin/phpunit --coverage-clover=coverage.xml
- uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml
fail_ci_if_error: false

#
# Use custom require-checker run - Laminas CI requires it's installed as a dev dependency for now.
#
composer-require-checker:
name: "Check for missing dependencies"
runs-on: "ubuntu-latest"

steps:
- uses: actions/checkout@v3

- uses: shivammathur/setup-php@v2
with:
php-version: ${{ env.default_php }}
php-version: 8.1
ini-values: memory_limit=-1

- uses: ramsey/[email protected]
with:
dependency-versions: highest

- name: "Set global composer bin-dir"
run: composer global config bin-dir /usr/local/bin

- name: "Install require checker"
run: composer global require -W maglnet/composer-require-checker

- name: "Check"
run: /usr/local/bin/composer-require-checker --config-file=composer-require-checker.json check
- run: composer global config bin-dir /usr/local/bin
- run: composer global require -W maglnet/composer-require-checker
- run: /usr/local/bin/composer-require-checker --config-file=.github/composer-require-checker.json check
6 changes: 4 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,14 @@
"scripts": {
"check": [
"@cs-check",
"@test"
"@test",
"psalm"
],
"cs-check": "phpcs",
"cs-fix": "phpcbf",
"test": "phpunit --colors=always",
"test-coverage": "phpunit --colors=always --coverage-html build/report"
"test-coverage": "phpunit --colors=always --coverage-html build/report",
"static-analysis": "psalm --shepherd --stats"
},
"extra": {
"laminas": {
Expand Down
10 changes: 5 additions & 5 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit af86403

Please sign in to comment.