[wp-trac] [WordPress Trac] #52660: Check the NPM cache configuration on GitHub Actions

WordPress Trac noreply at wordpress.org
Thu Feb 25 20:47:42 UTC 2021


#52660: Check the NPM cache configuration on GitHub Actions
------------------------------+------------------------------
 Reporter:  johnbillion       |       Owner:  (none)
     Type:  defect (bug)      |      Status:  new
 Priority:  normal            |   Milestone:  Awaiting Review
Component:  Build/Test Tools  |     Version:
 Severity:  normal            |  Resolution:
 Keywords:  dev-feedback      |     Focuses:
------------------------------+------------------------------

Comment (by desrosj):

 In [changeset:"50436" 50436]:
 {{{
 #!CommitTicketReference repository="" revision="50436"
 Build/Test Tools: Prevent the NPM/Composer caches in GitHub Actions from
 snowballing.

 The `actions/cache` GitHub action uses a `key` input to find the desired
 cache in storage. Currently, this is defined as a combination of the
 operating system being used, the software being cached (NPM or Composer),
 PHP version (Composer only), and a hash of the relevant lock file.

 The `cache` action also supports a `restore-keys` input, which is an
 ordered list of keys to use for restoring a cache if no cache hit occurred
 for the specified key.

 However, this means that every time a lock file is updated, the cache is
 being recreated by first restoring a previous one (when available), and
 then installing new versions of dependencies on top of that. This results
 in old, unused versions of dependencies never being removed from the
 cache.

 In this change, the `restore-keys` are removed. This will force a new,
 fresh cache to be generated when the desired `key` is not matched. In
 testing, this results in a ~40% reduction in cache size when compared to
 the latest successful workflow runs. Since there is no way to manually
 flush the cache in GHA, the benefits of this change will not be seen until
 the `package-lock.json` and `composer.lock` files are updated, or the
 cache at the desired key is evicted.

 Props johbillion.
 See #52660.
 }}}

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/52660#comment:4>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list