Skip to content
This repository has been archived by the owner on Feb 26, 2023. It is now read-only.

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 ba80c1c commit 4156cb3
Show file tree
Hide file tree
Showing 6 changed files with 56 additions and 316 deletions.
31 changes: 31 additions & 0 deletions .github/workflows/assets.yml
@@ -0,0 +1,31 @@
name: 'Assets'

on:
create:
pull_request:
push:
branches:
- '[0-9]+.[0-9]+.x'
- 'refs/pull/*'

jobs:
webpack:
name: 'Build Assets'

runs-on: "ubuntu-latest"

steps:
- name: "Checkout"
uses: "actions/checkout@v2.4.0"

- name: "Using Node"
uses: "actions/setup-node@v2.5.1"

- name: "Install dependencies"
run: "yarn"

- name: "Build"
run: "yarn build"

- name: "Check size"
run: "yarn size"
16 changes: 5 additions & 11 deletions .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 }}"
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 }}
257 changes: 9 additions & 248 deletions .github/workflows/continuous-integration.yml
Expand Up @@ -5,253 +5,14 @@ on:
pull_request:
push:
branches:
- "*.x"
tags:
- "**"
- '[0-9]+.[0-9]+.x'
- 'refs/pull/*'

jobs:
webpack:
name: "Webpack build"

runs-on: ubuntu-latest

steps:
- name: "Checkout"
uses: actions/checkout@v2.4.0

- name: "Using Node"
uses: actions/setup-node@v2.5.1

- name: "Install dependencies"
run: |
yarn
- name: "Build"
run: yarn build

- name: "Check size"
run: |
yarn size
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"
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"
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"
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"
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"
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"
SYMFONY_KERNEL: "Nucleos\\ShariffBundle\\Tests\\App\\AppKernel"
secrets:
CODECOV_TOKEN: "${{ secrets.CODECOV_TOKEN }}"
4 changes: 3 additions & 1 deletion composer.json
Expand Up @@ -63,7 +63,9 @@
"nyholm/psr7": "^1.0",
"symfony/browser-kit": "^5.4 || ^6.0",
"symfony/cache": "^5.4 || ^6.0",
"symfony/http-client": "^5.4 || ^6.0"
"symfony/console": "^5.4 || ^6.0",
"symfony/http-client": "^5.4 || ^6.0",
"symfony/yaml": "^5.4 || ^6.0"
},
"autoload": {
"psr-4": {
Expand Down
Empty file added tests/App/templates/.gitkeep
Empty file.

0 comments on commit 4156cb3

Please sign in to comment.