From aa311d7b22513bcd71e8ab9a1e2a93609240de47 Mon Sep 17 00:00:00 2001 From: Akihito Koriyama Date: Fri, 5 Jan 2024 10:00:55 +0900 Subject: [PATCH] Update CI workflows --- .github/workflows/coding-standards.yml | 37 +---- .github/workflows/continuous-integration.yml | 58 +------- .github/workflows/static-analysis.yml | 135 +------------------ 3 files changed, 13 insertions(+), 217 deletions(-) diff --git a/.github/workflows/coding-standards.yml b/.github/workflows/coding-standards.yml index 7ba88b1..1a6e733 100644 --- a/.github/workflows/coding-standards.yml +++ b/.github/workflows/coding-standards.yml @@ -6,36 +6,7 @@ on: workflow_dispatch: jobs: - coding-standards: - name: Coding Standards - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: 8.0 - tools: cs2pr - coverage: none - - - name: Get composer cache directory - id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" - - - name: Cache dependencies - uses: actions/cache@v2 - with: - path: ${{ steps.composer-cache.outputs.dir }} - key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} - restore-keys: ${{ runner.os }}-composer- - - - name: Install dependencies - run: composer install --no-interaction --no-progress --prefer-dist - - - name: Validate composer.json - run: composer validate --strict - - - name: Run PHP_CodeSniffer - run: ./vendor/bin/phpcs -q --no-colors --report=checkstyle src tests | cs2pr + cs: + uses: ray-di/.github/.github/workflows/coding-standards.yml@v1 + with: + php_version: 8.3 diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 20e8b14..b42a071 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -4,58 +4,10 @@ on: push: pull_request: workflow_dispatch: - schedule: - - cron: '42 15 * * *' jobs: - phpunit: - name: PHPUnit - runs-on: ubuntu-latest - strategy: - matrix: - operating-system: - - ubuntu-latest - php-version: - - '7.3' - - '7.4' - - '8.0' - dependencies: - - lowest - - highest - steps: - - name: Checkout - uses: actions/checkout@v1 - - - name: Setup PHP ${{ matrix.php-version }} - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php-version }} - coverage: pcov - ini-values: zend.assertions=1 - - - name: Get composer cache directory - id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" - - - name: Cache dependencies - uses: actions/cache@v2 - with: - path: ${{ steps.composer-cache.outputs.dir }} - key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} - restore-keys: ${{ runner.os }}-composer- - - - name: Install lowest dependencies - if: ${{ matrix.dependencies == 'lowest' }} - run: composer update --prefer-lowest --no-interaction --no-progress --no-suggest - - - name: Install highest dependencies - if: ${{ matrix.dependencies == 'highest' }} - run: composer update --no-interaction --no-progress --no-suggest - - - name: Run test suite - run: ./vendor/bin/phpunit --coverage-clover=coverage.xml - - - name: Upload coverage report - uses: codecov/codecov-action@v1 - with: - file: ./coverage.xml + ci: + uses: ray-di/.github/.github/workflows/continuous-integration.yml@v1 + with: + old_stable: '["7.3", "7.4", "8.0", "8.1", "8.2"]' + current_stable: 8.3 diff --git a/.github/workflows/static-analysis.yml b/.github/workflows/static-analysis.yml index 19bfb5f..1e5f6bf 100644 --- a/.github/workflows/static-analysis.yml +++ b/.github/workflows/static-analysis.yml @@ -6,134 +6,7 @@ on: workflow_dispatch: jobs: - static-analysis-phpstan: - name: Static Analysis with PHPStan - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: 8.0 - tools: cs2pr - coverage: none - - - name: Get composer cache directory - id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" - - - name: Cache dependencies - uses: actions/cache@v2 - with: - path: ${{ steps.composer-cache.outputs.dir }} - key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} - restore-keys: ${{ runner.os }}-composer- - - - name: Install dependencies - run: composer install --no-interaction --no-progress --prefer-dist - - - name: Run PHPStan - run: ./vendor/bin/phpstan analyse -c phpstan.neon --no-progress --no-interaction --error-format=checkstyle | cs2pr - - static-analysis-psalm: - name: Static Analysis with Psalm - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: 8.0 - tools: cs2pr - coverage: none - - - name: Get composer cache directory - id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" - - - name: Install dependencies - run: composer install --no-interaction --no-progress --prefer-dist - - - name: Run Psalm - run: ./vendor/bin/psalm --show-info=false --output-format=checkstyle --shepherd | cs2pr - - static-analysis-phpmd: - name: Static Analysis with PHPMD - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: 7.4 - - - name: Get composer cache directory - id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" - - - name: Cache dependencies - uses: actions/cache@v2 - with: - path: ${{ steps.composer-cache.outputs.dir }} - key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} - restore-keys: ${{ runner.os }}-composer- - - - name: Install dependencies - run: composer install --no-interaction --no-progress --prefer-dist - - - name: Run PHP Mess Detector - run: ./vendor/bin/phpmd src text --exclude src/Annotation ./phpmd.xml - - static-analysis-php-metrics: - name: Static Analysis with PhpMetrics - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: 8.0 - coverage: none - - - name: Get composer cache directory - id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" - - - name: Install dependencies - run: composer install --no-interaction --no-progress --prefer-dist - - - name: Run PhpMetrics - run: ./vendor/bin/phpmetrics --exclude=Exception src - - static-analysis-composer-require-checker: - name: Static Analysis with ComposerRequireChecker - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: 7.4 - coverage: none - - - name: Get composer cache directory - id: composer-cache - run: echo "::set-output name=dir::$(composer config cache-files-dir)" - - - name: Install dependencies - run: | - composer install --no-interaction --no-progress --prefer-dist - composer require --dev maglnet/composer-require-checker ^3.0 - - - name: Run composer-require-checker - run: ./vendor/bin/composer-require-checker \ No newline at end of file + sa: + uses: ray-di/.github/.github/workflows/static-analysis.yml@v1 + with: + php_version: 8.3