Changeset 58165 for trunk/.github/workflows/coding-standards.yml
- Timestamp:
- 05/17/2024 05:41:40 PM (5 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/.github/workflows/coding-standards.yml
r57757 r58165 46 46 47 47 jobs: 48 # Runs PHP coding standards checks. 49 # 50 # Violations are reported inline with annotations. 51 # 52 # Performs the following steps: 53 # - Checks out the repository. 54 # - Sets up PHP. 55 # - Configures caching for PHPCS scans. 56 # - Installs Composer dependencies. 57 # - Make Composer packages available globally. 58 # - Runs PHPCS on the full codebase with warnings suppressed. 59 # - Generate a report for displaying issues as pull request annotations. 60 # - Runs PHPCS on the `tests` directory without warnings suppressed. 61 # - Generate a report for displaying `test` directory issues as pull request annotations. 62 # - Ensures version-controlled files are not modified or deleted. 48 # Runs the PHP coding standards checks. 63 49 phpcs: 64 50 name: PHP coding standards 65 runs-on: ubuntu-latest51 uses: WordPress/wordpress-develop/.github/workflows/reusable-coding-standards-php.yml@trunk 66 52 permissions: 67 53 contents: read 68 timeout-minutes: 2069 54 if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }} 70 55 71 steps:72 - name: Checkout repository73 uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.174 with:75 show-progress: ${{ runner.debug == '1' && 'true' || 'false' }}76 77 - name: Set up PHP78 uses: shivammathur/setup-php@a4e22b60bbb9c1021113f2860347b0759f66fe5d # v2.30.079 with:80 php-version: 'latest'81 coverage: none82 tools: cs2pr83 84 # This date is used to ensure that the PHPCS cache is cleared at least once every week.85 # http://man7.org/linux/man-pages/man1/date.1.html86 - name: "Get last Monday's date"87 id: get-date88 run: echo "date=$(/bin/date -u --date='last Mon' "+%F")" >> $GITHUB_OUTPUT89 90 - name: Cache PHPCS scan cache91 uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 # v4.0.192 with:93 path: |94 .cache/phpcs-src.json95 .cache/phpcs-tests.json96 key: ${{ runner.os }}-date-${{ steps.get-date.outputs.date }}-phpcs-cache-${{ hashFiles('**/composer.json', 'phpcs.xml.dist') }}97 98 # Since Composer dependencies are installed using `composer update` and no lock file is in version control,99 # passing a custom cache suffix ensures that the cache is flushed at least once per week.100 - name: Install Composer dependencies101 uses: ramsey/composer-install@57532f8be5bda426838819c5ee9afb8af389d51a # v3.0.0102 with:103 custom-cache-suffix: ${{ steps.get-date.outputs.date }}104 105 - name: Make Composer packages available globally106 run: echo "${PWD}/vendor/bin" >> $GITHUB_PATH107 108 - name: Run PHPCS on all Core files109 id: phpcs-core110 run: phpcs -n --report-full --cache=./.cache/phpcs-src.json --report-checkstyle=./.cache/phpcs-report.xml111 112 - name: Show PHPCS results in PR113 if: ${{ always() && steps.phpcs-core.outcome == 'failure' }}114 run: cs2pr ./.cache/phpcs-report.xml115 116 - name: Check test suite files for warnings117 id: phpcs-tests118 run: phpcs tests --report-full --cache=./.cache/phpcs-tests.json --report-checkstyle=./.cache/phpcs-tests-report.xml119 120 - name: Show test suite scan results in PR121 if: ${{ always() && steps.phpcs-tests.outcome == 'failure' }}122 run: cs2pr ./.cache/phpcs-tests-report.xml123 124 - name: Ensure version-controlled files are not modified during the tests125 run: git diff --exit-code126 127 56 # Runs the JavaScript coding standards checks. 128 #129 # JSHint violations are not currently reported inline with annotations.130 #131 # Performs the following steps:132 # - Checks out the repository.133 # - Sets up Node.js.134 # - Logs debug information about the GitHub Action runner.135 # - Installs npm dependencies.136 # - Run the WordPress JSHint checks.137 # - Ensures version-controlled files are not modified or deleted.138 57 jshint: 139 58 name: JavaScript coding standards 140 runs-on: ubuntu-latest59 uses: WordPress/wordpress-develop/.github/workflows/reusable-coding-standards-javascript.yml@trunk 141 60 permissions: 142 61 contents: read 143 timeout-minutes: 20144 62 if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }} 145 env:146 PUPPETEER_SKIP_DOWNLOAD: ${{ true }}147 148 steps:149 - name: Checkout repository150 uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1151 with:152 show-progress: ${{ runner.debug == '1' && 'true' || 'false' }}153 154 - name: Set up Node.js155 uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2156 with:157 node-version-file: '.nvmrc'158 cache: npm159 160 - name: Log debug information161 run: |162 npm --version163 node --version164 git --version165 166 - name: Install npm Dependencies167 run: npm ci168 169 - name: Run JSHint170 run: npm run grunt jshint171 172 - name: Ensure version-controlled files are not modified or deleted173 run: git diff --exit-code174 63 175 64 slack-notifications:
Note: See TracChangeset
for help on using the changeset viewer.