magento / quality-patches

Other
148 stars 60 forks source link

Quality Patches Tool

Welcome to the Quality Patches Tool!

Overview

Quality Patches Tool is a command-line tool that delivers quality patches for Adobe Commerce and Magento Open Source. It allows you to:

Quality patches are provided by Adobe support and Magento OS community.

Here is a full list of available patches in Quality Patches Tool.

Installation

On-Prem Project

$ composer require magento/quality-patches

Cloud Project

The quality-patches package is a dependency for the ece-tools package starting from v.2002.1.2 and is installed or updated when you update the ece-tools package version.

Usage - On-Prem Project

Make sure to test all patches in a pre-production environment. For the changes to be reflected, refresh the cache in the Admin under System > Tools > Cache Management

Use $ ./vendor/bin/magento-patches script

Status command

Show information about available patches for current Magento version:

$ ./vendor/bin/magento-patches status

Apply command

Applies provided list of patches:

$ ./vendor/bin/magento-patches apply MAGETWO-95591 MAGETWO-67097

Revert command

Reverts provided list of patches:

$ ./vendor/bin/magento-patches revert MAGETWO-95591 MAGETWO-67097

Reverts all patches:

$ ./vendor/bin/magento-patches revert --all

Usage - Cloud Project

Make sure to test all patches in a pre-production environment. For Magento Cloud, new branches can be created with magento-cloud environment:branch

Use $ ./vendor/bin/ece-patches script

Applying a patch

Add to .magento.env.yaml environment variable QUALITY_PATCHES with a list of patches to apply:

stage:
    build:
        QUALITY_PATCHES:
            - MCTEST-1002
            - MCTEST-1003

Commit and push updated .magento.env.yaml file into the remote branch. Patches will be applied during deploy process.

Apply patches manually in a local environment

You can apply patches manually in a local environment and test them before you deploy.

To apply patches manually:

  1. Add to .magento.env.yaml environment variable QUALITY_PATCHES with a list of patches to apply
  2. From the project root, apply the patches: $ ./vendor/bin/ece-patches apply Patches will be applied in the following order:
    • Cloud-required patches
    • Quality patches from .magento.env.yaml
    • Custom patches from the /m2-hotfixes directory.
  3. Check with ./vendor/bin/ece-patches status if the patch was applied
  4. Clear the Magento cache $ ./bin/magento cache:clean

Test the patches, make any necessary changes to custom patches.

Revert patches in a local environment

You can revert patches in a local environment to clean instance:

$ ./vendor/bin/ece-patches revert

Patches will be reverted in the following order:

Status command information

Status:

Type:

Details: