From b77ed2f373e3ad77f7519f95ce0cc92c60e40300 Mon Sep 17 00:00:00 2001 From: core23 Date: Fri, 7 Jan 2022 09:21:16 +0100 Subject: [PATCH 1/2] Remove old project setting configuration --- .github/settings.yml | 25 ------------------------- 1 file changed, 25 deletions(-) diff --git a/.github/settings.yml b/.github/settings.yml index 206ffadd..a32c99c7 100644 --- a/.github/settings.yml +++ b/.github/settings.yml @@ -1,5 +1,3 @@ -# These settings are synced to GitHub by https://probot.github.io/apps/settings/ - _extends: .github repository: @@ -7,26 +5,3 @@ repository: description: ⚙️ Useful doctrine event hooks. homepage: https://nucleos.rocks topics: hacktoberfest, library, doctrine, hooks, symfony, symfony-bridge, confirmable, deletable, lifecycle, sortable - -branches: - - name: main - protection: - enforce_admins: false - required_status_checks: - contexts: - - "Coding Standards (8.1)" - - "Static Code Analysis (8.1)" - - "Test (PHP 8, symfony 5.4, lowest)" - - "Test (PHP 8, symfony 5.4, highest)" - - "Test (PHP 8, symfony 6, lowest)" - - "Test (PHP 8, symfony 6, highest)" - - "Test (PHP 8.1, symfony 5.4, lowest)" - - "Test (PHP 8.1, symfony 5.4, highest)" - - "Test (PHP 8.1, symfony 6, lowest)" - - "Test (PHP 8.1, symfony 6, highest)" - - "Code Coverage (8.1)" - - "Mutation Tests (8.1)" - strict: true - - required_pull_request_reviews: null - restrictions: null From 379a7bb4009f554b906fc86e221d1d7cddb56361 Mon Sep 17 00:00:00 2001 From: core23 Date: Fri, 7 Jan 2022 09:27:55 +0100 Subject: [PATCH 2/2] Use shared symfony console --- .github/workflows/automatic-merge.yml | 16 +- .github/workflows/automatic-release.yml | 64 +---- .github/workflows/continuous-integration.yml | 233 +------------------ 3 files changed, 21 insertions(+), 292 deletions(-) diff --git a/.github/workflows/automatic-merge.yml b/.github/workflows/automatic-merge.yml index 06643227..0ff7a970 100644 --- a/.github/workflows/automatic-merge.yml +++ b/.github/workflows/automatic-merge.yml @@ -1,17 +1,11 @@ ---- name: "Automatic Merge" on: schedule: - - cron: '0 * * * *' + - cron: '0 */2 * * *' jobs: - merge: - name: "Merge Pull Requests" - runs-on: ubuntu-latest - - steps: - - name: "Merge" - uses: "nucleos/auto-merge-action@1.2.0" - env: - "GITHUB_TOKEN": ${{ secrets.ORGANIZATION_ADMIN_TOKEN }} + run: + uses: "nucleos/actions/.github/workflows/automatic-merge.yml@main" + secrets: + GITHUB_ADMIN_TOKEN: "${{ secrets.ORGANIZATION_ADMIN_TOKEN }}" diff --git a/.github/workflows/automatic-release.yml b/.github/workflows/automatic-release.yml index 0756b63c..a847155e 100644 --- a/.github/workflows/automatic-release.yml +++ b/.github/workflows/automatic-release.yml @@ -6,60 +6,12 @@ on: - "closed" jobs: - release: - name: "GIT tag, release & create merge-up PR" - runs-on: ubuntu-latest + run: + uses: "nucleos/actions/.github/workflows/automatic-release.yml@main" + secrets: + GIT_AUTHOR_NAME: "${{ secrets.GIT_AUTHOR_NAME }}" + GIT_AUTHOR_EMAIL: "${{ secrets.GIT_AUTHOR_EMAIL }}" + GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + GITHUB_ADMIN_TOKEN: "${{ secrets.ORGANIZATION_ADMIN_TOKEN }}" + SIGNING_SECRET_KEY: "${{ secrets.SIGNING_SECRET_KEY }}" - steps: - - name: "Checkout" - uses: "actions/checkout@v2.4.0" - - - name: "Release" - uses: "laminas/automatic-releases@1.13.0" - with: - command-name: "laminas:automatic-releases:release" - env: - "GITHUB_TOKEN": ${{ secrets.ORGANIZATION_ADMIN_TOKEN }} - "SIGNING_SECRET_KEY": ${{ secrets.SIGNING_SECRET_KEY }} - "GIT_AUTHOR_NAME": ${{ secrets.GIT_AUTHOR_NAME }} - "GIT_AUTHOR_EMAIL": ${{ secrets.GIT_AUTHOR_EMAIL }} - - - name: "Create Merge-Up Pull Request" - uses: "laminas/automatic-releases@1.13.0" - with: - command-name: "laminas:automatic-releases:create-merge-up-pull-request" - env: - "GITHUB_TOKEN": ${{ secrets.GITHUB_TOKEN }} - "SIGNING_SECRET_KEY": ${{ secrets.SIGNING_SECRET_KEY }} - "GIT_AUTHOR_NAME": ${{ secrets.GIT_AUTHOR_NAME }} - "GIT_AUTHOR_EMAIL": ${{ secrets.GIT_AUTHOR_EMAIL }} - - - name: "Create and/or Switch to new Release Branch" - uses: "laminas/automatic-releases@1.13.0" - with: - command-name: "laminas:automatic-releases:switch-default-branch-to-next-minor" - env: - "GITHUB_TOKEN": ${{ secrets.ORGANIZATION_ADMIN_TOKEN }} - "SIGNING_SECRET_KEY": ${{ secrets.SIGNING_SECRET_KEY }} - "GIT_AUTHOR_NAME": ${{ secrets.GIT_AUTHOR_NAME }} - "GIT_AUTHOR_EMAIL": ${{ secrets.GIT_AUTHOR_EMAIL }} - - - name: "Bump Changelog Version On Originating Release Branch" - uses: "laminas/automatic-releases@1.13.0" - with: - command-name: "laminas:automatic-releases:bump-changelog" - env: - "GITHUB_TOKEN": ${{ secrets.GITHUB_TOKEN }} - "SIGNING_SECRET_KEY": ${{ secrets.SIGNING_SECRET_KEY }} - "GIT_AUTHOR_NAME": ${{ secrets.GIT_AUTHOR_NAME }} - "GIT_AUTHOR_EMAIL": ${{ secrets.GIT_AUTHOR_EMAIL }} - - - name: "Create new milestones" - uses: "laminas/automatic-releases@1.13.0" - with: - command-name: "laminas:automatic-releases:create-milestones" - env: - "GITHUB_TOKEN": ${{ secrets.GITHUB_TOKEN }} - "SIGNING_SECRET_KEY": ${{ secrets.SIGNING_SECRET_KEY }} - "GIT_AUTHOR_NAME": ${{ secrets.GIT_AUTHOR_NAME }} - "GIT_AUTHOR_EMAIL": ${{ secrets.GIT_AUTHOR_EMAIL }} diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index b01176fc..69a73742 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -5,230 +5,13 @@ on: pull_request: push: branches: - - "*.x" - tags: - - "**" + - '[0-9]+.[0-9]+.x' + - 'refs/pull/*' jobs: - coding-standards: - name: "Coding Standards" - - runs-on: ubuntu-latest - - strategy: - matrix: - php-version: - - 8.1 - - steps: - - name: "Checkout" - uses: actions/checkout@v2.4.0 - - - name: "Install PHP with extensions" - uses: shivammathur/setup-php@2.16.0 - with: - coverage: none - extensions: "mbstring, json" - php-version: ${{ matrix.php-version }} - - - name: "Cache dependencies installed with composer" - uses: actions/cache@v2.1.7 - with: - path: ~/.composer/cache - key: php${{ matrix.php-version }}-composer- - restore-keys: | - php${{ matrix.php-version }}-composer- - - - name: "Install locked dependencies with composer" - run: composer install --no-interaction --no-progress - - - name: "Run composer lint" - run: make lint-composer - - - name: "Create cache directory for friendsofphp/php-cs-fixer" - run: mkdir -p .build/php-cs-fixer - - - name: "Cache cache directory for friendsofphp/php-cs-fixer" - uses: actions/cache@v2.1.7 - with: - path: .build/php-cs-fixer - key: php${{ matrix.php-version }}-php-cs-fixer- - restore-keys: | - php${{ matrix.php-version }}-php-cs-fixer- - - - name: "Run friendsofphp/php-cs-fixer" - env: - PHP_CS_FIXER_IGNORE_ENV: 1 - run: make cs - - static-code-analysis: - name: "Static Code Analysis" - - runs-on: ubuntu-latest - - strategy: - matrix: - php-version: - - 8.1 - - steps: - - name: "Checkout" - uses: actions/checkout@v2.4.0 - - - name: "Install PHP with extensions" - uses: shivammathur/setup-php@2.16.0 - with: - coverage: none - extensions: "mbstring, json" - php-version: ${{ matrix.php-version }} - - - name: "Cache dependencies installed with composer" - uses: actions/cache@v2.1.7 - with: - path: ~/.composer/cache - key: ${{ matrix.php-version }}-composer- - restore-keys: | - ${{ matrix.php-version }}-composer- - - - name: "Install locked dependencies with composer" - run: composer install --no-interaction --no-progress - - - name: "Run phpstan/phpstan" - run: make phpstan - - - name: "Run psalm" - run: make psalm - - - name: "Run phpmd" - run: make phpmd - - tests: - name: "Test (PHP ${{ matrix.php-version }}, symfony ${{ matrix.symfony }}, ${{ matrix.dependencies }})" - - runs-on: ubuntu-latest - - strategy: - matrix: - php-version: - - 8.0 - - 8.1 - - dependencies: - - lowest - - highest - - symfony: - - 5.4 - - 6.0 - - steps: - - name: "Checkout" - uses: actions/checkout@v2.4.0 - - - name: "Install PHP with extensions" - uses: shivammathur/setup-php@2.16.0 - with: - coverage: none - extensions: "mbstring, json, intl" - php-version: ${{ matrix.php-version }} - - - name: 'Install Symfony Flex' - run: | - composer global require --prefer-dist --no-progress --ansi symfony/flex - - - name: "Cache dependencies installed with composer" - uses: actions/cache@v2.1.7 - with: - path: ~/.composer/cache - key: php${{ matrix.php-version }}-composer- - restore-keys: | - php${{ matrix.php-version }}-composer-${{ matrix.dependencies }}- - - - name: "Lock symfony version" - run: composer config extra.symfony.require "${{ matrix.symfony }}.*" - - - name: "Install lowest dependencies with composer" - if: matrix.dependencies == 'lowest' - run: composer update --no-interaction --no-progress --prefer-lowest - - - name: "Install highest dependencies with composer" - if: matrix.dependencies == 'highest' - run: composer update --no-interaction --no-progress - - - name: "Run tests with phpunit/phpunit" - run: make test - - code-coverage: - name: "Code Coverage" - - runs-on: ubuntu-latest - - strategy: - matrix: - php-version: - - 8.1 - - steps: - - name: "Checkout" - uses: actions/checkout@v2.4.0 - - - name: "Install PHP with extensions" - uses: shivammathur/setup-php@2.16.0 - with: - coverage: pcov - extensions: "mbstring, json, intl" - php-version: ${{ matrix.php-version }} - - - name: "Cache dependencies installed with composer" - uses: actions/cache@v2.1.7 - with: - path: ~/.composer/cache - key: php${{ matrix.php-version }}-composer- - restore-keys: | - php${{ matrix.php-version }}-composer- - - - name: "Install locked dependencies with composer" - run: composer install --no-interaction --no-progress - - - name: "Collect code coverage with pcov and phpunit/phpunit" - run: make coverage - - - name: "Send code coverage report to Codecov.io" - env: - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} - run: bash <(curl -s https://codecov.io/bash) - - mutation-tests: - name: "Mutation Tests" - - runs-on: ubuntu-latest - - strategy: - matrix: - php-version: - - 8.1 - - steps: - - name: "Checkout" - uses: actions/checkout@v2.4.0 - - - name: "Install PHP with extensions" - uses: shivammathur/setup-php@2.16.0 - with: - coverage: pcov - extensions: "mbstring, intl" - php-version: ${{ matrix.php-version }} - - - name: "Cache dependencies installed with composer" - uses: actions/cache@v2.1.7 - with: - path: ~/.composer/cache - key: php${{ matrix.php-version }}-composer- - restore-keys: | - php${{ matrix.php-version }}-composer- - - - name: "Install locked dependencies with composer" - run: composer install --no-interaction --no-progress - - - name: "Run mutation tests with pcov and infection/infection" - run: make infection + run: + uses: "nucleos/actions/.github/workflows/continuous-integration.yml@main" + with: + PHP_EXTENSIONS: "" + secrets: + CODECOV_TOKEN: "${{ secrets.CODECOV_TOKEN }}"