Skip to content

Automattic/vip-go-mu-plugins-ext

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VIP MU plugins external dependencies

This repository contains external dependencies for MU plugins. Currently this is limited to Jetpack and WP-Parsely.

The idea behind this repo is to automate external dependency management while still maintaining back-compat.

Jetpack

Jetpack is a hard dependency on VIP. Unfortunately, Jetpack release cadence (every month) creates burden/toil for us, so we're rebundling Jetpack here in the repo.

WP-Parsely

WP-Parsely is another first-party versioned dependency.

Integrations

VIP-created plugins bundled for easier customer usage.

VIP Block Data API

The VIP Block Data API is a REST API for retrieving block editor posts structured as JSON data.

VIP Governance

VIP Governance is a plugin that adds additional governance capabilities to the block editor.

Automation

...profit?

Running and Debugging the Updater Script

Setup

Before running the script for the first time, you need to install its npm dependencies:

cd ci/
npm install

Running the script

The update-deps script can be run in two modes:

  1. Normal mode: Updates and commits changes to the repository. It would be run in this mode in the update-deps github action.

    node ci/update-deps.js
  2. Dry run mode: Shows what would happen without making any changes - useful during development

    node ci/update-deps.js --dry-run

When running in dry run mode, the script will:

  • Log all git commands instead of executing them
  • Log Slack notifications instead of sending them
  • Log WordPress post creations instead of publishing them
  • Still check for version information and report what would be updated

This is useful for testing changes to the update process or previewing updates before applying them.

Configuration

Hopefully the only upkeep we need to do is to change config. And only to remove or skip a version. Additions and updates should happen on its own.

Each entry in config.json should follow the following format:

{
  "plugin": {
    "repo": "https://github.com/Automattic/awesome-plugin",
    "folderPrefix": "awesome-plugin-",
    "lowestVersion": "3.1",
    "versionPrefix": "",
    "skip": [
      "3.4"
    ],
    "ignore": [],
    "current": {
      "3.1": "3.1.3",
      "3.2": "3.2.1",
      "3.5": "3.5.2",
    }
  }
}

lowestVersion

The version to start scanning dependency tags from. Updater will delete versions lower than lowestVersion.

skip

List of versions to be excluded from the updater. This is used for higher versions than lowestVersion that we don't need. Updater will delete this version if present.

ignore

List of versions that should be fully ignored by upgrader. That means not update, add or remove them. This is useful if we for some reason want to diverge from the upstream (a hotfix, VIP-specific patch, etc.

versionPrefix

Optional string prefix used in version numbers. For example, if a plugin uses "v1.2.3" rather than "1.2.3", set this to "v". The updater will handle stripping and adding this prefix when comparing versions.

Ignored versions

Jetpack

About

WPVIP MU-Plugins External Dependencies

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published