Merge pull request #771 from mimmi20/dependabot/composer/4.x/aws/aws-… #3457
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# https://help.github.com/en/categories/automating-your-workflow-with-github-actions | |
# file-version: 1.0 | |
name: "Continuous Integration" | |
on: | |
- pull_request | |
- push | |
permissions: | |
contents: read | |
concurrency: | |
group: "${{ github.event_name }}-${{ github.workflow }}-${{ github.head_ref || github.run_id }}-${{ github.ref }}" | |
cancel-in-progress: true | |
jobs: | |
validate: | |
name: "Validate Project" | |
uses: "mimmi20/ci/.github/workflows/[email protected]" | |
with: | |
extensions: "amqp, ctype, curl, dom, iconv, intl, mbstring, openssl, simplexml, sockets, tokenizer, xml, xmlwriter" | |
ini-values: "opcache.enable=1, opcache.fast_shutdown=0, zend.assertions=1, assert.exception=On, intl.default_locale=de, intl.use_exceptions=1, zend.exception_ignore_args=0" | |
composer-options: "--optimize-autoloader --prefer-dist --prefer-stable -v" | |
skip-validate-composer: false | |
skip-validate-yaml: false | |
skip-validate-md: false | |
skip-phplint: false | |
skip-check-composer: false | |
skip-ec-checker: false | |
dependency-analyser-options: "--ignore-dev-in-prod-deps --ignore-unknown-classes --ignore-shadow-deps" | |
install: | |
name: "Install Project" | |
needs: "validate" | |
uses: "./.github/workflows/install.yml" | |
with: | |
extensions: "amqp, ctype, curl, dom, iconv, intl, mbstring, openssl, simplexml, sockets, tokenizer, xml, xmlwriter" | |
ini-values: "opcache.enable=1, opcache.fast_shutdown=0, zend.assertions=1, assert.exception=On, intl.default_locale=de, intl.use_exceptions=1, zend.exception_ignore_args=0" | |
composer-options: "--optimize-autoloader --prefer-dist --prefer-stable -v" | |
analytics: | |
name: "Project Analysis" | |
needs: "install" | |
uses: "mimmi20/ci/.github/workflows/[email protected]" | |
with: | |
extensions: "amqp, ctype, curl, dom, iconv, intl, mbstring, openssl, simplexml, sockets, tokenizer, xml, xmlwriter" | |
ini-values: "opcache.enable=1, opcache.fast_shutdown=0, zend.assertions=1, assert.exception=On, intl.default_locale=de, intl.use_exceptions=1, zend.exception_ignore_args=0" | |
composer-options: "--optimize-autoloader --prefer-dist --prefer-stable -v" | |
skip-php-cs-fixer: false | |
skip-phpcs: false | |
skip-phpstan: false | |
skip-rector: false | |
skip-eslint: true | |
skip-stylelint: true | |
skip-prettier: true | |
phpcs-options: "" | |
tests-monolog-without-extensions: | |
name: "UnitTests" | |
needs: "analytics" | |
uses: "./.github/workflows/test.yml" | |
with: | |
extensions: "ctype, dom, fileinfo, intl, simplexml, tokenizer, xml, xmlwriter" | |
ini-values: "opcache.enable=1, opcache.fast_shutdown=0, zend.assertions=1, assert.exception=On, intl.default_locale=de, intl.use_exceptions=1, zend.exception_ignore_args=0" | |
coverage: "xdebug" | |
composer-options: "--optimize-autoloader --prefer-dist --prefer-stable -v" | |
test-name: " without extensions" | |
min-msi: 91 | |
min-covered-msi: 91 | |
upload-codecov: true | |
upload-codeclimate: true | |
upload-coveralls: true | |
upload-flag: "without-extensions" | |
skip-infection: true | |
secrets: | |
ENV_CODECLIMATE_API_KEY: ${{ secrets.CODECLIMATE_API_KEY }} | |
ENV_CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
ENV_STRYKER_DASHBOARD_API_KEY: ${{ secrets.STRYKER_DASHBOARD_API_KEY }} | |
tests-monolog-with-sockets: | |
name: "UnitTests" | |
needs: "analytics" | |
uses: "./.github/workflows/test.yml" | |
with: | |
extensions: "ctype, dom, fileinfo, intl, simplexml, tokenizer, xml, xmlwriter" | |
ini-values: "opcache.enable=1, opcache.fast_shutdown=0, zend.assertions=1, assert.exception=On, intl.default_locale=de, intl.use_exceptions=1, zend.exception_ignore_args=0" | |
coverage: "xdebug" | |
composer-options: "--optimize-autoloader --prefer-dist --prefer-stable -v" | |
test-name: " with sockets" | |
min-msi: 91 | |
min-covered-msi: 91 | |
upload-codecov: true | |
upload-codeclimate: true | |
upload-coveralls: false | |
upload-flag: "with-sockets" | |
skip-infection: true | |
secrets: | |
ENV_CODECLIMATE_API_KEY: ${{ secrets.CODECLIMATE_API_KEY }} | |
ENV_CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
ENV_STRYKER_DASHBOARD_API_KEY: ${{ secrets.STRYKER_DASHBOARD_API_KEY }} | |
tests-monolog-with-sockets-for-php-amqplib: | |
name: "UnitTests" | |
needs: "analytics" | |
uses: "./.github/workflows/test.yml" | |
with: | |
extensions: "ctype, dom, fileinfo, intl, simplexml, tokenizer, xml, xmlwriter, openssl, sockets" | |
ini-values: "opcache.enable=1, opcache.fast_shutdown=0, zend.assertions=1, assert.exception=On, intl.default_locale=de, intl.use_exceptions=1, zend.exception_ignore_args=0" | |
coverage: "xdebug" | |
composer-options: "--optimize-autoloader --prefer-dist --prefer-stable -v" | |
test-name: " with sockets for php-amqplib/php-amqplib" | |
min-msi: 91 | |
min-covered-msi: 91 | |
upload-codecov: true | |
upload-codeclimate: true | |
upload-coveralls: false | |
upload-flag: "php-amqplib,with-sockets" | |
add-amqplib: true | |
skip-infection: true | |
secrets: | |
ENV_CODECLIMATE_API_KEY: ${{ secrets.CODECLIMATE_API_KEY }} | |
ENV_CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
ENV_STRYKER_DASHBOARD_API_KEY: ${{ secrets.STRYKER_DASHBOARD_API_KEY }} | |
tests-monolog-with-openssl-for-swiftmailer: | |
name: "UnitTests" | |
needs: "analytics" | |
uses: "./.github/workflows/test.yml" | |
with: | |
extensions: "ctype, dom, fileinfo, intl, simplexml, tokenizer, xml, xmlwriter, openssl, sockets" | |
ini-values: "opcache.enable=1, opcache.fast_shutdown=0, zend.assertions=1, assert.exception=On, intl.default_locale=de, intl.use_exceptions=1, zend.exception_ignore_args=0" | |
coverage: "xdebug" | |
composer-options: "--optimize-autoloader --prefer-dist --prefer-stable -v" | |
test-name: " with openssl for php-amqplib/php-amqplib" | |
min-msi: 89 | |
min-covered-msi: 89 | |
upload-codecov: true | |
upload-codeclimate: true | |
upload-coveralls: false | |
upload-flag: "php-amqplib,with-sockets" | |
add-swiftmailer: true | |
skip-infection: true | |
secrets: | |
ENV_CODECLIMATE_API_KEY: ${{ secrets.CODECLIMATE_API_KEY }} | |
ENV_CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
ENV_STRYKER_DASHBOARD_API_KEY: ${{ secrets.STRYKER_DASHBOARD_API_KEY }} | |
tests-monolog-with-mongodb: | |
name: "UnitTests" | |
needs: "analytics" | |
uses: "./.github/workflows/test.yml" | |
with: | |
extensions: "ctype, dom, fileinfo, intl, simplexml, tokenizer, xml, xmlwriter, mongodb" | |
ini-values: "opcache.enable=1, opcache.fast_shutdown=0, zend.assertions=1, assert.exception=On, intl.default_locale=de, intl.use_exceptions=1, zend.exception_ignore_args=0" | |
coverage: "xdebug" | |
composer-options: "--optimize-autoloader --prefer-dist --prefer-stable -v" | |
test-name: " with mongodb" | |
min-msi: 92 | |
min-covered-msi: 92 | |
upload-codecov: true | |
upload-codeclimate: true | |
upload-coveralls: false | |
upload-flag: "with mongodb" | |
add-mongodb: true | |
skip-infection: true | |
secrets: | |
ENV_CODECLIMATE_API_KEY: ${{ secrets.CODECLIMATE_API_KEY }} | |
ENV_CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
ENV_STRYKER_DASHBOARD_API_KEY: ${{ secrets.STRYKER_DASHBOARD_API_KEY }} | |
tests-monolog-with-curl: | |
name: "UnitTests" | |
needs: "analytics" | |
uses: "./.github/workflows/test.yml" | |
with: | |
extensions: "ctype, dom, fileinfo, intl, simplexml, tokenizer, xml, xmlwriter, curl" | |
ini-values: "opcache.enable=1, opcache.fast_shutdown=0, zend.assertions=1, assert.exception=On, intl.default_locale=de, intl.use_exceptions=1, zend.exception_ignore_args=0" | |
coverage: "xdebug" | |
composer-options: "--optimize-autoloader --prefer-dist --prefer-stable -v" | |
test-name: " with curl" | |
min-msi: 89 | |
min-covered-msi: 89 | |
upload-codecov: true | |
upload-codeclimate: true | |
upload-coveralls: false | |
upload-flag: "with curl" | |
add-curl: true | |
secrets: | |
ENV_CODECLIMATE_API_KEY: ${{ secrets.CODECLIMATE_API_KEY }} | |
ENV_CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
ENV_STRYKER_DASHBOARD_API_KEY: ${{ secrets.STRYKER_DASHBOARD_API_KEY }} | |
tests-monolog-with-amqp: | |
name: "UnitTests" | |
needs: "analytics" | |
uses: "./.github/workflows/test.yml" | |
with: | |
extensions: "ctype, dom, fileinfo, intl, simplexml, tokenizer, xml, xmlwriter, amqp" | |
ini-values: "opcache.enable=1, opcache.fast_shutdown=0, zend.assertions=1, assert.exception=On, intl.default_locale=de, intl.use_exceptions=1, zend.exception_ignore_args=0" | |
coverage: "xdebug" | |
composer-options: "--optimize-autoloader --prefer-dist --prefer-stable -v" | |
test-name: " with amqp" | |
min-msi: 89 | |
min-covered-msi: 89 | |
upload-codecov: true | |
upload-codeclimate: true | |
upload-coveralls: false | |
upload-flag: "with amqp" | |
skip-infection: true | |
secrets: | |
ENV_CODECLIMATE_API_KEY: ${{ secrets.CODECLIMATE_API_KEY }} | |
ENV_CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
ENV_STRYKER_DASHBOARD_API_KEY: ${{ secrets.STRYKER_DASHBOARD_API_KEY }} | |
finish-code-coverage: | |
runs-on: "ubuntu-24.04" | |
needs: | |
- "tests-monolog-without-extensions" | |
- "tests-monolog-with-sockets" | |
- "tests-monolog-with-sockets-for-php-amqplib" | |
- "tests-monolog-with-openssl-for-swiftmailer" | |
- "tests-monolog-with-mongodb" | |
- "tests-monolog-with-curl" | |
- "tests-monolog-with-amqp" | |
if: always() | |
steps: | |
- name: "Coveralls Finished" | |
uses: "coverallsapp/github-action@v2" | |
with: | |
parallel-finished: true | |
# This is a meta job to avoid to have to constantly change the protection rules | |
# whenever we touch the matrix. | |
tests-status: | |
name: "Unit & Integration Tests Status" | |
runs-on: "ubuntu-24.04" | |
if: always() | |
needs: | |
- "tests-monolog-without-extensions" | |
- "tests-monolog-with-sockets" | |
- "tests-monolog-with-sockets-for-php-amqplib" | |
- "tests-monolog-with-openssl-for-swiftmailer" | |
- "tests-monolog-with-mongodb" | |
- "tests-monolog-with-curl" | |
- "tests-monolog-with-amqp" | |
steps: | |
- name: Successful run | |
if: ${{ !(contains(needs.*.result, 'failure')) }} | |
run: exit 0 | |
- name: Failing run | |
if: ${{ contains(needs.*.result, 'failure') }} | |
run: exit 1 |