WordPress.org

Make WordPress Core


Ignore:
Timestamp:
02/12/2021 08:41:34 PM (10 months ago)
Author:
desrosj
Message:

Build/Test Tools: Restore automated testing in the 4.1 branch.

This commit merges the workflow files required to run automated testing on GitHub Actions.

In addition, [49836] and [50285] have been included in order to keep the local Docker environment consistent across all branches.

Merges [49162,49168-49169,49175,49204,49227-49228,49244,49369,49371,49548,49781-49784,49786,49836,49938,50268,50285,50298] to the 4.1 branch.
See #50401.

Location:
branches/4.1
Files:
1 added
2 edited
1 copied

Legend:

Unmodified
Added
Removed
  • branches/4.1

  • branches/4.1/.github/workflows/coding-standards.yml

    r49162 r50320  
    55    branches:
    66      - master
     7      # JSHint was introduced in WordPress 3.8.
    78      # PHPCS checking was introduced in WordPress 5.1.
    8       - '5.[1-9]'
    9       - '[6-9].*'
     9      - '3.[89]'
     10      - '[4-9].[0-9]'
     11    tags:
     12      - '3.[89]*'
     13      - '[4-9].[0-9]*'
    1014  pull_request:
    1115
    1216jobs:
    13   # Runs PHP coding standards checks.
     17  # Runs the JavaScript coding standards checks.
    1418  #
    15   # Violations are reported inline with annotations.
    16   #
    17   # Performs the following steps:
    18   # - Checks out the repository.
    19   # - Configures caching for Composer.
    20   # - Sets up PHP.
    21   # - Logs debug information.
    22   # - Installs Composer dependencies (from cache if possible).
    23   # - Logs PHP_CodeSniffer debug information.
    24   # - Runs PHPCS on the full codebase with warnings suppressed.
    25   # - Runs PHPCS on the `tests` directory without warnings suppressed.
    26   # - todo: Configure Slack notifications for failing scans.
    27   phpcs:
    28     name: PHP coding standards
    29     runs-on: ubuntu-latest
    30     steps:
    31       - name: Checkout repository
    32         uses: actions/checkout@v2
    33 
    34       - name: Get Composer cache directory
    35         id: composer-cache
    36         run: echo "::set-output name=dir::$(composer config cache-files-dir)"
    37 
    38       - name: Set up Composer caching
    39         uses: actions/cache@v2
    40         env:
    41           cache-name: cache-composer-dependencies
    42         with:
    43           path: ${{ steps.composer-cache.outputs.dir }}
    44           key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
    45           restore-keys: |
    46             ${{ runner.os }}-composer-
    47 
    48       - name: Set up PHP
    49         uses: shivammathur/setup-php@v2
    50         with:
    51           php-version: '7.4'
    52           coverage: none
    53           tools: composer, cs2pr
    54 
    55       - name: Log debug information
    56         run: |
    57           php --version
    58           composer --version
    59 
    60       - name: Install Composer dependencies
    61         run: |
    62           composer install --prefer-dist --no-suggest --no-progress --no-ansi --no-interaction
    63           echo "vendor/bin" >> $GITHUB_PATH
    64 
    65       - name: Log PHPCS debug information
    66         run: phpcs -i
    67 
    68       - name: Run PHPCS on all Core files
    69         run: vendor/bin/phpcs -q -n --report=checkstyle | cs2pr
    70 
    71       - name: Check test suite files for warnings
    72         run: vendor/bin/phpcs tests -q --report=checkstyle | cs2pr
    73 
    74   # Runs the JavaScript coding standards checks.
     19  # JSHint violations are not currently reported inline with annotations.
    7520  #
    7621  # Performs the following steps:
    7722  # - Checks out the repository.
    7823  # - Logs debug information about the runner container.
    79   # - Installs NodeJS 12 (todo: install the version of NPM specified in the `.nvmrc` file to support older branches)
     24  # - Installs NodeJS 14.
    8025  # - Sets up caching for NPM.
    8126  # - Logs updated debug information.
    82   # _ Installs NPM dependencies.
     27  # _ Installs NPM dependencies using install-changed to hash the `package.json` file.
    8328  # - Run the WordPress JSHint checks.
    8429  # - todo: Configure Slack notifications for failing tests.
     
    8631    name: JavaScript coding standards
    8732    runs-on: ubuntu-latest
     33    if: ${{ github.repository == 'WordPress/wordpress-develop' || github.event_name == 'pull_request' }}
     34    env:
     35      PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: ${{ true }}
     36
    8837    steps:
    8938      - name: Checkout repository
     
    10049        uses: actions/setup-node@v1
    10150        with:
    102           node-version: 12
     51          node-version: 14
    10352
    10453      - name: Cache NodeJS modules
     
    11968
    12069      - name: Install Dependencies
    121         run: npm ci
     70        run: npx install-changed --install-command="npm ci"
    12271
    12372      - name: Run JSHint
Note: See TracChangeset for help on using the changeset viewer.