Make WordPress Core


Ignore:
Timestamp:
10/29/2020 01:20:42 AM (3 years ago)
Author:
desrosj
Message:

Build/Test Tools: Use install-changed to install NPM dependencies in GitHub Action workflows.

The install-changed package records a hash of the package.json file locally in a text file and only runs npm install when there are changes to account for.

This builds on [47497], which only hashes the package.json file after a Grunt task is called. By using npx install-changed within the workflow files, the package is hashed before the first Grunt task is run.

Props ocean90.
See #50401, #49594.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/.github/workflows/phpunit-tests.yml

    r49244 r49369  
    2929  # - Installs NodeJS 12 (todo: install the version of NPM specified in the `.nvmrc` file to support older branches)
    3030  # - Sets up caching for NPM.
    31   # _ Installs NPM dependencies.
     31  # _ Installs NPM dependencies using install-changed to hash the `package.json` file.
    3232  # - Builds WordPress to run from the `build` directory.
    3333  # - Creates a ZIP file of compiled WordPress
     
    5252      - name: Log debug information
    5353        run: |
     54          echo "$GITHUB_REF"
     55          echo "$GITHUB_EVENT_NAME"
    5456          npm --version
    5557          node --version
     
    7880
    7981      - name: Install Dependencies
    80         run: npm ci
     82        run: npx install-changed --install-command="npm ci"
    8183
    8284      - name: Build WordPress
     
    8789        with:
    8890          filename: built-wp-${{ github.sha }}.zip
    89           exclusions: '/*node_modules/*'
     91          exclusions: '*.git* /*node_modules/* packagehash.txt'
    9092
    9193      - name: Upload build artifact
     
    105107  # - Installs NodeJS 12 (todo: install the version of NPM specified in the `nvmrc` file to support older branches)
    106108  # - Sets up caching for NPM.
    107   # _ Installs NPM dependencies.
     109  # _ Installs NPM dependencies using install-changed to hash the `package.json` file.
    108110  # - Configures caching for Composer.
    109111  # _ Installs Composer dependencies (if desired)
     
    173175
    174176      - name: Install Dependencies
    175         run: npm ci
     177        run: npx install-changed --install-command="npm ci"
    176178
    177179      - name: Get composer cache directory
Note: See TracChangeset for help on using the changeset viewer.