Skip to content

Commit

Permalink
Use shared pipelines
Browse files Browse the repository at this point in the history
  • Loading branch information
core23 committed Jan 7, 2022
1 parent 5fe52c2 commit b3907d8
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 358 deletions.
27 changes: 0 additions & 27 deletions .github/settings.yml
@@ -1,34 +1,7 @@
# These settings are synced to GitHub by https://probot.github.io/apps/settings/

_extends: .github

repository:
name: NucleosProfileBundle
description: 👤 Registration and profile management for symfony
homepage: https://docs.nucleos.rocks/projects/profile-bundle/
topics: hacktoberfest, symfony, symfony-bundle, bundle, user, management, profile, registration

branches:
- name: "*.x"
protection:
enforce_admins: false
required_status_checks:
contexts:
- "Coding Standards (8)"
- "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:
users:
- nucleos-bot
13 changes: 4 additions & 9 deletions .github/workflows/automatic-merge.yml
Expand Up @@ -5,12 +5,7 @@ on:
- 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 }}"
64 changes: 8 additions & 56 deletions .github/workflows/automatic-release.yml
Expand Up @@ -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 }}
228 changes: 7 additions & 221 deletions .github/workflows/continuous-integration.yml
Expand Up @@ -9,224 +9,10 @@ on:
- 'refs/pull/*'

jobs:
coding-standards:
name: "Coding Standards"

runs-on: ubuntu-latest

strategy:
matrix:
php-version:
- 8.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, mongo"
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.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, mongo"
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

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, mongo"
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.0

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, mongo"
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.0

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, mongo"
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: "mbstring, json, mongodb"
SYMFONY_KERNEL: "Nucleos\\ProfileBundle\\Tests\\App\\AppKernel"
secrets:
CODECOV_TOKEN: "${{ secrets.CODECOV_TOKEN }}"

0 comments on commit b3907d8

Please sign in to comment.