diff --git a/composer-require-checker.json b/.github/composer-require-checker.json similarity index 100% rename from composer-require-checker.json rename to .github/composer-require-checker.json diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index d881959..d53b4ea 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -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/continuous-integration.yml@1.x - 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/composer-install@2.1.0 - 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/composer-install@2.1.0 - 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/composer-install@2.1.0 - 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/composer-install@2.1.0 - 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 diff --git a/composer.json b/composer.json index a911b96..ebef230 100644 --- a/composer.json +++ b/composer.json @@ -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": { diff --git a/composer.lock b/composer.lock index e2417bb..c9b1790 100644 --- a/composer.lock +++ b/composer.lock @@ -4113,12 +4113,12 @@ "source": { "type": "git", "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "a8821628082da2912e58e5db6ed486f2a44d6fa8" + "reference": "45470fe91508b361778c84cb492d17826c04bbd7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/a8821628082da2912e58e5db6ed486f2a44d6fa8", - "reference": "a8821628082da2912e58e5db6ed486f2a44d6fa8", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/45470fe91508b361778c84cb492d17826c04bbd7", + "reference": "45470fe91508b361778c84cb492d17826c04bbd7", "shasum": "" }, "conflict": { @@ -4286,7 +4286,7 @@ "illuminate/encryption": ">=4,<=4.0.11|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.40|>=5.6,<5.6.15", "illuminate/view": "<6.20.42|>=7,<7.30.6|>=8,<8.75", "impresscms/impresscms": "<=1.4.3", - "in2code/femanager": "<6.3.3|>=7,<7.0.1", + "in2code/femanager": "<5.5.2|>=6,<6.3.3|>=7,<7.0.1", "in2code/lux": "<17.6.1|>=18,<24.0.2", "intelliants/subrion": "<=4.2.1", "islandora/islandora": ">=2,<2.4.1", @@ -4640,7 +4640,7 @@ "type": "tidelift" } ], - "time": "2022-11-02T19:04:33+00:00" + "time": "2022-11-03T10:04:41+00:00" }, { "name": "sebastian/cli-parser",