From 141087a788f4b38d8daade6d9ceeee47750be886 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Wed, 2 Dec 2020 14:41:50 +0100 Subject: [PATCH 01/69] Added SUT topics --- src/_data/toc/software-update-guide.yml | 10 + .../v2.4/comp-mgr/sut/prereq-sut-checklist.md | 24 ++ .../v2.4/comp-mgr/sut/sut-welcome-guide.md | 320 ++++++++++++++++++ 3 files changed, 354 insertions(+) create mode 100644 src/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.md create mode 100644 src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md diff --git a/src/_data/toc/software-update-guide.yml b/src/_data/toc/software-update-guide.yml index e54415c4101..3b86df2fc1a 100644 --- a/src/_data/toc/software-update-guide.yml +++ b/src/_data/toc/software-update-guide.yml @@ -21,6 +21,16 @@ pages: - label: Update and upgrade checklist url: /comp-mgr/prereq/prereq_compman-checklist.html + - label: Safe Upgrade Tool + url: /comp-mgr/sut/sut-welcome-guide.html + children: + + - label: Check prerequisites for the safe upgrade tool + url: /comp-mgr/sut/prereq-sut-checklist.html + + - label: Use the safe upgrade tool + url: /comp-mgr/sut/sut-welcome-guide.html + - label: Magento Marketplace example url: /comp-mgr/marketplace/marketplace.html include_versions: ["2.3"] diff --git a/src/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.md b/src/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.md new file mode 100644 index 00000000000..c98b1ec58b8 --- /dev/null +++ b/src/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.md @@ -0,0 +1,24 @@ +--- +group: software-update-guide +title: Prerequisites for the safe upgrade tool +functional_areas: + - Upgrade +--- + +Before you upgrade from Magento 2.3.x to Magento 2.4, you must check whether you are using MySQL, Elasticsearch, or a third-party extension as your catalog search engine in your Magento 2.3.x instance. The result determines what you must do **before** upgrading to Magento 2.4. + +The minimum requisites to run the Safe Upgrade Tool (SUT) are: + +| **Requisites** | **Constraints** | +|----------------|-----------------| +| PHP version| >= 7.3 | +| Composer | none | +| Node.js | none | +| Magento Access keys | none | +| MC or Magento Open Source | none | +{:style="table-layout:auto;"} + +{:.bs-callout .bs-callout-info} +SUT should run in any operating system. It is not required to run the tool where your magento instance is located. + +Refer to [`Safe upgrade tool welcome guide`]({{ page.baseurl }}/guides/v2.4/comp-mgr/sut/sut-welcome-guide.html) for full instructions on how to install these prerequisites. \ No newline at end of file diff --git a/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md new file mode 100644 index 00000000000..c4ec28f57ec --- /dev/null +++ b/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md @@ -0,0 +1,320 @@ +--- +group: software-update-guide +title: Safe upgrade tool +functional_areas: + - Upgrade +--- + +Welcome to the Magento Safe Upgrade Tool (SUT). + +SUT is a CLI tool that checks a magento instance against a specific version by analysing all the non-magento modules installed in it. + +The goal of SUT is to identify which potential problems you will have to fix within your customized code when trying to upgrade to a newer Magento version. When running the tool you will get a list of errors and warnings that you will have to take into account to complete the upgrade to the desired version. + +## Prerequisites + +See the [prerequisites checklist for SUT](https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-upgrade.html) for the minimum requisites required to run SUT. + +{:.bs-callout .bs-callout-info} +SUT should run in any operating system. It is not required to run the tool where your magento instance is located. + +## Memory limitations + +The usage of memory depends entirely on the magento instance you are running. If you are running a system with large 3rd party modules and files, expect SUT to require a high RAM amount. + +See the [SUT usage](https://github.com/magento-commerce/safe-upgrade-tool#sut-usage) topic for more information. + +## Documentation + +See the [readme](https://github.com/magento-commerce/safe-upgrade-tool/blob/develop/docs/README.md) file for more technical information on SUT. + +## SUT installation + +### Magento access keys + +As mentioned earlier, check that you have the **Magento access keys** in your system. If you do not have them, create an account at [marketplace.magento.com](https://marketplace.magento.com/). + +Then, you will be able to create these **Magento access keys**. + +See the [access keys guide](https://devdocs.magento.com/marketplace/sellers/profile-information.html#access-keys) topic for more information. + +Once you create the access keys, add them to your `auth.json` file, which is located by default `~/.composer`. + +{:.bs-callout .bs-callout-warning} +Check your **COMPOSER_HOME** environment variable to see where the `auth.json` file is located. + +The **public key** corresponds to the _username_ whereas the **private key** is the _password_: + +> Example of Magento access keys + +``` + "http-basic": { + "repo.magento.com": { + "username": "YOUR_MAGENTO_PUBLIC_KEY", + "password": "YOUR_MAGENTO_PRIVATE_KEY" + } + }, +``` + +### Composer + +Clone this repository and, from the **safe-upgrade-tool** folder run `composer install` to install its dependencies. + +{:.bs-callout .bs-callout-warning} +If the **Magento access keys** are not correctly configured, SUT will not be fully installed and you will get errors when running the `composer install` command. + +### Node.js + +To install _Node.js_ in your system, check the [_Node.js_](https://nodejs.dev/learn/how-to-install-nodejs) page for more information. + +## SUT usage + +### Executing the tool + +Execute the tool by running the following command: + +> Run SUT + +`bin/sut upgrade:check INSTALLATION_DIR`. + +{:.bs-callout .bs-callout-info} +It is recommended to run `php -d memory_limit=-1 /bin/sut` to avoid memory limitations, as described earlier. + +`INSTALLATION_DIR` is the directory where the Magento instance is located. + +Run `bin/sut --help` to get all the different possibilities and options available when running SUT. + +### GraphQL schema compatibility verification + +SUT also provides the option to introspect two GraphQL endpoints and compare their schemas looking for breaking and dangerous changes between them: + +> Run SUT GraphQL + +`bin/sut graphql:compare https://domain1.com/graphql https://domain2.com/graphql` + +### Arguments and options + +#### Version + +You can compare your current Magento 2 installation with Magento versions `>=2.3`. + +You need to provide the version as a parameter when running the command: + +> Providing the version + +`bin/sut upgrade:check INSTALLATION_DIR -c 2.4.1`. + +There are some limitations: + +- This parameter refers to any tag that identifies a specific version of Magento. +- It is a requirement to provide this one explicitly; providing only the value of it will not work. +- Provide the tag version without any quotation marks (neither single nor double): ~~'2.4.1-develop'~~. +- You should NOT provide older versions than the one you have currently installed, nor older than 2.3, which is the oldest one supported at the moment. + +#### Full report + +You can also get a full report containing both _PHP-related_ errors and GraphQL. In this case, you need to provide at least the following options: + +- --schema1=SCHEMA1 +- --schema2=SCHEMA2 +- INSTALLATION_DIR + +> Example of bin/sut command + +`bin/sut upgrade:check --schema1=https://domain1.com/graphql --schema2=https://domain2.com/graphql -c 2.4.1 INSTALLATION_DIR` + +### Output + +It provides a report identifying the affected non-magento modules, the severity and the description of the problem for every issue +encountered: + +> Example with a list of errors/warnings + +``` +File: /app/code/Custom/CatalogExtension/Controller/Index/Index.php +------------------------------------------------------------------ + + * [ERROR] Line 84: Used nonexistent or non Magento API interface 'Magento\Catalog\Model\ProductRepositoryInterface' + * [WARNING] Line 6: Importing Magento @deprecated class 'Magento\Catalog\Model\ProductRepository' +``` + +Apart from that, the report also includes a detailed _summary_: + +- *Installed Version*: the version currently installed. +- *Magento Version*: the version you want to upgrade to. +- *Running time*: amount of time the analysis took to build the report (mm:ss). +- *Checked modules*: amount of modules installed in the current magento version examined during the analysis. +- *PHP errors found*: amount of PHP errors. +- *PHP warnings found*: amount of PHP warnings. +- *GraphQL errors found*: amount of GraphQL errors. +- *GraphQL warnings found*: amount of GraphQL warnings. +- *Total errors found*: total amount of errors found. +- *Total warnings found*: total amount of warnings found. +- *Complexity score*: a figure that indicates how difficult is to upgrade from the current version to the new one. + +The lower this number is, the easier is to perform the upgrade. + +> Example of a summary + +``` + ------------------------ -------- + Installed version 2.3.5 + Magento version 2.4.1 + Running time 0m:48s + Checked modules 60 + PHP errors found 162 + PHP warnings found 120 + GraphQL errors found 19 + GraphQL warnings found 0 + Total errors found 181 + Total warnings found 120 + Complexity score 482 + ------------------------ -------- +``` + +Regarding the GraphQL schema compatibility comparison, the output would be very similar to the previous one: + +> Example with a list of errors/warnings for GraphQL + +``` + * [ERROR] FIELD_CHANGED_KIND: ConfigurableProduct.gender changed type from Int to String. + * [WARNING] OPTIONAL_INPUT_FIELD_ADDED: An optional field sku on input type ProductAttributeSortInput was added. +``` +## Design + +This *diagram* shows how SUT has been designed and describes how it roughly works: +![MVP diagram - SUT](images/mvp-diagram.png) + +### More resources +You can find more resources here: https://github.com/magento/safe-upgrade-tool/wiki + +## M-Ray integration + +The integration with M-Ray is done through the interface: `Sut\Domain\MRay\MRayInterface`. + +Its implementation is injected through `config/services.yaml` and its value decides where the response of methods +`api()` and `modules()` comes from. + +You can edit this file to customize the response according to your needs. +Just replace the value assigned to `Sut\Domain\MRay\MRayInterface`. + +For instance, you can do the following: `Sut\Domain\MRay\MRayInterface : "@sut_mray_mock"` + +In this case, SUT is going to use `MRayMock` as the `MRayInterface` implementation +and the response of the methods `api()` and `modules()` will come +from `dev/mray_mock_files/api.json` and `dev/mray_mock_files/modules.json`. + +**Note**: When you make changes in `services.yaml`, +don't forget to delete the cache folder (`var/cache`) to apply them. + +## Unit testing + +To run the unit tests, you could execute one of the following commands: + +`vendor/bin/phpunit tests/unit` + +`vendor/bin/phpunit -c tests/unit/phpunit.xml.dist tests/unit` + +`vendor/bin/phpunit -c tests/unit/phpunit.xml.dist --testsuite=unit-tests` + +## Integration testing + +To run the integration tests, you could execute one of the following commands: + +`vendor/bin/phpunit -c tests/integration/phpunit.xml.dist tests/integration` + +`vendor/bin/phpunit -c tests/integration/phpunit.xml.dist --testsuite=integration-tests` + +## Acceptance testing + +Before executing this, you should need to set the magento url in the phpunit configuration file: + +- Copy the default file in `tests/acceptance/phpunit.xml` (without the .dist suffix) + +- Change the `TESTS_BASE_URL` to point to the magento url you want to test + +To run the acceptance tests, you could execute one of the following commands: + +`vendor/bin/phpunit -c tests/acceptance/phpunit.xml tests/acceptance` + +`vendor/bin/phpunit -c tests/acceptance/phpunit.xml --testsuite=acceptance-tests` + +## JS Unit testing for graphql + +We used the framework **jest** to create these tests: +`https://jestjs.io/docs/en/getting-started.html` + +To run the js unit tests for graphql you need to have NodeJS installed: + +Go inside `graphql-schema-compatibility` folder and run `npm install` + +Then you can execute `npm run unit-test` or `jest` + +The tests are inside `graphql-schema-compatibility/test/js/unit` + +The string schemas for testing are inside `dev/graphql_schemas` + +## Complexity score + +The **complexity score** is a figure that indicates how difficult is to upgrade from the current version to the new one. +*The lower this number is, the easier is to perform the upgrade*. + +Its lowest value will be 0, but it doesn't necessarily need to be a number between 0 and 100. + +This score is based on the results extracted from the analysis: number of issues identified and severity of them. + +SUT calculates this score according to the following **formulae**: + +``Complexity Score = 2 * (# of errors) + 1 * (# of warnings)`` + +## SUT Packaging and distribution + +### Packaging +To package just execute +`` +bin/package VERSION +`` +Example: +`` +bin/package 0.0.1 +`` + +This will generate a `sut.zip` file that we should upload to https://repo.magento.com + +### Distribution + +Go to https://repo.magento.com/admin/packagist/web/ceeerelease/create and create new release with next parameters: + + - Name: magento/safe-upgrade-tool-VERSION + - Availability Groups: By now it's internal + +![Create Release](images/createrelease.png) + +Go to https://repo.magento.com/admin/upload_m2_version to upload the `sut.zip` with next parameters: + + - Extension package: `sut.zip` + - Release: magento/safe-upgrade-tool-VERSION + - Edition: CE + +![Create Release](images/uploadversion.png) + +Finally, go to https://repo.magento.com/admin/packagist/web/version/list to check that the new version has been created. + +![Create Release](images/versions.png) + + +For more information: https://wiki.corp.magento.com/x/8wiiBw + + + +## SUT Tracking + +SUT Tracking is a small AWS lambda done with GO, the code is inside sut-tracking folder. + +### SUT Tracking develop and deploy + +More information in https://github.com/magento-commerce/safe-upgrade-tool-tracking + +## Third-party extensions + +Magento recommends that you contact your search engine vendor to determine whether your extension is fully compatible with Magento 2.4. \ No newline at end of file From 281a7b80bfa8858160a5999ce8ef730c0dfbf085 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Wed, 2 Dec 2020 15:34:46 +0100 Subject: [PATCH 02/69] Added dev topic for sut --- src/_data/toc/software-update-guide.yml | 3 +++ src/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.md | 3 +-- src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md | 7 +++++++ src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md | 4 ++-- 4 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md diff --git a/src/_data/toc/software-update-guide.yml b/src/_data/toc/software-update-guide.yml index 3b86df2fc1a..ec2494ee886 100644 --- a/src/_data/toc/software-update-guide.yml +++ b/src/_data/toc/software-update-guide.yml @@ -31,6 +31,9 @@ pages: - label: Use the safe upgrade tool url: /comp-mgr/sut/sut-welcome-guide.html + - label: Safe upgrade tool developer guide + url: /comp-mgr/sut/sut-dev-guide.html + - label: Magento Marketplace example url: /comp-mgr/marketplace/marketplace.html include_versions: ["2.3"] diff --git a/src/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.md b/src/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.md index c98b1ec58b8..cb73f53128f 100644 --- a/src/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.md +++ b/src/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.md @@ -4,8 +4,7 @@ title: Prerequisites for the safe upgrade tool functional_areas: - Upgrade --- - -Before you upgrade from Magento 2.3.x to Magento 2.4, you must check whether you are using MySQL, Elasticsearch, or a third-party extension as your catalog search engine in your Magento 2.3.x instance. The result determines what you must do **before** upgrading to Magento 2.4. +Before you upgrade to Magento 2.4, you must check whether you are using MySQL, Elasticsearch, or a third-party extension as your catalog search engine in your magento instance. The result determines what you must do **before** upgrading to Magento 2.4. The minimum requisites to run the Safe Upgrade Tool (SUT) are: diff --git a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md new file mode 100644 index 00000000000..76df29c2723 --- /dev/null +++ b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md @@ -0,0 +1,7 @@ +--- +group: software-update-guide +title: Safe upgrade tool +functional_areas: + - Upgrade +--- + diff --git a/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md index c4ec28f57ec..3b69a6eb9a6 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md @@ -1,6 +1,6 @@ --- group: software-update-guide -title: Safe upgrade tool +title: Safe upgrade tool developer guide functional_areas: - Upgrade --- @@ -20,7 +20,7 @@ SUT should run in any operating system. It is not required to run the tool where ## Memory limitations -The usage of memory depends entirely on the magento instance you are running. If you are running a system with large 3rd party modules and files, expect SUT to require a high RAM amount. +The usage of memory depends entirely on the magento instance you are running. If you are running a system with large third-party modules and files, expect SUT to require a high RAM amount. See the [SUT usage](https://github.com/magento-commerce/safe-upgrade-tool#sut-usage) topic for more information. From b312746c328a33f9a90ddccbcbde24f73a2ac7b1 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 11:08:30 +0100 Subject: [PATCH 03/69] Added diagram workflow SUT --- .../v2.4/comp-mgr/sut/img/mvp-diagram.png | Bin 0 -> 49843 bytes .../v2.4/comp-mgr/sut/prereq-sut-checklist.md | 7 +- src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md | 132 +++++++++++++++- .../v2.4/comp-mgr/sut/sut-welcome-guide.md | 148 ++---------------- 4 files changed, 144 insertions(+), 143 deletions(-) create mode 100644 src/guides/v2.4/comp-mgr/sut/img/mvp-diagram.png diff --git a/src/guides/v2.4/comp-mgr/sut/img/mvp-diagram.png b/src/guides/v2.4/comp-mgr/sut/img/mvp-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..ec72fa18b7404a08f15a504b97f497b40855d81c GIT binary patch literal 49843 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 Example of the SUT workflow + +![Diagram SUT](imag/mvp-diagram.png) + ## Prerequisites See the [prerequisites checklist for SUT](https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-upgrade.html) for the minimum requisites required to run SUT. @@ -180,141 +188,3 @@ Regarding the GraphQL schema compatibility comparison, the output would be very * [ERROR] FIELD_CHANGED_KIND: ConfigurableProduct.gender changed type from Int to String. * [WARNING] OPTIONAL_INPUT_FIELD_ADDED: An optional field sku on input type ProductAttributeSortInput was added. ``` -## Design - -This *diagram* shows how SUT has been designed and describes how it roughly works: -![MVP diagram - SUT](images/mvp-diagram.png) - -### More resources -You can find more resources here: https://github.com/magento/safe-upgrade-tool/wiki - -## M-Ray integration - -The integration with M-Ray is done through the interface: `Sut\Domain\MRay\MRayInterface`. - -Its implementation is injected through `config/services.yaml` and its value decides where the response of methods -`api()` and `modules()` comes from. - -You can edit this file to customize the response according to your needs. -Just replace the value assigned to `Sut\Domain\MRay\MRayInterface`. - -For instance, you can do the following: `Sut\Domain\MRay\MRayInterface : "@sut_mray_mock"` - -In this case, SUT is going to use `MRayMock` as the `MRayInterface` implementation -and the response of the methods `api()` and `modules()` will come -from `dev/mray_mock_files/api.json` and `dev/mray_mock_files/modules.json`. - -**Note**: When you make changes in `services.yaml`, -don't forget to delete the cache folder (`var/cache`) to apply them. - -## Unit testing - -To run the unit tests, you could execute one of the following commands: - -`vendor/bin/phpunit tests/unit` - -`vendor/bin/phpunit -c tests/unit/phpunit.xml.dist tests/unit` - -`vendor/bin/phpunit -c tests/unit/phpunit.xml.dist --testsuite=unit-tests` - -## Integration testing - -To run the integration tests, you could execute one of the following commands: - -`vendor/bin/phpunit -c tests/integration/phpunit.xml.dist tests/integration` - -`vendor/bin/phpunit -c tests/integration/phpunit.xml.dist --testsuite=integration-tests` - -## Acceptance testing - -Before executing this, you should need to set the magento url in the phpunit configuration file: - -- Copy the default file in `tests/acceptance/phpunit.xml` (without the .dist suffix) - -- Change the `TESTS_BASE_URL` to point to the magento url you want to test - -To run the acceptance tests, you could execute one of the following commands: - -`vendor/bin/phpunit -c tests/acceptance/phpunit.xml tests/acceptance` - -`vendor/bin/phpunit -c tests/acceptance/phpunit.xml --testsuite=acceptance-tests` - -## JS Unit testing for graphql - -We used the framework **jest** to create these tests: -`https://jestjs.io/docs/en/getting-started.html` - -To run the js unit tests for graphql you need to have NodeJS installed: - -Go inside `graphql-schema-compatibility` folder and run `npm install` - -Then you can execute `npm run unit-test` or `jest` - -The tests are inside `graphql-schema-compatibility/test/js/unit` - -The string schemas for testing are inside `dev/graphql_schemas` - -## Complexity score - -The **complexity score** is a figure that indicates how difficult is to upgrade from the current version to the new one. -*The lower this number is, the easier is to perform the upgrade*. - -Its lowest value will be 0, but it doesn't necessarily need to be a number between 0 and 100. - -This score is based on the results extracted from the analysis: number of issues identified and severity of them. - -SUT calculates this score according to the following **formulae**: - -``Complexity Score = 2 * (# of errors) + 1 * (# of warnings)`` - -## SUT Packaging and distribution - -### Packaging -To package just execute -`` -bin/package VERSION -`` -Example: -`` -bin/package 0.0.1 -`` - -This will generate a `sut.zip` file that we should upload to https://repo.magento.com - -### Distribution - -Go to https://repo.magento.com/admin/packagist/web/ceeerelease/create and create new release with next parameters: - - - Name: magento/safe-upgrade-tool-VERSION - - Availability Groups: By now it's internal - -![Create Release](images/createrelease.png) - -Go to https://repo.magento.com/admin/upload_m2_version to upload the `sut.zip` with next parameters: - - - Extension package: `sut.zip` - - Release: magento/safe-upgrade-tool-VERSION - - Edition: CE - -![Create Release](images/uploadversion.png) - -Finally, go to https://repo.magento.com/admin/packagist/web/version/list to check that the new version has been created. - -![Create Release](images/versions.png) - - -For more information: https://wiki.corp.magento.com/x/8wiiBw - - - -## SUT Tracking - -SUT Tracking is a small AWS lambda done with GO, the code is inside sut-tracking folder. - -### SUT Tracking develop and deploy - -More information in https://github.com/magento-commerce/safe-upgrade-tool-tracking - -## Third-party extensions - -Magento recommends that you contact your search engine vendor to determine whether your extension is fully compatible with Magento 2.4. \ No newline at end of file From 0b31ee8ec06f9c1461607d5d8636a3cd6926f585 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 11:13:12 +0100 Subject: [PATCH 04/69] Fixed issues --- .../v2.4/comp-mgr/sut/prereq-sut-checklist.md | 2 +- .../v2.4/comp-mgr/sut/sut-welcome-guide.md | 22 ++++++++----------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/src/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.md b/src/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.md index d4d8766e3e8..9b1e8bee514 100644 --- a/src/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.md +++ b/src/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.md @@ -21,4 +21,4 @@ The minimum requisites to run SUT are: {:.bs-callout .bs-callout-info} SUT should run in any operating system. It is not required to run the tool where your magento instance is located. -Refer to the [Safe upgrade tool welcome guide]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/sut-welcome-guide.html) for full instructions on how to install these prerequisites. +Refer to the [Safe upgrade tool installation guide]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/sut-welcome-guide.html#sut-installation) for full instructions on how to install these prerequisites. diff --git a/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md index 611336cf90a..99550ec3015 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md @@ -13,29 +13,19 @@ The goal of SUT is to identify which potential problems you will have to fix wit ## SUT Workflow -The following diagram shows how workflow of the SUT tool is expected to function: +The following diagram shows the expected workflow of running SUT: > Example of the SUT workflow -![Diagram SUT](imag/mvp-diagram.png) +![SUT Diagram](img/mvp-diagram.png) ## Prerequisites -See the [prerequisites checklist for SUT](https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-upgrade.html) for the minimum requisites required to run SUT. +See the [prerequisites checklist for SUT]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.html) for the minimum requisites required to run SUT. {:.bs-callout .bs-callout-info} SUT should run in any operating system. It is not required to run the tool where your magento instance is located. -## Memory limitations - -The usage of memory depends entirely on the magento instance you are running. If you are running a system with large third-party modules and files, expect SUT to require a high RAM amount. - -See the [SUT usage](https://github.com/magento-commerce/safe-upgrade-tool#sut-usage) topic for more information. - -## Documentation - -See the [readme](https://github.com/magento-commerce/safe-upgrade-tool/blob/develop/docs/README.md) file for more technical information on SUT. - ## SUT installation ### Magento access keys @@ -77,6 +67,12 @@ To install _Node.js_ in your system, check the [_Node.js_](https://nodejs.dev/le ## SUT usage +### Memory limitations + +When running SUT, the usage of memory depends entirely on the magento instance you are running. If you are running a system with large third-party modules and files, expect SUT to require a high RAM amount. + +See the [SUT usage](https://github.com/magento-commerce/safe-upgrade-tool#sut-usage) topic for more information. + ### Executing the tool Execute the tool by running the following command: From 1fc73e49a7244b92f197d1c892909d0845decf03 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 11:28:53 +0100 Subject: [PATCH 05/69] Created use guide and divided install and welcome guide --- src/_data/toc/software-update-guide.yml | 7 +- .../v2.4/comp-mgr/sut/prereq-sut-checklist.md | 2 +- src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md | 6 +- .../v2.4/comp-mgr/sut/sut-welcome-guide.md | 146 +++--------------- src/guides/v2.4/comp-mgr/sut/use-sut-guide.md | 132 ++++++++++++++++ 5 files changed, 157 insertions(+), 136 deletions(-) create mode 100644 src/guides/v2.4/comp-mgr/sut/use-sut-guide.md diff --git a/src/_data/toc/software-update-guide.yml b/src/_data/toc/software-update-guide.yml index ec2494ee886..e4242667efb 100644 --- a/src/_data/toc/software-update-guide.yml +++ b/src/_data/toc/software-update-guide.yml @@ -28,10 +28,13 @@ pages: - label: Check prerequisites for the safe upgrade tool url: /comp-mgr/sut/prereq-sut-checklist.html - - label: Use the safe upgrade tool + - label: Install the safe upgrade tool url: /comp-mgr/sut/sut-welcome-guide.html - - label: Safe upgrade tool developer guide + - label: Use the safe upgrade tool + url: /comp-mgr/sut/use-sut-guide.html + + - label: Developer mode for the safe upgrade tool url: /comp-mgr/sut/sut-dev-guide.html - label: Magento Marketplace example diff --git a/src/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.md b/src/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.md index 9b1e8bee514..e883432c71d 100644 --- a/src/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.md +++ b/src/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.md @@ -1,6 +1,6 @@ --- group: software-update-guide -title: Prerequisites for the safe upgrade tool +title: Check prerequisites for the safe upgrade tool functional_areas: - Upgrade --- diff --git a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md index 4066b225584..039f8ad1093 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md @@ -1,6 +1,6 @@ --- group: software-update-guide -title: Safe upgrade tool developer guide +title: Developer mode for the safe upgrade tool functional_areas: - Upgrade --- @@ -131,7 +131,3 @@ SUT Tracking is a small AWS lambda done with GO, the code is inside sut-tracking ### SUT Tracking develop and deploy More information in https://github.com/magento-commerce/safe-upgrade-tool-tracking - -## Third-party extensions - -Magento recommends that you contact your search engine vendor to determine whether your extension is fully compatible with Magento 2.4. \ No newline at end of file diff --git a/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md index 99550ec3015..34960cef8c7 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md @@ -1,6 +1,6 @@ --- group: software-update-guide -title: Safe upgrade tool +title: Install the safe upgrade tool functional_areas: - Upgrade --- @@ -9,11 +9,9 @@ Welcome to the Magento Safe Upgrade Tool (SUT). SUT is a CLI tool that checks a magento instance against a specific version by analysing all the non-magento modules installed in it. -The goal of SUT is to identify which potential problems you will have to fix within your customized code when trying to upgrade to a newer Magento version. When running the tool you will get a list of errors and warnings that you will have to take into account to complete the upgrade to the desired version. - ## SUT Workflow -The following diagram shows the expected workflow of running SUT: +The following diagram shows the expected workflow when running SUT: > Example of the SUT workflow @@ -28,15 +26,21 @@ SUT should run in any operating system. It is not required to run the tool where ## SUT installation +In order to install SUT, it is required that you check/install the necessary prerequisites mentioned earlier: + +- Magento access keys +- Composer +- Node.js + ### Magento access keys -As mentioned earlier, check that you have the **Magento access keys** in your system. If you do not have them, create an account at [marketplace.magento.com](https://marketplace.magento.com/). +Check that you have the **Magento access keys** in your system. If you do not have them, create an account at the [Magento marketplace](https://marketplace.magento.com/). -Then, you will be able to create these **Magento access keys**. +Then, you will be able to create the **Magento access keys**. -See the [access keys guide](https://devdocs.magento.com/marketplace/sellers/profile-information.html#access-keys) topic for more information. +See the [Access keys guide]({{page.baseurl}}/marketplace/sellers/profile-information.html#access-keys) topic for more information on creating access keys. -Once you create the access keys, add them to your `auth.json` file, which is located by default `~/.composer`. +Once you create the access keys, add them to your `auth.json` file, which is located by default in your `~/.composer` folder. {:.bs-callout .bs-callout-warning} Check your **COMPOSER_HOME** environment variable to see where the `auth.json` file is located. @@ -45,7 +49,7 @@ The **public key** corresponds to the _username_ whereas the **private key** is > Example of Magento access keys -``` +```json "http-basic": { "repo.magento.com": { "username": "YOUR_MAGENTO_PUBLIC_KEY", @@ -56,131 +60,17 @@ The **public key** corresponds to the _username_ whereas the **private key** is ### Composer -Clone this repository and, from the **safe-upgrade-tool** folder run `composer install` to install its dependencies. +Clone this repository and, from the **safe-upgrade-tool** folder run `composer install` in your terminal to install its dependencies. {:.bs-callout .bs-callout-warning} -If the **Magento access keys** are not correctly configured, SUT will not be fully installed and you will get errors when running the `composer install` command. +If the **Magento access keys** are not correctly configured, SUT will not be fully installed and you will get errors when running the `composer install` command in your terminal. ### Node.js To install _Node.js_ in your system, check the [_Node.js_](https://nodejs.dev/learn/how-to-install-nodejs) page for more information. -## SUT usage - -### Memory limitations - -When running SUT, the usage of memory depends entirely on the magento instance you are running. If you are running a system with large third-party modules and files, expect SUT to require a high RAM amount. - -See the [SUT usage](https://github.com/magento-commerce/safe-upgrade-tool#sut-usage) topic for more information. - -### Executing the tool - -Execute the tool by running the following command: - -> Run SUT - -`bin/sut upgrade:check INSTALLATION_DIR`. - -{:.bs-callout .bs-callout-info} -It is recommended to run `php -d memory_limit=-1 /bin/sut` to avoid memory limitations, as described earlier. - -`INSTALLATION_DIR` is the directory where the Magento instance is located. - -Run `bin/sut --help` to get all the different possibilities and options available when running SUT. - -### GraphQL schema compatibility verification - -SUT also provides the option to introspect two GraphQL endpoints and compare their schemas looking for breaking and dangerous changes between them: - -> Run SUT GraphQL - -`bin/sut graphql:compare https://domain1.com/graphql https://domain2.com/graphql` - -### Arguments and options - -#### Version - -You can compare your current Magento 2 installation with Magento versions `>=2.3`. - -You need to provide the version as a parameter when running the command: - -> Providing the version - -`bin/sut upgrade:check INSTALLATION_DIR -c 2.4.1`. +## Third-party extensions -There are some limitations: +Magento recommends that you contact your search engine vendor to determine whether your extension is fully compatible with Magento 2.4. -- This parameter refers to any tag that identifies a specific version of Magento. -- It is a requirement to provide this one explicitly; providing only the value of it will not work. -- Provide the tag version without any quotation marks (neither single nor double): ~~'2.4.1-develop'~~. -- You should NOT provide older versions than the one you have currently installed, nor older than 2.3, which is the oldest one supported at the moment. - -#### Full report - -You can also get a full report containing both _PHP-related_ errors and GraphQL. In this case, you need to provide at least the following options: - -- --schema1=SCHEMA1 -- --schema2=SCHEMA2 -- INSTALLATION_DIR - -> Example of bin/sut command - -`bin/sut upgrade:check --schema1=https://domain1.com/graphql --schema2=https://domain2.com/graphql -c 2.4.1 INSTALLATION_DIR` - -### Output - -It provides a report identifying the affected non-magento modules, the severity and the description of the problem for every issue -encountered: - -> Example with a list of errors/warnings - -``` -File: /app/code/Custom/CatalogExtension/Controller/Index/Index.php ------------------------------------------------------------------- - - * [ERROR] Line 84: Used nonexistent or non Magento API interface 'Magento\Catalog\Model\ProductRepositoryInterface' - * [WARNING] Line 6: Importing Magento @deprecated class 'Magento\Catalog\Model\ProductRepository' -``` - -Apart from that, the report also includes a detailed _summary_: - -- *Installed Version*: the version currently installed. -- *Magento Version*: the version you want to upgrade to. -- *Running time*: amount of time the analysis took to build the report (mm:ss). -- *Checked modules*: amount of modules installed in the current magento version examined during the analysis. -- *PHP errors found*: amount of PHP errors. -- *PHP warnings found*: amount of PHP warnings. -- *GraphQL errors found*: amount of GraphQL errors. -- *GraphQL warnings found*: amount of GraphQL warnings. -- *Total errors found*: total amount of errors found. -- *Total warnings found*: total amount of warnings found. -- *Complexity score*: a figure that indicates how difficult is to upgrade from the current version to the new one. - -The lower this number is, the easier is to perform the upgrade. - -> Example of a summary - -``` - ------------------------ -------- - Installed version 2.3.5 - Magento version 2.4.1 - Running time 0m:48s - Checked modules 60 - PHP errors found 162 - PHP warnings found 120 - GraphQL errors found 19 - GraphQL warnings found 0 - Total errors found 181 - Total warnings found 120 - Complexity score 482 - ------------------------ -------- -``` - -Regarding the GraphQL schema compatibility comparison, the output would be very similar to the previous one: - -> Example with a list of errors/warnings for GraphQL - -``` - * [ERROR] FIELD_CHANGED_KIND: ConfigurableProduct.gender changed type from Int to String. - * [WARNING] OPTIONAL_INPUT_FIELD_ADDED: An optional field sku on input type ProductAttributeSortInput was added. -``` +See the [use SUT guide]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/use-sut-guide.html) for information about running SUT. \ No newline at end of file diff --git a/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md b/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md new file mode 100644 index 00000000000..725c519a83e --- /dev/null +++ b/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md @@ -0,0 +1,132 @@ +--- +group: software-update-guide +title: Use the safe upgrade tool +functional_areas: + - Upgrade +--- + +SUT is a CLI tool that checks a magento instance against a specific version by analysing all the non-magento modules installed in it. + +SUT identifies which potential problems you have to fix within your customized code when trying to upgrade to a newer magento version. + +Running the tool will return a list of errors and warnings that you will have to take into account to complete the upgrade to the desired version. + +## Use SUT + +### Memory limitations + +When running SUT, the usage of memory depends entirely on the magento instance you are running. If you are running a system with large third-party modules and files, expect SUT to require a high RAM amount. + +See the [SUT usage](https://github.com/magento-commerce/safe-upgrade-tool#sut-usage) topic for more information. + +### Executing the tool + +Execute the tool by running the following command: + +> Run SUT + +`bin/sut upgrade:check INSTALLATION_DIR`. + +{:.bs-callout .bs-callout-info} +It is recommended to run `php -d memory_limit=-1 /bin/sut` to avoid memory limitations, as described earlier. + +`INSTALLATION_DIR` is the directory where the Magento instance is located. + +Run `bin/sut --help` to get all the different possibilities and options available when running SUT. + +### GraphQL schema compatibility verification + +SUT also provides the option to introspect two GraphQL endpoints and compare their schemas looking for breaking and dangerous changes between them: + +> Run SUT GraphQL + +`bin/sut graphql:compare https://domain1.com/graphql https://domain2.com/graphql` + +### Arguments and options + +#### Version + +You can compare your current Magento 2 installation with Magento versions `>=2.3`. + +You need to provide the version as a parameter when running the command: + +> Providing the version + +`bin/sut upgrade:check INSTALLATION_DIR -c 2.4.1`. + +There are some limitations: + +- This parameter refers to any tag that identifies a specific version of Magento. +- It is a requirement to provide this one explicitly; providing only the value of it will not work. +- Provide the tag version without any quotation marks (neither single nor double): ~~'2.4.1-develop'~~. +- You should NOT provide older versions than the one you have currently installed, nor older than 2.3, which is the oldest one supported at the moment. + +#### Full report + +You can also get a full report containing both _PHP-related_ errors and GraphQL. In this case, you need to provide at least the following options: + +- --schema1=SCHEMA1 +- --schema2=SCHEMA2 +- INSTALLATION_DIR + +> Example of bin/sut command + +`bin/sut upgrade:check --schema1=https://domain1.com/graphql --schema2=https://domain2.com/graphql -c 2.4.1 INSTALLATION_DIR` + +### Output + +It provides a report identifying the affected non-magento modules, the severity and the description of the problem for every issue +encountered: + +> Example with a list of errors/warnings + +``` +File: /app/code/Custom/CatalogExtension/Controller/Index/Index.php +------------------------------------------------------------------ + + * [ERROR] Line 84: Used nonexistent or non Magento API interface 'Magento\Catalog\Model\ProductRepositoryInterface' + * [WARNING] Line 6: Importing Magento @deprecated class 'Magento\Catalog\Model\ProductRepository' +``` + +Apart from that, the report also includes a detailed _summary_: + +- *Installed Version*: the version currently installed. +- *Magento Version*: the version you want to upgrade to. +- *Running time*: amount of time the analysis took to build the report (mm:ss). +- *Checked modules*: amount of modules installed in the current magento version examined during the analysis. +- *PHP errors found*: amount of PHP errors. +- *PHP warnings found*: amount of PHP warnings. +- *GraphQL errors found*: amount of GraphQL errors. +- *GraphQL warnings found*: amount of GraphQL warnings. +- *Total errors found*: total amount of errors found. +- *Total warnings found*: total amount of warnings found. +- *Complexity score*: a figure that indicates how difficult is to upgrade from the current version to the new one. + +The lower this number is, the easier is to perform the upgrade. + +> Example of a summary + +``` + ------------------------ -------- + Installed version 2.3.5 + Magento version 2.4.1 + Running time 0m:48s + Checked modules 60 + PHP errors found 162 + PHP warnings found 120 + GraphQL errors found 19 + GraphQL warnings found 0 + Total errors found 181 + Total warnings found 120 + Complexity score 482 + ------------------------ -------- +``` + +Regarding the GraphQL schema compatibility comparison, the output would be very similar to the previous one: + +> Example with a list of errors/warnings for GraphQL + +``` + * [ERROR] FIELD_CHANGED_KIND: ConfigurableProduct.gender changed type from Int to String. + * [WARNING] OPTIONAL_INPUT_FIELD_ADDED: An optional field sku on input type ProductAttributeSortInput was added. +``` From 15b32d2da22a7313d5f5041dd92ff883425076d8 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 11:37:41 +0100 Subject: [PATCH 06/69] Reviewed topic and fixed issues --- src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md | 2 -- src/guides/v2.4/comp-mgr/sut/use-sut-guide.md | 18 ++++++++---------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md index 039f8ad1093..4cc86c1b0e6 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md @@ -122,8 +122,6 @@ Finally, go to https://repo.magento.com/admin/packagist/web/version/list to chec For more information: https://wiki.corp.magento.com/x/8wiiBw - - ## SUT Tracking SUT Tracking is a small AWS lambda done with GO, the code is inside sut-tracking folder. diff --git a/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md b/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md index 725c519a83e..43f36838b4b 100644 --- a/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md @@ -17,8 +17,6 @@ Running the tool will return a list of errors and warnings that you will have to When running SUT, the usage of memory depends entirely on the magento instance you are running. If you are running a system with large third-party modules and files, expect SUT to require a high RAM amount. -See the [SUT usage](https://github.com/magento-commerce/safe-upgrade-tool#sut-usage) topic for more information. - ### Executing the tool Execute the tool by running the following command: @@ -54,7 +52,7 @@ You need to provide the version as a parameter when running the command: `bin/sut upgrade:check INSTALLATION_DIR -c 2.4.1`. -There are some limitations: +There are some limitations running that command: - This parameter refers to any tag that identifies a specific version of Magento. - It is a requirement to provide this one explicitly; providing only the value of it will not work. @@ -69,7 +67,7 @@ You can also get a full report containing both _PHP-related_ errors and GraphQL. - --schema2=SCHEMA2 - INSTALLATION_DIR -> Example of bin/sut command +> Example of a bin/sut command `bin/sut upgrade:check --schema1=https://domain1.com/graphql --schema2=https://domain2.com/graphql -c 2.4.1 INSTALLATION_DIR` @@ -80,7 +78,7 @@ encountered: > Example with a list of errors/warnings -``` +```json File: /app/code/Custom/CatalogExtension/Controller/Index/Index.php ------------------------------------------------------------------ @@ -88,7 +86,7 @@ File: /app/code/Custom/CatalogExtension/Controller/Index/Index.php * [WARNING] Line 6: Importing Magento @deprecated class 'Magento\Catalog\Model\ProductRepository' ``` -Apart from that, the report also includes a detailed _summary_: +The report also includes a detailed summary: - *Installed Version*: the version currently installed. - *Magento Version*: the version you want to upgrade to. @@ -104,9 +102,9 @@ Apart from that, the report also includes a detailed _summary_: The lower this number is, the easier is to perform the upgrade. -> Example of a summary +> Example of a summary report -``` +```json ------------------------ -------- Installed version 2.3.5 Magento version 2.4.1 @@ -122,11 +120,11 @@ The lower this number is, the easier is to perform the upgrade. ------------------------ -------- ``` -Regarding the GraphQL schema compatibility comparison, the output would be very similar to the previous one: +Regarding the GraphQL schema compatibility comparison, the output would be very similar: > Example with a list of errors/warnings for GraphQL -``` +```json * [ERROR] FIELD_CHANGED_KIND: ConfigurableProduct.gender changed type from Int to String. * [WARNING] OPTIONAL_INPUT_FIELD_ADDED: An optional field sku on input type ProductAttributeSortInput was added. ``` From 28d9db45389d59e0beb6751b005c2e4e7da29692 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 11:57:26 +0100 Subject: [PATCH 07/69] Reviewed topic and fixed issues --- .../v2.4/comp-mgr/sut/prereq-sut-checklist.md | 2 +- src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md | 32 ++++++++++++------- src/guides/v2.4/comp-mgr/sut/use-sut-guide.md | 2 +- 3 files changed, 22 insertions(+), 14 deletions(-) diff --git a/src/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.md b/src/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.md index e883432c71d..7f547be2918 100644 --- a/src/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.md +++ b/src/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.md @@ -21,4 +21,4 @@ The minimum requisites to run SUT are: {:.bs-callout .bs-callout-info} SUT should run in any operating system. It is not required to run the tool where your magento instance is located. -Refer to the [Safe upgrade tool installation guide]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/sut-welcome-guide.html#sut-installation) for full instructions on how to install these prerequisites. +Refer to the [Safe upgrade tool installation guide]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/sut-welcome-guide.html) for full instructions on how to install these prerequisites. diff --git a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md index 4cc86c1b0e6..6e7ab2d543d 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md @@ -1,28 +1,36 @@ --- group: software-update-guide -title: Developer mode for the safe upgrade tool +title: Developer information for the safe upgrade tool functional_areas: - Upgrade --- +This topic contains information for developers who want to know more technical information about the Magento Safe Upgrade Tool (SUT). With this knowledge you can familiarize yourself with SUT in order to customize any of the existing components in the tool. + ## M-Ray integration -The integration with M-Ray is done through the interface: `Sut\Domain\MRay\MRayInterface`. +The integration with M-Ray is done through: + +`Sut\Domain\MRay\MRayInterface` + +Its implementation is through the `config/services.yaml` file. Its value decides where the response of methods `api()` and `modules()` comes from. + +This file can be edited to customize the response according to your installation. Just replace the value assigned to `Sut\Domain\MRay\MRayInterface`: + +> Example of a custom value -Its implementation is injected through `config/services.yaml` and its value decides where the response of methods -`api()` and `modules()` comes from. +`Sut\Domain\MRay\MRayInterface : "@sut_mray_mock"` -You can edit this file to customize the response according to your needs. -Just replace the value assigned to `Sut\Domain\MRay\MRayInterface`. +In this example, SUT uses `MRayMock` as the `MRayInterface` implementation. Then, the responses of the methods `api()` and `modules()` come +from: -For instance, you can do the following: `Sut\Domain\MRay\MRayInterface : "@sut_mray_mock"` +- `dev/mray_mock_files/api.json` +- `dev/mray_mock_files/modules.json` -In this case, SUT is going to use `MRayMock` as the `MRayInterface` implementation -and the response of the methods `api()` and `modules()` will come -from `dev/mray_mock_files/api.json` and `dev/mray_mock_files/modules.json`. +{:.bs-callout .bs-callout-info} +When you make changes in `services.yaml`, delete the cache folder (`var/cache`) to correctly apply them. -**Note**: When you make changes in `services.yaml`, -don't forget to delete the cache folder (`var/cache`) to apply them. +See the [magento extensions](https://docs.magento.com/user-guide/magento/magento-extensions.html) topic for more information on extensions developed and released by Magento. ## Unit testing diff --git a/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md b/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md index 43f36838b4b..b6f991d1421 100644 --- a/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md @@ -5,7 +5,7 @@ functional_areas: - Upgrade --- -SUT is a CLI tool that checks a magento instance against a specific version by analysing all the non-magento modules installed in it. +Magento Safe Upgrade Tool (SUT) is a CLI tool that checks a magento instance against a specific version by analysing all the non-magento modules installed in it. SUT identifies which potential problems you have to fix within your customized code when trying to upgrade to a newer magento version. From f46513ed96c8741606bf76e92d74787765a0b23a Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 11:58:17 +0100 Subject: [PATCH 08/69] Fixed url --- src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md index 34960cef8c7..3b01016e6f0 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md @@ -38,7 +38,7 @@ Check that you have the **Magento access keys** in your system. If you do not ha Then, you will be able to create the **Magento access keys**. -See the [Access keys guide]({{page.baseurl}}/marketplace/sellers/profile-information.html#access-keys) topic for more information on creating access keys. +See the [Access keys guide]({{page.baseurl}}/marketplace/sellers/profile-information.html) topic for more information on creating access keys. Once you create the access keys, add them to your `auth.json` file, which is located by default in your `~/.composer` folder. From d4e85f538d524c717872c4d801002a504801dee4 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 12:00:59 +0100 Subject: [PATCH 09/69] Reviewed dev topic and fixed issues --- src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md | 24 +++++++++---------- src/guides/v2.4/comp-mgr/sut/use-sut-guide.md | 2 ++ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md index 6e7ab2d543d..68d76805cd3 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md @@ -36,33 +36,31 @@ See the [magento extensions](https://docs.magento.com/user-guide/magento/magento To run the unit tests, you could execute one of the following commands: -`vendor/bin/phpunit tests/unit` +- `vendor/bin/phpunit tests/unit` -`vendor/bin/phpunit -c tests/unit/phpunit.xml.dist tests/unit` +- `vendor/bin/phpunit -c tests/unit/phpunit.xml.dist tests/unit` -`vendor/bin/phpunit -c tests/unit/phpunit.xml.dist --testsuite=unit-tests` +- `vendor/bin/phpunit -c tests/unit/phpunit.xml.dist --testsuite=unit-tests` ## Integration testing To run the integration tests, you could execute one of the following commands: -`vendor/bin/phpunit -c tests/integration/phpunit.xml.dist tests/integration` +- `vendor/bin/phpunit -c tests/integration/phpunit.xml.dist tests/integration` -`vendor/bin/phpunit -c tests/integration/phpunit.xml.dist --testsuite=integration-tests` +- `vendor/bin/phpunit -c tests/integration/phpunit.xml.dist --testsuite=integration-tests` ## Acceptance testing -Before executing this, you should need to set the magento url in the phpunit configuration file: +1. Before executing the acceptance tests, you need to set the magento url in the `phpunit` configuration file. +1. Copy the default file in `tests/acceptance/phpunit.xml` (without the .dist suffix) +1. Change the `TESTS_BASE_URL` to point to the magento url you want to test -- Copy the default file in `tests/acceptance/phpunit.xml` (without the .dist suffix) +Thenn, to run the acceptance tests, you could execute one of the following commands: -- Change the `TESTS_BASE_URL` to point to the magento url you want to test +- `vendor/bin/phpunit -c tests/acceptance/phpunit.xml tests/acceptance` -To run the acceptance tests, you could execute one of the following commands: - -`vendor/bin/phpunit -c tests/acceptance/phpunit.xml tests/acceptance` - -`vendor/bin/phpunit -c tests/acceptance/phpunit.xml --testsuite=acceptance-tests` +- `vendor/bin/phpunit -c tests/acceptance/phpunit.xml --testsuite=acceptance-tests` ## JS Unit testing for graphql diff --git a/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md b/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md index b6f991d1421..e905129bbaf 100644 --- a/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md @@ -128,3 +128,5 @@ Regarding the GraphQL schema compatibility comparison, the output would be very * [ERROR] FIELD_CHANGED_KIND: ConfigurableProduct.gender changed type from Int to String. * [WARNING] OPTIONAL_INPUT_FIELD_ADDED: An optional field sku on input type ProductAttributeSortInput was added. ``` + +See the [Developer information for the safe upgrade tool guide]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/use-sut-guide.html) for detailed technical information about SUT. From 77f4b67f190896799992d2a8ab10c3425fe06c07 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 12:04:11 +0100 Subject: [PATCH 10/69] fixed in toc url --- src/_data/toc/software-update-guide.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_data/toc/software-update-guide.yml b/src/_data/toc/software-update-guide.yml index e4242667efb..6036aba4381 100644 --- a/src/_data/toc/software-update-guide.yml +++ b/src/_data/toc/software-update-guide.yml @@ -34,7 +34,7 @@ pages: - label: Use the safe upgrade tool url: /comp-mgr/sut/use-sut-guide.html - - label: Developer mode for the safe upgrade tool + - label: Developer information for the safe upgrade tool url: /comp-mgr/sut/sut-dev-guide.html - label: Magento Marketplace example From 076644227874f2f4a62e873f4baabf71b6f4e036 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 12:26:16 +0100 Subject: [PATCH 11/69] Added sut tracking page and reorganized pages --- src/_data/toc/software-update-guide.yml | 3 + src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md | 83 ++++++++++--------- src/guides/v2.4/comp-mgr/sut/sut-tracking.md | 47 +++++++++++ .../v2.4/comp-mgr/sut/sut-welcome-guide.md | 14 ++++ 4 files changed, 106 insertions(+), 41 deletions(-) create mode 100644 src/guides/v2.4/comp-mgr/sut/sut-tracking.md diff --git a/src/_data/toc/software-update-guide.yml b/src/_data/toc/software-update-guide.yml index 6036aba4381..e11b0aa4577 100644 --- a/src/_data/toc/software-update-guide.yml +++ b/src/_data/toc/software-update-guide.yml @@ -37,6 +37,9 @@ pages: - label: Developer information for the safe upgrade tool url: /comp-mgr/sut/sut-dev-guide.html + - label: Track the safe upgrade tool + url: /comp-mgr/sut/sut-tracking.html + - label: Magento Marketplace example url: /comp-mgr/marketplace/marketplace.html include_versions: ["2.3"] diff --git a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md index 68d76805cd3..742bb666298 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md @@ -62,76 +62,77 @@ Thenn, to run the acceptance tests, you could execute one of the following comma - `vendor/bin/phpunit -c tests/acceptance/phpunit.xml --testsuite=acceptance-tests` -## JS Unit testing for graphql +## JS unit testing for graphql + +We used the **jest** framework to create these JS unit tests: -We used the framework **jest** to create these tests: `https://jestjs.io/docs/en/getting-started.html` -To run the js unit tests for graphql you need to have NodeJS installed: +{:.bs-callout .bs-callout-info} +To run the js unit tests for graphql you need to have NodeJS installed. -Go inside `graphql-schema-compatibility` folder and run `npm install` +### Node.js -Then you can execute `npm run unit-test` or `jest` +To install _Node.js_ in your system, check the [_Node.js_](https://nodejs.dev/learn/how-to-install-nodejs) page for more information. -The tests are inside `graphql-schema-compatibility/test/js/unit` +In case you have MacOS: -The string schemas for testing are inside `dev/graphql_schemas` +1. Go inside `graphql-schema-compatibility` folder and run `npm install` +1. Then, you can execute `npm run unit-test` or `jest` +1. The tests are inside `graphql-schema-compatibility/test/js/unit` +1. The string schemas for testing are inside `dev/graphql_schemas` ## Complexity score -The **complexity score** is a figure that indicates how difficult is to upgrade from the current version to the new one. -*The lower this number is, the easier is to perform the upgrade*. +The **complexity score** is a figure that indicates how difficult is to upgrade from the current version to the new one: -Its lowest value will be 0, but it doesn't necessarily need to be a number between 0 and 100. +> Example of a **complexity score** message + +*The lower this number is, the easier is to perform the upgrade* -This score is based on the results extracted from the analysis: number of issues identified and severity of them. +{:.bs-callout .bs-callout-info} +Its lowest value will be 0, but it doesn't necessarily need to be a number between 0 and 100. -SUT calculates this score according to the following **formulae**: +This score is based on the results extracted from the analysis: -``Complexity Score = 2 * (# of errors) + 1 * (# of warnings)`` +- Number of issues identified +- Severity of issues identified -## SUT Packaging and distribution +SUT calculates this score according to the following formula: -### Packaging -To package just execute -`` -bin/package VERSION -`` -Example: -`` -bin/package 0.0.1 -`` +> Complexity score formula -This will generate a `sut.zip` file that we should upload to https://repo.magento.com +``Complexity Score = 2 * (# of errors) + 1 * (# of warnings)`` -### Distribution +## SUT packaging -Go to https://repo.magento.com/admin/packagist/web/ceeerelease/create and create new release with next parameters: +1. To package SUT execute: - - Name: magento/safe-upgrade-tool-VERSION - - Availability Groups: By now it's internal +`bin/package VERSION` -![Create Release](images/createrelease.png) +> An exampple of SUT packaging -Go to https://repo.magento.com/admin/upload_m2_version to upload the `sut.zip` with next parameters: +`bin/package 0.0.1` - - Extension package: `sut.zip` - - Release: magento/safe-upgrade-tool-VERSION - - Edition: CE +1. This generates a `sut.zip` file that we it is uploaded to the [Magento repo page](https://repo.magento.com). -![Create Release](images/uploadversion.png) +## SUT distribution -Finally, go to https://repo.magento.com/admin/packagist/web/version/list to check that the new version has been created. +In order to distribute SUT: -![Create Release](images/versions.png) +1. Go to the [Magento create repo](https://repo.magento.com/admin/packagist/web/ceeerelease/create) topic and create a new release with the following parameters: + - Name: magento/safe-upgrade-tool-VERSION + - Availability Groups: By now it's internal -For more information: https://wiki.corp.magento.com/x/8wiiBw +1. Go to the [Magento upload repo](https://repo.magento.com/admin/upload_m2_version) topic to upload the `sut.zip` with the following parameters: -## SUT Tracking + - Extension package: `sut.zip` + - Release: `magento/safe-upgrade-tool-VERSION` + - Edition: CE -SUT Tracking is a small AWS lambda done with GO, the code is inside sut-tracking folder. +1. Finally, go to the [Magento version repo](https://repo.magento.com/admin/packagist/web/version/list) topic to check that the new version has been created. -### SUT Tracking develop and deploy +## SUT tracking -More information in https://github.com/magento-commerce/safe-upgrade-tool-tracking +SUT tracking is a small AWS lambda done with GO. The code is available in the the [SUT github repository](https://github.com/magento-commerce/safe-upgrade-tool), inside the `sut-tracking` folder. diff --git a/src/guides/v2.4/comp-mgr/sut/sut-tracking.md b/src/guides/v2.4/comp-mgr/sut/sut-tracking.md new file mode 100644 index 00000000000..d1f5a07b0af --- /dev/null +++ b/src/guides/v2.4/comp-mgr/sut/sut-tracking.md @@ -0,0 +1,47 @@ +--- +group: software-update-guide +title: Track the safe upgrade tool +functional_areas: + - Upgrade +--- + +SUT tracking is a small AWS lambda done with GO. The code is available in the [SUT github repository](https://github.com/magento-commerce/safe-upgrade-tool), inside the `sut-tracking` folder. + +## SUT tracking develop and deploy + +This is a lambda implemented in GOLANG to receive tracking requests from SUT https://github.com/magento-commerce/safe-upgrade-tool and store it in NewRelic. + +## Requirements +### ASW Sam Cli +``` +brew install aws-sam-cli +``` +### ASW Cli +``` +curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" +sudo installer -pkg AWSCLIV2.pkg -target / +``` +## Development +``` +sam build +sam local start-api +``` +Lambda will run in http://127.0.0.1:3000/ + +## Deploy +- Go to KLAM https://klam.corp.adobe.com/ +- Go to CLI > Bash -> Copy content and paste in the console +- Edit template.yaml and set NEW_RELIC_API_KEY with a valid new relic api key. +- Deploy: +``` +sam deploy --guided +``` +OR +``` +sam deploy +``` + +## Delete app +``` + aws cloudformation delete-stack --stack-name sut-tracking +``` diff --git a/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md index 3b01016e6f0..403f711f251 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md @@ -9,6 +9,20 @@ Welcome to the Magento Safe Upgrade Tool (SUT). SUT is a CLI tool that checks a magento instance against a specific version by analysing all the non-magento modules installed in it. +## Who is SUT for? + +One of the main use cases we are taking into account describes a regular process for a partner to upgrade one of their Magento stores. This is how the process will be: + +1. A partner's engineer, Larissa, will download the Safe Upgrade Tool and execute it during the beta phase of the newest Magento release. + +- After she runs the tool she will see that there are several customized areas broken in the inventory and catalog modules and she will also get a complexity score of X. With this information, she will be able to understand the complexity of the upgrade and will be able to relay this information back to the account manager who will then create a timeline and cost for the Magento upgrade which will allow them to get the ecomm manager's approval. Merchants will love having this information 5 weeks before GA. + +2. With the merchant's approval, Larissa will work on the required code modifications to fix the 2 modules that were broken. + +3. With Magento pre-releases Larissa will run the Safe Upgrade tool one more time to ensure there were no new issues and her code changes fixed the problems found in Beta. Everything check’s out and she will push the code to Staging where the automated tests will confirm all tests are green which will allow them to release the latest Magento version to Production the same day as Magento pre-release is released. + +We’ve seeing a trend with Magento partners around fixed annual pricing for upgrades. Examples are Kensium, Wagento, and BlueAcorn https://www.wagento.com/lp/no-hassle-updates-magento-2. We believe this complexity score will help with this trend and allow for easier planning and budgeting. We could easily see in the future that all complexity scores under a certain threshold are automatically approved with no merchant intervention for an easier upgrade for all parties involved. + ## SUT Workflow The following diagram shows the expected workflow when running SUT: From e2e928411975ce421b718abc591564998674722e Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 12:42:09 +0100 Subject: [PATCH 12/69] Reviewed topic sut tracking and added audience in welcome guide --- src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md | 2 + src/guides/v2.4/comp-mgr/sut/sut-tracking.md | 60 ++++++++++--------- .../v2.4/comp-mgr/sut/sut-welcome-guide.md | 26 ++++---- 3 files changed, 45 insertions(+), 43 deletions(-) diff --git a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md index 742bb666298..ffd51ba4981 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md @@ -136,3 +136,5 @@ In order to distribute SUT: ## SUT tracking SUT tracking is a small AWS lambda done with GO. The code is available in the the [SUT github repository](https://github.com/magento-commerce/safe-upgrade-tool), inside the `sut-tracking` folder. + +See the [Track the safe upgrade tool guide]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/sut-tracking.html) for detailed information about SUT tracking. \ No newline at end of file diff --git a/src/guides/v2.4/comp-mgr/sut/sut-tracking.md b/src/guides/v2.4/comp-mgr/sut/sut-tracking.md index d1f5a07b0af..f7dae148211 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-tracking.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-tracking.md @@ -9,39 +9,41 @@ SUT tracking is a small AWS lambda done with GO. The code is available in the [S ## SUT tracking develop and deploy -This is a lambda implemented in GOLANG to receive tracking requests from SUT https://github.com/magento-commerce/safe-upgrade-tool and store it in NewRelic. +This is a lambda implemented in GOLANG to receive tracking requests from SUT and it is stored in NewRelic. ## Requirements -### ASW Sam Cli -``` -brew install aws-sam-cli -``` -### ASW Cli -``` -curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" -sudo installer -pkg AWSCLIV2.pkg -target / -``` + +In order to install the requirements for the SUT tracking execute the following command: + +`brew install aws-sam-cli` + +Then, run: + +`curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" sudo installer -pkg AWSCLIV2.pkg -target /` + ## Development -``` -sam build -sam local start-api -``` -Lambda will run in http://127.0.0.1:3000/ + +To develop SUT tracking, run: + +`sam build sam local start-api` + +Then, lambda will run in a `http://127.0.0.1:3000/` environment. ## Deploy -- Go to KLAM https://klam.corp.adobe.com/ -- Go to CLI > Bash -> Copy content and paste in the console -- Edit template.yaml and set NEW_RELIC_API_KEY with a valid new relic api key. -- Deploy: -``` -sam deploy --guided -``` -OR -``` -sam deploy -``` + +In order to deploy the SUT tracking: + +1. Go to KLAM https://klam.corp.adobe.com/ +1. Go to CLI > Bash -> copy content of your terminal and paste it in the console +1. Then, edit the `template.yaml` file and set the `NEW_RELIC_API_KEY` with a valid newrelic api key. +1. Finally, deploy SUT tracking by executing one of these commands: + + `sam deploy --guided` + + `sam deploy` ## Delete app -``` - aws cloudformation delete-stack --stack-name sut-tracking -``` + +You can delete the SUT tracking by executing the following command: + +`aws cloudformation delete-stack --stack-name sut-tracking` diff --git a/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md index 403f711f251..49a7e1cb8bb 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md @@ -9,20 +9,6 @@ Welcome to the Magento Safe Upgrade Tool (SUT). SUT is a CLI tool that checks a magento instance against a specific version by analysing all the non-magento modules installed in it. -## Who is SUT for? - -One of the main use cases we are taking into account describes a regular process for a partner to upgrade one of their Magento stores. This is how the process will be: - -1. A partner's engineer, Larissa, will download the Safe Upgrade Tool and execute it during the beta phase of the newest Magento release. - -- After she runs the tool she will see that there are several customized areas broken in the inventory and catalog modules and she will also get a complexity score of X. With this information, she will be able to understand the complexity of the upgrade and will be able to relay this information back to the account manager who will then create a timeline and cost for the Magento upgrade which will allow them to get the ecomm manager's approval. Merchants will love having this information 5 weeks before GA. - -2. With the merchant's approval, Larissa will work on the required code modifications to fix the 2 modules that were broken. - -3. With Magento pre-releases Larissa will run the Safe Upgrade tool one more time to ensure there were no new issues and her code changes fixed the problems found in Beta. Everything check’s out and she will push the code to Staging where the automated tests will confirm all tests are green which will allow them to release the latest Magento version to Production the same day as Magento pre-release is released. - -We’ve seeing a trend with Magento partners around fixed annual pricing for upgrades. Examples are Kensium, Wagento, and BlueAcorn https://www.wagento.com/lp/no-hassle-updates-magento-2. We believe this complexity score will help with this trend and allow for easier planning and budgeting. We could easily see in the future that all complexity scores under a certain threshold are automatically approved with no merchant intervention for an easier upgrade for all parties involved. - ## SUT Workflow The following diagram shows the expected workflow when running SUT: @@ -31,6 +17,18 @@ The following diagram shows the expected workflow when running SUT: ![SUT Diagram](img/mvp-diagram.png) +### Who is SUT for? + +A main use case for SUT describes the regular process for a magento partner to upgrade one of their Magento instances: + +1. A partner's software engineer downloads the SUT and executes it during the beta phase of the newest Magento release. +1. Then, the engineer sees that there are several customized areas broken in the inventory and catalog modules, and she also gets a complexity score of X. See the [Developer information for the safe upgrade tool guide]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/use-sut-guide.html) for more information on the complexity score. +1. With this information, the engineer is able to understand the complexity of the upgrade and is able to relay this information back to the partner's account manager. +1. The account manager creates a timeline and cost for the Magento upgrade which allows them to get their managers approval. +1. With their managers approval, the software engineer works on the required code modifications to fix the broken modules. +1. With Magento pre-releases, run the SUT tool one more time to ensure there were no new issues and her code changes fixed the problems found during the beta phase. +1. Everything check’s out and she will push the code to Staging where the automated tests will confirm all tests are green which will allow them to release the latest Magento version to Production the same day as Magento pre-release is released. + ## Prerequisites See the [prerequisites checklist for SUT]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.html) for the minimum requisites required to run SUT. From cf44e0f625f7d4d66ea4e412c8281f4abd1f2e7a Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 12:44:45 +0100 Subject: [PATCH 13/69] Reviewed topics --- src/guides/v2.4/comp-mgr/sut/sut-tracking.md | 9 +++++---- src/guides/v2.4/comp-mgr/sut/use-sut-guide.md | 6 +++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/guides/v2.4/comp-mgr/sut/sut-tracking.md b/src/guides/v2.4/comp-mgr/sut/sut-tracking.md index f7dae148211..70fa3ed47c9 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-tracking.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-tracking.md @@ -33,10 +33,11 @@ Then, lambda will run in a `http://127.0.0.1:3000/` environment. In order to deploy the SUT tracking: -1. Go to KLAM https://klam.corp.adobe.com/ -1. Go to CLI > Bash -> copy content of your terminal and paste it in the console -1. Then, edit the `template.yaml` file and set the `NEW_RELIC_API_KEY` with a valid newrelic api key. -1. Finally, deploy SUT tracking by executing one of these commands: +1. Go to [KLAM](https://klam.corp.adobe.com/) +1. Navigate to `CLI` > `Bash` +2. Copy the content and paste it in your console +3. Then, edit the `template.yaml` file and set the `NEW_RELIC_API_KEY` with a valid newrelic api key +4. Finally, deploy SUT tracking by executing one of these commands: `sam deploy --guided` diff --git a/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md b/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md index e905129bbaf..e9b662664a9 100644 --- a/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md @@ -78,7 +78,7 @@ encountered: > Example with a list of errors/warnings -```json +```php File: /app/code/Custom/CatalogExtension/Controller/Index/Index.php ------------------------------------------------------------------ @@ -104,7 +104,7 @@ The lower this number is, the easier is to perform the upgrade. > Example of a summary report -```json +```php ------------------------ -------- Installed version 2.3.5 Magento version 2.4.1 @@ -124,7 +124,7 @@ Regarding the GraphQL schema compatibility comparison, the output would be very > Example with a list of errors/warnings for GraphQL -```json +```php * [ERROR] FIELD_CHANGED_KIND: ConfigurableProduct.gender changed type from Int to String. * [WARNING] OPTIONAL_INPUT_FIELD_ADDED: An optional field sku on input type ProductAttributeSortInput was added. ``` From acd8b11a158e0873bdeffd1cb7c95313560f239b Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 12:48:37 +0100 Subject: [PATCH 14/69] Reviewed topics and added page for SUT --- src/_data/toc/software-update-guide.yml | 2 +- src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md | 4 ++-- src/guides/v2.4/comp-mgr/sut/sut.md | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 src/guides/v2.4/comp-mgr/sut/sut.md diff --git a/src/_data/toc/software-update-guide.yml b/src/_data/toc/software-update-guide.yml index e11b0aa4577..edafb6bebf4 100644 --- a/src/_data/toc/software-update-guide.yml +++ b/src/_data/toc/software-update-guide.yml @@ -22,7 +22,7 @@ pages: url: /comp-mgr/prereq/prereq_compman-checklist.html - label: Safe Upgrade Tool - url: /comp-mgr/sut/sut-welcome-guide.html + url: /comp-mgr/sut/sut.html children: - label: Check prerequisites for the safe upgrade tool diff --git a/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md index 49a7e1cb8bb..729644b2974 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md @@ -5,7 +5,7 @@ functional_areas: - Upgrade --- -Welcome to the Magento Safe Upgrade Tool (SUT). +Welcome to the Magento Safe Upgrade Tool (SUT) page. SUT is a CLI tool that checks a magento instance against a specific version by analysing all the non-magento modules installed in it. @@ -85,4 +85,4 @@ To install _Node.js_ in your system, check the [_Node.js_](https://nodejs.dev/le Magento recommends that you contact your search engine vendor to determine whether your extension is fully compatible with Magento 2.4. -See the [use SUT guide]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/use-sut-guide.html) for information about running SUT. \ No newline at end of file +See the [use SUT guide]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/use-sut-guide.html) for information about executing the SUT tool. \ No newline at end of file diff --git a/src/guides/v2.4/comp-mgr/sut/sut.md b/src/guides/v2.4/comp-mgr/sut/sut.md new file mode 100644 index 00000000000..bdf56b2fda2 --- /dev/null +++ b/src/guides/v2.4/comp-mgr/sut/sut.md @@ -0,0 +1,14 @@ +--- +group: software-update-guide +title: What is the safe upgrade tool +functional_areas: + - Upgrade +--- + +SUT is a CLI tool that checks a magento instance against a specific version by analysing all the non-magento modules installed in it. + +SUT identifies which potential problems you have to fix within your customized code when trying to upgrade to a newer magento version. + +Running the tool will return a list of errors and warnings that you will have to take into account to complete the upgrade to the desired version. + +Refer to the [Safe upgrade tool installation guide]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/sut-welcome-guide.html) for full instructions on how to install these prerequisites. \ No newline at end of file From 14b789d0203a6b7d667b386c0cbb2bbc3b73819c Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 12:54:20 +0100 Subject: [PATCH 15/69] Fix linting issues --- src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md index ffd51ba4981..a9d39d77ff0 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md @@ -127,9 +127,9 @@ In order to distribute SUT: 1. Go to the [Magento upload repo](https://repo.magento.com/admin/upload_m2_version) topic to upload the `sut.zip` with the following parameters: - - Extension package: `sut.zip` - - Release: `magento/safe-upgrade-tool-VERSION` - - Edition: CE + - Extension package: `sut.zip` + - Release: `magento/safe-upgrade-tool-VERSION` + - Edition: CE 1. Finally, go to the [Magento version repo](https://repo.magento.com/admin/packagist/web/version/list) topic to check that the new version has been created. From 22182309cf0020f769e892d0be210958dd534477 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 12:59:24 +0100 Subject: [PATCH 16/69] Fix linting issues --- .../v2.4/comp-mgr/sut/sut-welcome-guide.md | 6 +-- src/guides/v2.4/comp-mgr/sut/sut.md | 4 +- src/guides/v2.4/comp-mgr/sut/use-sut-guide.md | 40 +++++++++---------- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md index 729644b2974..2d44b545ce2 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md @@ -40,9 +40,9 @@ SUT should run in any operating system. It is not required to run the tool where In order to install SUT, it is required that you check/install the necessary prerequisites mentioned earlier: -- Magento access keys -- Composer -- Node.js +* Magento access keys +* Composer +* Node.js ### Magento access keys diff --git a/src/guides/v2.4/comp-mgr/sut/sut.md b/src/guides/v2.4/comp-mgr/sut/sut.md index bdf56b2fda2..84421fb9cdd 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut.md +++ b/src/guides/v2.4/comp-mgr/sut/sut.md @@ -7,8 +7,8 @@ functional_areas: SUT is a CLI tool that checks a magento instance against a specific version by analysing all the non-magento modules installed in it. -SUT identifies which potential problems you have to fix within your customized code when trying to upgrade to a newer magento version. +SUT identifies which potential problems you have to fix within your customized code when trying to upgrade to a newer magento version. Running the tool will return a list of errors and warnings that you will have to take into account to complete the upgrade to the desired version. -Refer to the [Safe upgrade tool installation guide]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/sut-welcome-guide.html) for full instructions on how to install these prerequisites. \ No newline at end of file +Refer to the [Safe upgrade tool installation guide]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/sut-welcome-guide.html) for full instructions on how to install these prerequisites. diff --git a/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md b/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md index e9b662664a9..024e7289e48 100644 --- a/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md @@ -7,7 +7,7 @@ functional_areas: Magento Safe Upgrade Tool (SUT) is a CLI tool that checks a magento instance against a specific version by analysing all the non-magento modules installed in it. -SUT identifies which potential problems you have to fix within your customized code when trying to upgrade to a newer magento version. +SUT identifies which potential problems you have to fix within your customized code when trying to upgrade to a newer magento version. Running the tool will return a list of errors and warnings that you will have to take into account to complete the upgrade to the desired version. @@ -50,22 +50,22 @@ You need to provide the version as a parameter when running the command: > Providing the version -`bin/sut upgrade:check INSTALLATION_DIR -c 2.4.1`. +`bin/sut upgrade:check INSTALLATION_DIR -c 2.4.1` There are some limitations running that command: -- This parameter refers to any tag that identifies a specific version of Magento. -- It is a requirement to provide this one explicitly; providing only the value of it will not work. -- Provide the tag version without any quotation marks (neither single nor double): ~~'2.4.1-develop'~~. -- You should NOT provide older versions than the one you have currently installed, nor older than 2.3, which is the oldest one supported at the moment. +* This parameter refers to any tag that identifies a specific version of Magento. +* It is a requirement to provide this one explicitly; providing only the value of it will not work. +* Provide the tag version without any quotation marks (neither single nor double): ~~'2.4.1-develop'~~. +* You should NOT provide older versions than the one you have currently installed, nor older than 2.3, which is the oldest one supported at the moment. #### Full report You can also get a full report containing both _PHP-related_ errors and GraphQL. In this case, you need to provide at least the following options: -- --schema1=SCHEMA1 -- --schema2=SCHEMA2 -- INSTALLATION_DIR +* --schema1=SCHEMA1 +* --schema2=SCHEMA2 +* INSTALLATION_DIR > Example of a bin/sut command @@ -88,17 +88,17 @@ File: /app/code/Custom/CatalogExtension/Controller/Index/Index.php The report also includes a detailed summary: -- *Installed Version*: the version currently installed. -- *Magento Version*: the version you want to upgrade to. -- *Running time*: amount of time the analysis took to build the report (mm:ss). -- *Checked modules*: amount of modules installed in the current magento version examined during the analysis. -- *PHP errors found*: amount of PHP errors. -- *PHP warnings found*: amount of PHP warnings. -- *GraphQL errors found*: amount of GraphQL errors. -- *GraphQL warnings found*: amount of GraphQL warnings. -- *Total errors found*: total amount of errors found. -- *Total warnings found*: total amount of warnings found. -- *Complexity score*: a figure that indicates how difficult is to upgrade from the current version to the new one. +* *Installed Version*: the version currently installed +* *Magento Version*: the version you want to upgrade to +* *Running time*: amount of time the analysis took to build the report (mm:ss) +* *Checked modules*: amount of modules installed in the current magento version examined during the analysis +* *PHP errors found*: amount of PHP errors +* *PHP warnings found*: amount of PHP warnings +* *GraphQL errors found*: amount of GraphQL errors +* *GraphQL warnings found*: amount of GraphQL warnings +* *Total errors found*: total amount of errors found +* *Total warnings found*: total amount of warnings found +* *Complexity score*: a figure that indicates how difficult is to upgrade from the current version to the new one The lower this number is, the easier is to perform the upgrade. From 247e124cc069d231448712ae3126ea7ec4df61e4 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 13:03:30 +0100 Subject: [PATCH 17/69] Fix linting issues 3 --- src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md | 32 ++++++++----------- src/guides/v2.4/comp-mgr/sut/use-sut-guide.md | 6 ++-- 2 files changed, 17 insertions(+), 21 deletions(-) diff --git a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md index a9d39d77ff0..834709deab5 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md @@ -36,19 +36,16 @@ See the [magento extensions](https://docs.magento.com/user-guide/magento/magento To run the unit tests, you could execute one of the following commands: -- `vendor/bin/phpunit tests/unit` - -- `vendor/bin/phpunit -c tests/unit/phpunit.xml.dist tests/unit` - -- `vendor/bin/phpunit -c tests/unit/phpunit.xml.dist --testsuite=unit-tests` +* `vendor/bin/phpunit tests/unit` +* `vendor/bin/phpunit -c tests/unit/phpunit.xml.dist tests/unit` +* `vendor/bin/phpunit -c tests/unit/phpunit.xml.dist --testsuite=unit-tests` ## Integration testing To run the integration tests, you could execute one of the following commands: -- `vendor/bin/phpunit -c tests/integration/phpunit.xml.dist tests/integration` - -- `vendor/bin/phpunit -c tests/integration/phpunit.xml.dist --testsuite=integration-tests` +* `vendor/bin/phpunit -c tests/integration/phpunit.xml.dist tests/integration` +* `vendor/bin/phpunit -c tests/integration/phpunit.xml.dist --testsuite=integration-tests` ## Acceptance testing @@ -58,9 +55,8 @@ To run the integration tests, you could execute one of the following commands: Thenn, to run the acceptance tests, you could execute one of the following commands: -- `vendor/bin/phpunit -c tests/acceptance/phpunit.xml tests/acceptance` - -- `vendor/bin/phpunit -c tests/acceptance/phpunit.xml --testsuite=acceptance-tests` +* `vendor/bin/phpunit -c tests/acceptance/phpunit.xml tests/acceptance` +* `vendor/bin/phpunit -c tests/acceptance/phpunit.xml --testsuite=acceptance-tests` ## JS unit testing for graphql @@ -95,8 +91,8 @@ Its lowest value will be 0, but it doesn't necessarily need to be a number betwe This score is based on the results extracted from the analysis: -- Number of issues identified -- Severity of issues identified +* Number of issues identified +* Severity of issues identified SUT calculates this score according to the following formula: @@ -122,14 +118,14 @@ In order to distribute SUT: 1. Go to the [Magento create repo](https://repo.magento.com/admin/packagist/web/ceeerelease/create) topic and create a new release with the following parameters: - - Name: magento/safe-upgrade-tool-VERSION - - Availability Groups: By now it's internal + * Name: magento/safe-upgrade-tool-VERSION + * Availability Groups: By now it's internal 1. Go to the [Magento upload repo](https://repo.magento.com/admin/upload_m2_version) topic to upload the `sut.zip` with the following parameters: - - Extension package: `sut.zip` - - Release: `magento/safe-upgrade-tool-VERSION` - - Edition: CE + * Extension package: `sut.zip` + * Release: `magento/safe-upgrade-tool-VERSION` + * Edition: CE 1. Finally, go to the [Magento version repo](https://repo.magento.com/admin/packagist/web/version/list) topic to check that the new version has been created. diff --git a/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md b/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md index 024e7289e48..88109f80e7b 100644 --- a/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md @@ -63,9 +63,9 @@ There are some limitations running that command: You can also get a full report containing both _PHP-related_ errors and GraphQL. In this case, you need to provide at least the following options: -* --schema1=SCHEMA1 -* --schema2=SCHEMA2 -* INSTALLATION_DIR +* `--schema1=SCHEMA1` +* `--schema2=SCHEMA2` +* `INSTALLATION_DIR` > Example of a bin/sut command From 0a87e4dcd5f0172048dd12c670c3b1e544db0a3c Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 13:18:03 +0100 Subject: [PATCH 18/69] Fix linting issues 4 --- src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md index 834709deab5..1334cc7f17f 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md @@ -21,11 +21,10 @@ This file can be edited to customize the response according to your installation `Sut\Domain\MRay\MRayInterface : "@sut_mray_mock"` -In this example, SUT uses `MRayMock` as the `MRayInterface` implementation. Then, the responses of the methods `api()` and `modules()` come -from: +In this example, SUT uses `MRayMock` as the `MRayInterface` implementation. Then, the responses of the methods `api()` and `modules()` come from: -- `dev/mray_mock_files/api.json` -- `dev/mray_mock_files/modules.json` +* `dev/mray_mock_files/api.json` +* `dev/mray_mock_files/modules.json` {:.bs-callout .bs-callout-info} When you make changes in `services.yaml`, delete the cache folder (`var/cache`) to correctly apply them. @@ -71,9 +70,9 @@ To run the js unit tests for graphql you need to have NodeJS installed. To install _Node.js_ in your system, check the [_Node.js_](https://nodejs.dev/learn/how-to-install-nodejs) page for more information. -In case you have MacOS: +In case you have a MacOS system: -1. Go inside `graphql-schema-compatibility` folder and run `npm install` +1. Go inside `graphql-schema-compatibility` folder and run `npm install` 1. Then, you can execute `npm run unit-test` or `jest` 1. The tests are inside `graphql-schema-compatibility/test/js/unit` 1. The string schemas for testing are inside `dev/graphql_schemas` @@ -94,7 +93,7 @@ This score is based on the results extracted from the analysis: * Number of issues identified * Severity of issues identified -SUT calculates this score according to the following formula: +SUT calculates this score according to the following formula: > Complexity score formula @@ -133,4 +132,4 @@ In order to distribute SUT: SUT tracking is a small AWS lambda done with GO. The code is available in the the [SUT github repository](https://github.com/magento-commerce/safe-upgrade-tool), inside the `sut-tracking` folder. -See the [Track the safe upgrade tool guide]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/sut-tracking.html) for detailed information about SUT tracking. \ No newline at end of file +See the [Track the safe upgrade tool guide]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/sut-tracking.html) for detailed information about SUT tracking. From 097659d51a0c2b8937b40ad2d78833f49ca090e4 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 13:20:48 +0100 Subject: [PATCH 19/69] Fix linting issues 5 --- src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md | 6 +++--- src/guides/v2.4/comp-mgr/sut/use-sut-guide.md | 3 +-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md index 2d44b545ce2..21a0ed993ab 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md @@ -21,7 +21,7 @@ The following diagram shows the expected workflow when running SUT: A main use case for SUT describes the regular process for a magento partner to upgrade one of their Magento instances: -1. A partner's software engineer downloads the SUT and executes it during the beta phase of the newest Magento release. +1. A partner's software engineer downloads the SUT and executes it during the beta phase of the newest Magento release. 1. Then, the engineer sees that there are several customized areas broken in the inventory and catalog modules, and she also gets a complexity score of X. See the [Developer information for the safe upgrade tool guide]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/use-sut-guide.html) for more information on the complexity score. 1. With this information, the engineer is able to understand the complexity of the upgrade and is able to relay this information back to the partner's account manager. 1. The account manager creates a timeline and cost for the Magento upgrade which allows them to get their managers approval. @@ -36,7 +36,7 @@ See the [prerequisites checklist for SUT]({{page.baseurl}}/guides/v2.4/comp-mgr/ {:.bs-callout .bs-callout-info} SUT should run in any operating system. It is not required to run the tool where your magento instance is located. -## SUT installation +## SUT installation In order to install SUT, it is required that you check/install the necessary prerequisites mentioned earlier: @@ -72,7 +72,7 @@ The **public key** corresponds to the _username_ whereas the **private key** is ### Composer -Clone this repository and, from the **safe-upgrade-tool** folder run `composer install` in your terminal to install its dependencies. +Clone this repository and, from the **safe-upgrade-tool** folder run `composer install` in your terminal to install its dependencies. {:.bs-callout .bs-callout-warning} If the **Magento access keys** are not correctly configured, SUT will not be fully installed and you will get errors when running the `composer install` command in your terminal. diff --git a/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md b/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md index 88109f80e7b..90348eb7b00 100644 --- a/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md @@ -73,8 +73,7 @@ You can also get a full report containing both _PHP-related_ errors and GraphQL. ### Output -It provides a report identifying the affected non-magento modules, the severity and the description of the problem for every issue -encountered: +It provides a report identifying the affected non-magento modules, the severity and the description of the problem for every issue encountered: > Example with a list of errors/warnings From 0de22545456989197972ad374aa5d2f44ae2fe54 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 13:23:35 +0100 Subject: [PATCH 20/69] Fix linting issues --- src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md index 1334cc7f17f..e79ab4f7120 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md @@ -117,16 +117,15 @@ In order to distribute SUT: 1. Go to the [Magento create repo](https://repo.magento.com/admin/packagist/web/ceeerelease/create) topic and create a new release with the following parameters: - * Name: magento/safe-upgrade-tool-VERSION - * Availability Groups: By now it's internal + * Name: `magento/safe-upgrade-tool-VERSION` -1. Go to the [Magento upload repo](https://repo.magento.com/admin/upload_m2_version) topic to upload the `sut.zip` with the following parameters: +2. Go to the [Magento upload repo](https://repo.magento.com/admin/upload_m2_version) topic to upload the `sut.zip` with the following parameters: - * Extension package: `sut.zip` - * Release: `magento/safe-upgrade-tool-VERSION` - * Edition: CE + * Extension package: `sut.zip` + * Release: `magento/safe-upgrade-tool-VERSION` + * Edition: CE -1. Finally, go to the [Magento version repo](https://repo.magento.com/admin/packagist/web/version/list) topic to check that the new version has been created. +3. Finally, go to the [Magento version repo](https://repo.magento.com/admin/packagist/web/version/list) topic to check that the new version has been created. ## SUT tracking From 9d7846bc797598ef9f5252f08c33f494c029a9e0 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 13:25:29 +0100 Subject: [PATCH 21/69] Fix linting issues --- src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md index e79ab4f7120..26ff12152c9 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md @@ -117,15 +117,15 @@ In order to distribute SUT: 1. Go to the [Magento create repo](https://repo.magento.com/admin/packagist/web/ceeerelease/create) topic and create a new release with the following parameters: - * Name: `magento/safe-upgrade-tool-VERSION` + Name: `magento/safe-upgrade-tool-VERSION` 2. Go to the [Magento upload repo](https://repo.magento.com/admin/upload_m2_version) topic to upload the `sut.zip` with the following parameters: - * Extension package: `sut.zip` - * Release: `magento/safe-upgrade-tool-VERSION` - * Edition: CE + Extension package: `sut.zip` + Release: `magento/safe-upgrade-tool-VERSION` + Edition: CE -3. Finally, go to the [Magento version repo](https://repo.magento.com/admin/packagist/web/version/list) topic to check that the new version has been created. +1. Finally, go to the [Magento version repo](https://repo.magento.com/admin/packagist/web/version/list) topic to check that the new version has been created. ## SUT tracking From 61f1033530d8877674861889128d4062029c8d96 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 13:28:39 +0100 Subject: [PATCH 22/69] Fix linting issues --- src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md | 2 +- src/guides/v2.4/comp-mgr/sut/sut-tracking.md | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md index 26ff12152c9..40e0785925d 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md @@ -119,7 +119,7 @@ In order to distribute SUT: Name: `magento/safe-upgrade-tool-VERSION` -2. Go to the [Magento upload repo](https://repo.magento.com/admin/upload_m2_version) topic to upload the `sut.zip` with the following parameters: +1. Go to the [Magento upload repo](https://repo.magento.com/admin/upload_m2_version) topic to upload the `sut.zip` with the following parameters: Extension package: `sut.zip` Release: `magento/safe-upgrade-tool-VERSION` diff --git a/src/guides/v2.4/comp-mgr/sut/sut-tracking.md b/src/guides/v2.4/comp-mgr/sut/sut-tracking.md index 70fa3ed47c9..ebcf682717c 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-tracking.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-tracking.md @@ -35,13 +35,12 @@ In order to deploy the SUT tracking: 1. Go to [KLAM](https://klam.corp.adobe.com/) 1. Navigate to `CLI` > `Bash` -2. Copy the content and paste it in your console -3. Then, edit the `template.yaml` file and set the `NEW_RELIC_API_KEY` with a valid newrelic api key -4. Finally, deploy SUT tracking by executing one of these commands: +1. Copy the content and paste it in your console +1. Then, edit the `template.yaml` file and set the `NEW_RELIC_API_KEY` with a valid newrelic api key +1. Finally, deploy SUT tracking by executing one of these commands: - `sam deploy --guided` - - `sam deploy` + `sam deploy --guided` + `sam deploy` ## Delete app From 0866cb8552fd528683ae2060cac0cab3bf5af2fd Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 14:04:38 +0100 Subject: [PATCH 23/69] Fix linting issues --- src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md index 40e0785925d..a19046cfce0 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md @@ -24,6 +24,7 @@ This file can be edited to customize the response according to your installation In this example, SUT uses `MRayMock` as the `MRayInterface` implementation. Then, the responses of the methods `api()` and `modules()` come from: * `dev/mray_mock_files/api.json` + * `dev/mray_mock_files/modules.json` {:.bs-callout .bs-callout-info} @@ -36,7 +37,9 @@ See the [magento extensions](https://docs.magento.com/user-guide/magento/magento To run the unit tests, you could execute one of the following commands: * `vendor/bin/phpunit tests/unit` + * `vendor/bin/phpunit -c tests/unit/phpunit.xml.dist tests/unit` + * `vendor/bin/phpunit -c tests/unit/phpunit.xml.dist --testsuite=unit-tests` ## Integration testing @@ -44,6 +47,7 @@ To run the unit tests, you could execute one of the following commands: To run the integration tests, you could execute one of the following commands: * `vendor/bin/phpunit -c tests/integration/phpunit.xml.dist tests/integration` + * `vendor/bin/phpunit -c tests/integration/phpunit.xml.dist --testsuite=integration-tests` ## Acceptance testing @@ -55,6 +59,7 @@ To run the integration tests, you could execute one of the following commands: Thenn, to run the acceptance tests, you could execute one of the following commands: * `vendor/bin/phpunit -c tests/acceptance/phpunit.xml tests/acceptance` + * `vendor/bin/phpunit -c tests/acceptance/phpunit.xml --testsuite=acceptance-tests` ## JS unit testing for graphql From edf883bed452d071871d50184e868f045f8311f2 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 14:06:27 +0100 Subject: [PATCH 24/69] Fix linting issues --- src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md | 27 ++++++++----------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md index a19046cfce0..1f3c66e98e7 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md @@ -23,9 +23,8 @@ This file can be edited to customize the response according to your installation In this example, SUT uses `MRayMock` as the `MRayInterface` implementation. Then, the responses of the methods `api()` and `modules()` come from: -* `dev/mray_mock_files/api.json` - -* `dev/mray_mock_files/modules.json` +* `dev/mray_mock_files/api.json` +* `dev/mray_mock_files/modules.json` {:.bs-callout .bs-callout-info} When you make changes in `services.yaml`, delete the cache folder (`var/cache`) to correctly apply them. @@ -36,19 +35,16 @@ See the [magento extensions](https://docs.magento.com/user-guide/magento/magento To run the unit tests, you could execute one of the following commands: -* `vendor/bin/phpunit tests/unit` - -* `vendor/bin/phpunit -c tests/unit/phpunit.xml.dist tests/unit` - -* `vendor/bin/phpunit -c tests/unit/phpunit.xml.dist --testsuite=unit-tests` +* `vendor/bin/phpunit tests/unit` +* `vendor/bin/phpunit -c tests/unit/phpunit.xml.dist tests/unit` +* `vendor/bin/phpunit -c tests/unit/phpunit.xml.dist --testsuite=unit-tests` ## Integration testing To run the integration tests, you could execute one of the following commands: -* `vendor/bin/phpunit -c tests/integration/phpunit.xml.dist tests/integration` - -* `vendor/bin/phpunit -c tests/integration/phpunit.xml.dist --testsuite=integration-tests` +* `vendor/bin/phpunit -c tests/integration/phpunit.xml.dist tests/integration` +* `vendor/bin/phpunit -c tests/integration/phpunit.xml.dist --testsuite=integration-tests` ## Acceptance testing @@ -58,9 +54,8 @@ To run the integration tests, you could execute one of the following commands: Thenn, to run the acceptance tests, you could execute one of the following commands: -* `vendor/bin/phpunit -c tests/acceptance/phpunit.xml tests/acceptance` - -* `vendor/bin/phpunit -c tests/acceptance/phpunit.xml --testsuite=acceptance-tests` +* `vendor/bin/phpunit -c tests/acceptance/phpunit.xml tests/acceptance` +* `vendor/bin/phpunit -c tests/acceptance/phpunit.xml --testsuite=acceptance-tests` ## JS unit testing for graphql @@ -95,8 +90,8 @@ Its lowest value will be 0, but it doesn't necessarily need to be a number betwe This score is based on the results extracted from the analysis: -* Number of issues identified -* Severity of issues identified +* Number of issues identified +* Severity of issues identified SUT calculates this score according to the following formula: From 1cd481f0a45eeb710f4b7c12e862523864b99c2d Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 14:09:25 +0100 Subject: [PATCH 25/69] Fix linting issues rule md30 --- src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md | 8 ++-- .../v2.4/comp-mgr/sut/sut-welcome-guide.md | 6 +-- src/guides/v2.4/comp-mgr/sut/use-sut-guide.md | 38 +++++++++---------- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md index 1f3c66e98e7..667120be786 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md @@ -117,13 +117,13 @@ In order to distribute SUT: 1. Go to the [Magento create repo](https://repo.magento.com/admin/packagist/web/ceeerelease/create) topic and create a new release with the following parameters: - Name: `magento/safe-upgrade-tool-VERSION` + * Name: `magento/safe-upgrade-tool-VERSION` 1. Go to the [Magento upload repo](https://repo.magento.com/admin/upload_m2_version) topic to upload the `sut.zip` with the following parameters: - Extension package: `sut.zip` - Release: `magento/safe-upgrade-tool-VERSION` - Edition: CE + * Extension package: `sut.zip` + * Release: `magento/safe-upgrade-tool-VERSION` + * Edition: CE 1. Finally, go to the [Magento version repo](https://repo.magento.com/admin/packagist/web/version/list) topic to check that the new version has been created. diff --git a/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md index 21a0ed993ab..ef06cb12f22 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md @@ -40,9 +40,9 @@ SUT should run in any operating system. It is not required to run the tool where In order to install SUT, it is required that you check/install the necessary prerequisites mentioned earlier: -* Magento access keys -* Composer -* Node.js +* Magento access keys +* Composer +* Node.js ### Magento access keys diff --git a/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md b/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md index 90348eb7b00..422a2efd4eb 100644 --- a/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md @@ -54,18 +54,18 @@ You need to provide the version as a parameter when running the command: There are some limitations running that command: -* This parameter refers to any tag that identifies a specific version of Magento. -* It is a requirement to provide this one explicitly; providing only the value of it will not work. -* Provide the tag version without any quotation marks (neither single nor double): ~~'2.4.1-develop'~~. -* You should NOT provide older versions than the one you have currently installed, nor older than 2.3, which is the oldest one supported at the moment. +* This parameter refers to any tag that identifies a specific version of Magento. +* It is a requirement to provide this one explicitly; providing only the value of it will not work. +* Provide the tag version without any quotation marks (neither single nor double): ~~'2.4.1-develop'~~. +* You should NOT provide older versions than the one you have currently installed, nor older than 2.3, which is the oldest one supported at the moment. #### Full report You can also get a full report containing both _PHP-related_ errors and GraphQL. In this case, you need to provide at least the following options: -* `--schema1=SCHEMA1` -* `--schema2=SCHEMA2` -* `INSTALLATION_DIR` +* `--schema1=SCHEMA1` +* `--schema2=SCHEMA2` +* `INSTALLATION_DIR` > Example of a bin/sut command @@ -82,22 +82,22 @@ File: /app/code/Custom/CatalogExtension/Controller/Index/Index.php ------------------------------------------------------------------ * [ERROR] Line 84: Used nonexistent or non Magento API interface 'Magento\Catalog\Model\ProductRepositoryInterface' - * [WARNING] Line 6: Importing Magento @deprecated class 'Magento\Catalog\Model\ProductRepository' + * [WARNING] Line 6: Importing Magento @deprecated class 'Magento\Catalog\Model\ProductRepository' ``` The report also includes a detailed summary: -* *Installed Version*: the version currently installed -* *Magento Version*: the version you want to upgrade to -* *Running time*: amount of time the analysis took to build the report (mm:ss) -* *Checked modules*: amount of modules installed in the current magento version examined during the analysis -* *PHP errors found*: amount of PHP errors -* *PHP warnings found*: amount of PHP warnings -* *GraphQL errors found*: amount of GraphQL errors -* *GraphQL warnings found*: amount of GraphQL warnings -* *Total errors found*: total amount of errors found -* *Total warnings found*: total amount of warnings found -* *Complexity score*: a figure that indicates how difficult is to upgrade from the current version to the new one +* *Installed Version*: the version currently installed +* *Magento Version*: the version you want to upgrade to +* *Running time*: amount of time the analysis took to build the report (mm:ss) +* *Checked modules*: amount of modules installed in the current magento version examined during the analysis +* *PHP errors found*: amount of PHP errors +* *PHP warnings found*: amount of PHP warnings +* *GraphQL errors found*: amount of GraphQL errors +* *GraphQL warnings found*: amount of GraphQL warnings +* *Total errors found*: total amount of errors found +* *Total warnings found*: total amount of warnings found +* *Complexity score*: a figure that indicates how difficult is to upgrade from the current version to the new one The lower this number is, the easier is to perform the upgrade. From d95721e9bab7610c63a291af4e34134848858661 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 14:13:14 +0100 Subject: [PATCH 26/69] Fix linting issues rule md30 --- src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md index 667120be786..aa42df78536 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md @@ -117,13 +117,13 @@ In order to distribute SUT: 1. Go to the [Magento create repo](https://repo.magento.com/admin/packagist/web/ceeerelease/create) topic and create a new release with the following parameters: - * Name: `magento/safe-upgrade-tool-VERSION` +* Name: `magento/safe-upgrade-tool-VERSION` 1. Go to the [Magento upload repo](https://repo.magento.com/admin/upload_m2_version) topic to upload the `sut.zip` with the following parameters: - * Extension package: `sut.zip` - * Release: `magento/safe-upgrade-tool-VERSION` - * Edition: CE + * Extension package: `sut.zip` + * Release: `magento/safe-upgrade-tool-VERSION` + * Edition: CE 1. Finally, go to the [Magento version repo](https://repo.magento.com/admin/packagist/web/version/list) topic to check that the new version has been created. From 6a206c8e4f5ce0b64bfaaed48dd8a032696720dc Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 14:15:41 +0100 Subject: [PATCH 27/69] Fix linting issues rule md06 & md36 --- src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md index aa42df78536..1bf17235de8 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md @@ -83,7 +83,7 @@ The **complexity score** is a figure that indicates how difficult is to upgrade > Example of a **complexity score** message -*The lower this number is, the easier is to perform the upgrade* +_The lower this number is, the easier is to perform the upgrade_ {:.bs-callout .bs-callout-info} Its lowest value will be 0, but it doesn't necessarily need to be a number between 0 and 100. @@ -117,7 +117,7 @@ In order to distribute SUT: 1. Go to the [Magento create repo](https://repo.magento.com/admin/packagist/web/ceeerelease/create) topic and create a new release with the following parameters: -* Name: `magento/safe-upgrade-tool-VERSION` + * Name: `magento/safe-upgrade-tool-VERSION` 1. Go to the [Magento upload repo](https://repo.magento.com/admin/upload_m2_version) topic to upload the `sut.zip` with the following parameters: From ee1d4256033eb739579411e5d2c8a7d49fe54478 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 14:17:02 +0100 Subject: [PATCH 28/69] Fix linting issues rule md36 --- src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md index 1bf17235de8..35a9153d780 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md +++ b/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md @@ -79,11 +79,7 @@ In case you have a MacOS system: ## Complexity score -The **complexity score** is a figure that indicates how difficult is to upgrade from the current version to the new one: - -> Example of a **complexity score** message - -_The lower this number is, the easier is to perform the upgrade_ +The **complexity score** is a figure that indicates how difficult is to upgrade from the current version to the new one. The lower this number is, the easier is to perform the upgrade. {:.bs-callout .bs-callout-info} Its lowest value will be 0, but it doesn't necessarily need to be a number between 0 and 100. From ac4d76a9b9f1744225c12c56174a6496915f501d Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 14:25:43 +0100 Subject: [PATCH 29/69] Added link to the sut section in the main software update guide topic --- src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md b/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md index 7b4079160b7..af3792f96f7 100644 --- a/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md +++ b/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md @@ -48,6 +48,9 @@ Related topics Complete the tasks discussed in [Prerequisites]. + {:.bs-callout-info} +See the [Safe upgrade tool section]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/sut.html) for more information on the new CLI magento tool that helps you update your magento software. + *[contributing developer]: A developer who contributes code to the Magento 2 CE codebase From d8469cfad11772aeef612fa847ab94193e8e1d2a Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 15:35:35 +0100 Subject: [PATCH 30/69] moved SUT section under guides to keep it versionless --- src/_data/toc/software-update-guide.yml | 12 ++++++------ .../{v2.4/comp-mgr => }/sut/img/mvp-diagram.png | Bin .../{v2.4/comp-mgr => }/sut/prereq-sut-checklist.md | 2 +- src/guides/{v2.4/comp-mgr => }/sut/sut-dev-guide.md | 2 +- src/guides/{v2.4/comp-mgr => }/sut/sut-tracking.md | 0 .../{v2.4/comp-mgr => }/sut/sut-welcome-guide.md | 4 ++-- src/guides/{v2.4/comp-mgr => }/sut/sut.md | 2 +- src/guides/{v2.4/comp-mgr => }/sut/use-sut-guide.md | 2 +- .../v2.4/comp-mgr/bk-compman-upgrade-guide.md | 2 +- 9 files changed, 13 insertions(+), 13 deletions(-) rename src/guides/{v2.4/comp-mgr => }/sut/img/mvp-diagram.png (100%) rename src/guides/{v2.4/comp-mgr => }/sut/prereq-sut-checklist.md (86%) rename src/guides/{v2.4/comp-mgr => }/sut/sut-dev-guide.md (98%) rename src/guides/{v2.4/comp-mgr => }/sut/sut-tracking.md (100%) rename src/guides/{v2.4/comp-mgr => }/sut/sut-welcome-guide.md (94%) rename src/guides/{v2.4/comp-mgr => }/sut/sut.md (83%) rename src/guides/{v2.4/comp-mgr => }/sut/use-sut-guide.md (97%) diff --git a/src/_data/toc/software-update-guide.yml b/src/_data/toc/software-update-guide.yml index edafb6bebf4..3aa730f98bf 100644 --- a/src/_data/toc/software-update-guide.yml +++ b/src/_data/toc/software-update-guide.yml @@ -22,23 +22,23 @@ pages: url: /comp-mgr/prereq/prereq_compman-checklist.html - label: Safe Upgrade Tool - url: /comp-mgr/sut/sut.html + url: /sut/sut.html children: - label: Check prerequisites for the safe upgrade tool - url: /comp-mgr/sut/prereq-sut-checklist.html + url: /sut/prereq-sut-checklist.html - label: Install the safe upgrade tool - url: /comp-mgr/sut/sut-welcome-guide.html + url: /sut/sut-welcome-guide.html - label: Use the safe upgrade tool - url: /comp-mgr/sut/use-sut-guide.html + url: /sut/use-sut-guide.html - label: Developer information for the safe upgrade tool - url: /comp-mgr/sut/sut-dev-guide.html + url: /sut/sut-dev-guide.html - label: Track the safe upgrade tool - url: /comp-mgr/sut/sut-tracking.html + url: /sut/sut-tracking.html - label: Magento Marketplace example url: /comp-mgr/marketplace/marketplace.html diff --git a/src/guides/v2.4/comp-mgr/sut/img/mvp-diagram.png b/src/guides/sut/img/mvp-diagram.png similarity index 100% rename from src/guides/v2.4/comp-mgr/sut/img/mvp-diagram.png rename to src/guides/sut/img/mvp-diagram.png diff --git a/src/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.md b/src/guides/sut/prereq-sut-checklist.md similarity index 86% rename from src/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.md rename to src/guides/sut/prereq-sut-checklist.md index 7f547be2918..a18a51d8a35 100644 --- a/src/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.md +++ b/src/guides/sut/prereq-sut-checklist.md @@ -21,4 +21,4 @@ The minimum requisites to run SUT are: {:.bs-callout .bs-callout-info} SUT should run in any operating system. It is not required to run the tool where your magento instance is located. -Refer to the [Safe upgrade tool installation guide]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/sut-welcome-guide.html) for full instructions on how to install these prerequisites. +Refer to the [Safe upgrade tool installation guide]({{page.baseurl}}/guides/sut/sut-welcome-guide.html) for full instructions on how to install these prerequisites. diff --git a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md b/src/guides/sut/sut-dev-guide.md similarity index 98% rename from src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md rename to src/guides/sut/sut-dev-guide.md index 35a9153d780..e81b47aed33 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-dev-guide.md +++ b/src/guides/sut/sut-dev-guide.md @@ -127,4 +127,4 @@ In order to distribute SUT: SUT tracking is a small AWS lambda done with GO. The code is available in the the [SUT github repository](https://github.com/magento-commerce/safe-upgrade-tool), inside the `sut-tracking` folder. -See the [Track the safe upgrade tool guide]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/sut-tracking.html) for detailed information about SUT tracking. +See the [Track the safe upgrade tool guide]({{page.baseurl}}/guides/sut/sut-tracking.html) for detailed information about SUT tracking. diff --git a/src/guides/v2.4/comp-mgr/sut/sut-tracking.md b/src/guides/sut/sut-tracking.md similarity index 100% rename from src/guides/v2.4/comp-mgr/sut/sut-tracking.md rename to src/guides/sut/sut-tracking.md diff --git a/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md b/src/guides/sut/sut-welcome-guide.md similarity index 94% rename from src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md rename to src/guides/sut/sut-welcome-guide.md index ef06cb12f22..bc797d116d9 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut-welcome-guide.md +++ b/src/guides/sut/sut-welcome-guide.md @@ -31,7 +31,7 @@ A main use case for SUT describes the regular process for a magento partner to u ## Prerequisites -See the [prerequisites checklist for SUT]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/prereq-sut-checklist.html) for the minimum requisites required to run SUT. +See the [prerequisites checklist for SUT]({{page.baseurl}}/guides/sut/prereq-sut-checklist.html) for the minimum requisites required to run SUT. {:.bs-callout .bs-callout-info} SUT should run in any operating system. It is not required to run the tool where your magento instance is located. @@ -85,4 +85,4 @@ To install _Node.js_ in your system, check the [_Node.js_](https://nodejs.dev/le Magento recommends that you contact your search engine vendor to determine whether your extension is fully compatible with Magento 2.4. -See the [use SUT guide]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/use-sut-guide.html) for information about executing the SUT tool. \ No newline at end of file +See the [use SUT guide]({{page.baseurl}}/guides/sut/use-sut-guide.html) for information about executing the SUT tool. \ No newline at end of file diff --git a/src/guides/v2.4/comp-mgr/sut/sut.md b/src/guides/sut/sut.md similarity index 83% rename from src/guides/v2.4/comp-mgr/sut/sut.md rename to src/guides/sut/sut.md index 84421fb9cdd..9f7c0fe40e0 100644 --- a/src/guides/v2.4/comp-mgr/sut/sut.md +++ b/src/guides/sut/sut.md @@ -11,4 +11,4 @@ SUT identifies which potential problems you have to fix within your customized c Running the tool will return a list of errors and warnings that you will have to take into account to complete the upgrade to the desired version. -Refer to the [Safe upgrade tool installation guide]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/sut-welcome-guide.html) for full instructions on how to install these prerequisites. +Refer to the [Safe upgrade tool installation guide]({{page.baseurl}}/guides/sut/sut-welcome-guide.html) for full instructions on how to install these prerequisites. diff --git a/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md b/src/guides/sut/use-sut-guide.md similarity index 97% rename from src/guides/v2.4/comp-mgr/sut/use-sut-guide.md rename to src/guides/sut/use-sut-guide.md index 422a2efd4eb..5c0a77f1320 100644 --- a/src/guides/v2.4/comp-mgr/sut/use-sut-guide.md +++ b/src/guides/sut/use-sut-guide.md @@ -128,4 +128,4 @@ Regarding the GraphQL schema compatibility comparison, the output would be very * [WARNING] OPTIONAL_INPUT_FIELD_ADDED: An optional field sku on input type ProductAttributeSortInput was added. ``` -See the [Developer information for the safe upgrade tool guide]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/use-sut-guide.html) for detailed technical information about SUT. +See the [Developer information for the safe upgrade tool guide]({{page.baseurl}}/guides/sut/use-sut-guide.html) for detailed technical information about SUT. diff --git a/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md b/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md index af3792f96f7..b2131067b47 100644 --- a/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md +++ b/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md @@ -49,7 +49,7 @@ Related topics Complete the tasks discussed in [Prerequisites]. {:.bs-callout-info} -See the [Safe upgrade tool section]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/sut.html) for more information on the new CLI magento tool that helps you update your magento software. +See the [Safe upgrade tool section]({{page.baseurl}}/guides/sut/sut.html) for more information on the new CLI magento tool that helps you update your magento software. From b640157a74287f618d09e4fa183eb0250f7ce3cb Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 3 Dec 2020 15:37:55 +0100 Subject: [PATCH 31/69] Added link to the sut section in the main 2.3 software update guide topic --- src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md b/src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md index 02fdf8d544e..17d46e1fbd9 100644 --- a/src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md +++ b/src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md @@ -53,6 +53,8 @@ Related topics Complete the tasks discussed in [Prerequisites]. + {:.bs-callout-info} +See the [Safe upgrade tool section]({{page.baseurl}}/guides/sut/sut.html) for more information on the new CLI magento tool that helps you update your magento software. *[contributing developer]: A developer who contributes code to the Magento 2 CE codebase From 35c8d74ff666bbeca62516fa4da47097254ea2b4 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Fri, 4 Dec 2020 11:30:36 +0100 Subject: [PATCH 32/69] moved sut folder and modified urls as per peer review --- .../v2.3/comp-mgr/bk-compman-upgrade-guide.md | 2 +- .../v2.4/comp-mgr/bk-compman-upgrade-guide.md | 2 +- src/{guides => }/sut/img/mvp-diagram.png | Bin src/{guides => }/sut/prereq-sut-checklist.md | 2 +- src/{guides => }/sut/sut-dev-guide.md | 2 +- src/{guides => }/sut/sut-tracking.md | 0 src/{guides => }/sut/sut-welcome-guide.md | 4 ++-- src/{guides => }/sut/sut.md | 2 +- src/{guides => }/sut/use-sut-guide.md | 2 +- 9 files changed, 8 insertions(+), 8 deletions(-) rename src/{guides => }/sut/img/mvp-diagram.png (100%) rename src/{guides => }/sut/prereq-sut-checklist.md (87%) rename src/{guides => }/sut/sut-dev-guide.md (97%) rename src/{guides => }/sut/sut-tracking.md (100%) rename src/{guides => }/sut/sut-welcome-guide.md (93%) rename src/{guides => }/sut/sut.md (85%) rename src/{guides => }/sut/use-sut-guide.md (98%) diff --git a/src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md b/src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md index 17d46e1fbd9..11d846bcc1b 100644 --- a/src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md +++ b/src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md @@ -54,7 +54,7 @@ Related topics Complete the tasks discussed in [Prerequisites]. {:.bs-callout-info} -See the [Safe upgrade tool section]({{page.baseurl}}/guides/sut/sut.html) for more information on the new CLI magento tool that helps you update your magento software. +See the [Safe upgrade tool section]({{page.baseurl}}/sut/sut.html) for more information on the new CLI magento tool that helps you update your magento software. *[contributing developer]: A developer who contributes code to the Magento 2 CE codebase diff --git a/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md b/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md index b2131067b47..2cfff418f77 100644 --- a/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md +++ b/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md @@ -49,7 +49,7 @@ Related topics Complete the tasks discussed in [Prerequisites]. {:.bs-callout-info} -See the [Safe upgrade tool section]({{page.baseurl}}/guides/sut/sut.html) for more information on the new CLI magento tool that helps you update your magento software. +See the [Safe upgrade tool section]({{page.baseurl}}/sut/sut.html) for more information on the new CLI magento tool that helps you update your magento software. diff --git a/src/guides/sut/img/mvp-diagram.png b/src/sut/img/mvp-diagram.png similarity index 100% rename from src/guides/sut/img/mvp-diagram.png rename to src/sut/img/mvp-diagram.png diff --git a/src/guides/sut/prereq-sut-checklist.md b/src/sut/prereq-sut-checklist.md similarity index 87% rename from src/guides/sut/prereq-sut-checklist.md rename to src/sut/prereq-sut-checklist.md index a18a51d8a35..7ed6c46fa93 100644 --- a/src/guides/sut/prereq-sut-checklist.md +++ b/src/sut/prereq-sut-checklist.md @@ -21,4 +21,4 @@ The minimum requisites to run SUT are: {:.bs-callout .bs-callout-info} SUT should run in any operating system. It is not required to run the tool where your magento instance is located. -Refer to the [Safe upgrade tool installation guide]({{page.baseurl}}/guides/sut/sut-welcome-guide.html) for full instructions on how to install these prerequisites. +Refer to the [Safe upgrade tool installation guide]({{page.baseurl}}/sut/sut-welcome-guide.html) for full instructions on how to install these prerequisites. diff --git a/src/guides/sut/sut-dev-guide.md b/src/sut/sut-dev-guide.md similarity index 97% rename from src/guides/sut/sut-dev-guide.md rename to src/sut/sut-dev-guide.md index e81b47aed33..0594d6a11ea 100644 --- a/src/guides/sut/sut-dev-guide.md +++ b/src/sut/sut-dev-guide.md @@ -127,4 +127,4 @@ In order to distribute SUT: SUT tracking is a small AWS lambda done with GO. The code is available in the the [SUT github repository](https://github.com/magento-commerce/safe-upgrade-tool), inside the `sut-tracking` folder. -See the [Track the safe upgrade tool guide]({{page.baseurl}}/guides/sut/sut-tracking.html) for detailed information about SUT tracking. +See the [Track the safe upgrade tool guide]({{page.baseurl}}/sut/sut-tracking.html) for detailed information about SUT tracking. diff --git a/src/guides/sut/sut-tracking.md b/src/sut/sut-tracking.md similarity index 100% rename from src/guides/sut/sut-tracking.md rename to src/sut/sut-tracking.md diff --git a/src/guides/sut/sut-welcome-guide.md b/src/sut/sut-welcome-guide.md similarity index 93% rename from src/guides/sut/sut-welcome-guide.md rename to src/sut/sut-welcome-guide.md index bc797d116d9..7d6e68c3e26 100644 --- a/src/guides/sut/sut-welcome-guide.md +++ b/src/sut/sut-welcome-guide.md @@ -31,7 +31,7 @@ A main use case for SUT describes the regular process for a magento partner to u ## Prerequisites -See the [prerequisites checklist for SUT]({{page.baseurl}}/guides/sut/prereq-sut-checklist.html) for the minimum requisites required to run SUT. +See the [prerequisites checklist for SUT]({{page.baseurl}}/sut/prereq-sut-checklist.html) for the minimum requisites required to run SUT. {:.bs-callout .bs-callout-info} SUT should run in any operating system. It is not required to run the tool where your magento instance is located. @@ -85,4 +85,4 @@ To install _Node.js_ in your system, check the [_Node.js_](https://nodejs.dev/le Magento recommends that you contact your search engine vendor to determine whether your extension is fully compatible with Magento 2.4. -See the [use SUT guide]({{page.baseurl}}/guides/sut/use-sut-guide.html) for information about executing the SUT tool. \ No newline at end of file +See the [use SUT guide]({{page.baseurl}}/sut/use-sut-guide.html) for information about executing the SUT tool. \ No newline at end of file diff --git a/src/guides/sut/sut.md b/src/sut/sut.md similarity index 85% rename from src/guides/sut/sut.md rename to src/sut/sut.md index 9f7c0fe40e0..21c6345740b 100644 --- a/src/guides/sut/sut.md +++ b/src/sut/sut.md @@ -11,4 +11,4 @@ SUT identifies which potential problems you have to fix within your customized c Running the tool will return a list of errors and warnings that you will have to take into account to complete the upgrade to the desired version. -Refer to the [Safe upgrade tool installation guide]({{page.baseurl}}/guides/sut/sut-welcome-guide.html) for full instructions on how to install these prerequisites. +Refer to the [Safe upgrade tool installation guide]({{page.baseurl}}/sut/sut-welcome-guide.html) for full instructions on how to install these prerequisites. diff --git a/src/guides/sut/use-sut-guide.md b/src/sut/use-sut-guide.md similarity index 98% rename from src/guides/sut/use-sut-guide.md rename to src/sut/use-sut-guide.md index 5c0a77f1320..acd988aedb3 100644 --- a/src/guides/sut/use-sut-guide.md +++ b/src/sut/use-sut-guide.md @@ -128,4 +128,4 @@ Regarding the GraphQL schema compatibility comparison, the output would be very * [WARNING] OPTIONAL_INPUT_FIELD_ADDED: An optional field sku on input type ProductAttributeSortInput was added. ``` -See the [Developer information for the safe upgrade tool guide]({{page.baseurl}}/guides/sut/use-sut-guide.html) for detailed technical information about SUT. +See the [Developer information for the safe upgrade tool guide]({{page.baseurl}}/sut/use-sut-guide.html) for detailed technical information about SUT. From e0f9ebbed1d56238b9c96214efc64b390fbd8c0d Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Fri, 4 Dec 2020 12:21:03 +0100 Subject: [PATCH 33/69] Added versionless:true to TOC as per peer review --- src/_data/toc/software-update-guide.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/_data/toc/software-update-guide.yml b/src/_data/toc/software-update-guide.yml index 3aa730f98bf..66a7f4d13fb 100644 --- a/src/_data/toc/software-update-guide.yml +++ b/src/_data/toc/software-update-guide.yml @@ -23,22 +23,28 @@ pages: - label: Safe Upgrade Tool url: /sut/sut.html + versionless: true children: - label: Check prerequisites for the safe upgrade tool url: /sut/prereq-sut-checklist.html + versionless: true - label: Install the safe upgrade tool url: /sut/sut-welcome-guide.html + versionless: true - label: Use the safe upgrade tool url: /sut/use-sut-guide.html + versionless: true - label: Developer information for the safe upgrade tool url: /sut/sut-dev-guide.html + versionless: true - label: Track the safe upgrade tool url: /sut/sut-tracking.html + versionless: true - label: Magento Marketplace example url: /comp-mgr/marketplace/marketplace.html From 7258e1713fc1197a2079d3ed673e3912f743d966 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Fri, 4 Dec 2020 12:44:39 +0100 Subject: [PATCH 34/69] Modified files for sut after peer review --- src/_data/toc/software-update-guide.yml | 22 ++++++++--------- .../v2.3/comp-mgr/bk-compman-upgrade-guide.md | 2 +- .../v2.4/comp-mgr/bk-compman-upgrade-guide.md | 2 +- src/sut/{sut-dev-guide.md => developer.md} | 6 ++--- src/sut/{sut-welcome-guide.md => install.md} | 20 ++++++++-------- src/sut/{sut.md => introduction.md} | 4 ++-- src/sut/prereq-sut-checklist.md | 24 ------------------- src/sut/prerequisites.md | 24 +++++++++++++++++++ src/sut/{use-sut-guide.md => run.md} | 4 ++-- src/sut/{sut-tracking.md => tracking.md} | 2 +- 10 files changed, 55 insertions(+), 55 deletions(-) rename src/sut/{sut-dev-guide.md => developer.md} (93%) rename src/sut/{sut-welcome-guide.md => install.md} (79%) rename src/sut/{sut.md => introduction.md} (71%) delete mode 100644 src/sut/prereq-sut-checklist.md create mode 100644 src/sut/prerequisites.md rename src/sut/{use-sut-guide.md => run.md} (96%) rename src/sut/{sut-tracking.md => tracking.md} (97%) diff --git a/src/_data/toc/software-update-guide.yml b/src/_data/toc/software-update-guide.yml index 66a7f4d13fb..35100724e3a 100644 --- a/src/_data/toc/software-update-guide.yml +++ b/src/_data/toc/software-update-guide.yml @@ -22,28 +22,28 @@ pages: url: /comp-mgr/prereq/prereq_compman-checklist.html - label: Safe Upgrade Tool - url: /sut/sut.html + url: /sut/introduction.html versionless: true children: - - label: Check prerequisites for the safe upgrade tool - url: /sut/prereq-sut-checklist.html + - label: Prerequisites + url: /sut/prerequisites.html versionless: true - - label: Install the safe upgrade tool - url: /sut/sut-welcome-guide.html + - label: Install + url: /sut/install.html versionless: true - - label: Use the safe upgrade tool - url: /sut/use-sut-guide.html + - label: Run the tool + url: /sut/run.html versionless: true - - label: Developer information for the safe upgrade tool - url: /sut/sut-dev-guide.html + - label: Developer information + url: /sut/developer.html versionless: true - - label: Track the safe upgrade tool - url: /sut/sut-tracking.html + - label: Tracking + url: /sut/tracking.html versionless: true - label: Magento Marketplace example diff --git a/src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md b/src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md index 11d846bcc1b..598877361d5 100644 --- a/src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md +++ b/src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md @@ -54,7 +54,7 @@ Related topics Complete the tasks discussed in [Prerequisites]. {:.bs-callout-info} -See the [Safe upgrade tool section]({{page.baseurl}}/sut/sut.html) for more information on the new CLI magento tool that helps you update your magento software. +See the [Safe upgrade tool section]({{page.baseurl}}/sut/introduction.html) for more information on the new CLI magento tool that helps you update your magento software. *[contributing developer]: A developer who contributes code to the Magento 2 CE codebase diff --git a/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md b/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md index 2cfff418f77..60e3de03402 100644 --- a/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md +++ b/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md @@ -49,7 +49,7 @@ Related topics Complete the tasks discussed in [Prerequisites]. {:.bs-callout-info} -See the [Safe upgrade tool section]({{page.baseurl}}/sut/sut.html) for more information on the new CLI magento tool that helps you update your magento software. +See the [Safe upgrade tool section]({{page.baseurl}}/sut/introduction.html) for more information on the new CLI magento tool that helps you update your magento software. diff --git a/src/sut/sut-dev-guide.md b/src/sut/developer.md similarity index 93% rename from src/sut/sut-dev-guide.md rename to src/sut/developer.md index 0594d6a11ea..7afb25059e9 100644 --- a/src/sut/sut-dev-guide.md +++ b/src/sut/developer.md @@ -1,11 +1,11 @@ --- group: software-update-guide -title: Developer information for the safe upgrade tool +title: Developer information functional_areas: - Upgrade --- -This topic contains information for developers who want to know more technical information about the Magento Safe Upgrade Tool (SUT). With this knowledge you can familiarize yourself with SUT in order to customize any of the existing components in the tool. +This topic contains information for developers who want to know more technical information about the Magento Safe Upgrade Tool (SUT). You can use this knowledge to customize the SUT's components. ## M-Ray integration @@ -127,4 +127,4 @@ In order to distribute SUT: SUT tracking is a small AWS lambda done with GO. The code is available in the the [SUT github repository](https://github.com/magento-commerce/safe-upgrade-tool), inside the `sut-tracking` folder. -See the [Track the safe upgrade tool guide]({{page.baseurl}}/sut/sut-tracking.html) for detailed information about SUT tracking. +See the [Tracking guide]({{page.baseurl}}/sut/tracking.html) for detailed information about SUT tracking. diff --git a/src/sut/sut-welcome-guide.md b/src/sut/install.md similarity index 79% rename from src/sut/sut-welcome-guide.md rename to src/sut/install.md index 7d6e68c3e26..b20e07f187d 100644 --- a/src/sut/sut-welcome-guide.md +++ b/src/sut/install.md @@ -1,6 +1,6 @@ --- group: software-update-guide -title: Install the safe upgrade tool +title: Install functional_areas: - Upgrade --- @@ -22,21 +22,21 @@ The following diagram shows the expected workflow when running SUT: A main use case for SUT describes the regular process for a magento partner to upgrade one of their Magento instances: 1. A partner's software engineer downloads the SUT and executes it during the beta phase of the newest Magento release. -1. Then, the engineer sees that there are several customized areas broken in the inventory and catalog modules, and she also gets a complexity score of X. See the [Developer information for the safe upgrade tool guide]({{page.baseurl}}/guides/v2.4/comp-mgr/sut/use-sut-guide.html) for more information on the complexity score. -1. With this information, the engineer is able to understand the complexity of the upgrade and is able to relay this information back to the partner's account manager. -1. The account manager creates a timeline and cost for the Magento upgrade which allows them to get their managers approval. -1. With their managers approval, the software engineer works on the required code modifications to fix the broken modules. -1. With Magento pre-releases, run the SUT tool one more time to ensure there were no new issues and her code changes fixed the problems found during the beta phase. -1. Everything check’s out and she will push the code to Staging where the automated tests will confirm all tests are green which will allow them to release the latest Magento version to Production the same day as Magento pre-release is released. +2. Then, the engineer sees that there are several customized areas broken in the inventory and catalog modules, and she also gets a complexity score of X. See the [Developer information guide]({{page.baseurl}}/sut/developer.html) for more information on the complexity score. +3. With this information, the engineer is able to understand the complexity of the upgrade and is able to relay this information back to the partner's account manager. +4. The account manager creates a timeline and cost for the Magento upgrade which allows them to get their managers approval. +5. With their managers approval, the software engineer works on the required code modifications to fix the broken modules. +6. With Magento pre-releases, run the SUT tool one more time to ensure there were no new issues and her code changes fixed the problems found during the beta phase. +7. Everything check’s out and she will push the code to Staging where the automated tests will confirm all tests are green which will allow them to release the latest Magento version to Production the same day as Magento pre-release is released. ## Prerequisites -See the [prerequisites checklist for SUT]({{page.baseurl}}/sut/prereq-sut-checklist.html) for the minimum requisites required to run SUT. +See the [prerequisites checklist for SUT]({{page.baseurl}}/sut/prerequisites.html) for the minimum requisites required to run SUT. {:.bs-callout .bs-callout-info} SUT should run in any operating system. It is not required to run the tool where your magento instance is located. -## SUT installation +## Install In order to install SUT, it is required that you check/install the necessary prerequisites mentioned earlier: @@ -85,4 +85,4 @@ To install _Node.js_ in your system, check the [_Node.js_](https://nodejs.dev/le Magento recommends that you contact your search engine vendor to determine whether your extension is fully compatible with Magento 2.4. -See the [use SUT guide]({{page.baseurl}}/sut/use-sut-guide.html) for information about executing the SUT tool. \ No newline at end of file +See the [Run the tool guide]({{page.baseurl}}/sut/run.html) for information about executing the SUT tool. \ No newline at end of file diff --git a/src/sut/sut.md b/src/sut/introduction.md similarity index 71% rename from src/sut/sut.md rename to src/sut/introduction.md index 21c6345740b..b8b6ee7031b 100644 --- a/src/sut/sut.md +++ b/src/sut/introduction.md @@ -1,6 +1,6 @@ --- group: software-update-guide -title: What is the safe upgrade tool +title: Introduction functional_areas: - Upgrade --- @@ -11,4 +11,4 @@ SUT identifies which potential problems you have to fix within your customized c Running the tool will return a list of errors and warnings that you will have to take into account to complete the upgrade to the desired version. -Refer to the [Safe upgrade tool installation guide]({{page.baseurl}}/sut/sut-welcome-guide.html) for full instructions on how to install these prerequisites. +Refer to the [SUT installation guide]({{page.baseurl}}/sut/install.html) for full instructions on how to install these prerequisites. diff --git a/src/sut/prereq-sut-checklist.md b/src/sut/prereq-sut-checklist.md deleted file mode 100644 index 7ed6c46fa93..00000000000 --- a/src/sut/prereq-sut-checklist.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -group: software-update-guide -title: Check prerequisites for the safe upgrade tool -functional_areas: - - Upgrade ---- - -Before you upgrade, running the Safe Upgrade Tool (SUT) determines what you must do **before** upgrading. - -The minimum requisites to run SUT are: - -| **Requisites** | **Constraints** | -|----------------|-----------------| -| PHP version| >= 7.3 | -| Composer | none | -| Node.js | none | -| Magento Access keys | none | -| MC or Magento Open Source | none | -{:style="table-layout:auto;"} - -{:.bs-callout .bs-callout-info} -SUT should run in any operating system. It is not required to run the tool where your magento instance is located. - -Refer to the [Safe upgrade tool installation guide]({{page.baseurl}}/sut/sut-welcome-guide.html) for full instructions on how to install these prerequisites. diff --git a/src/sut/prerequisites.md b/src/sut/prerequisites.md new file mode 100644 index 00000000000..ef08b7cfabb --- /dev/null +++ b/src/sut/prerequisites.md @@ -0,0 +1,24 @@ +--- +group: software-update-guide +title: Prerequisites +functional_areas: + - Upgrade +--- + +Running the Safe Upgrade Tool (SUT) helps you identify what you must do **before** upgrading Magento. + +The minimum requirements to run the SUT are: + +| **Requirements** | **Constraints** | +|----------------|-----------------| +| PHP version| >= 7.3 | +| Composer | none | +| Node.js | none | +| Magento Access keys | none | +| MC or Magento Open Source | none | +{:style="table-layout:auto;"} + +{:.bs-callout .bs-callout-info} +You can run the SUT in any operating system. There is no requirement to run the SUT where your Magento instance is located. For example, you can install SUT in another server, and run it against where your magento instance is located. + +Refer to the [SUT installation]({{page.baseurl}}/sut/install.html#install). diff --git a/src/sut/use-sut-guide.md b/src/sut/run.md similarity index 96% rename from src/sut/use-sut-guide.md rename to src/sut/run.md index acd988aedb3..76c48a36f0d 100644 --- a/src/sut/use-sut-guide.md +++ b/src/sut/run.md @@ -1,6 +1,6 @@ --- group: software-update-guide -title: Use the safe upgrade tool +title: Run the tool functional_areas: - Upgrade --- @@ -128,4 +128,4 @@ Regarding the GraphQL schema compatibility comparison, the output would be very * [WARNING] OPTIONAL_INPUT_FIELD_ADDED: An optional field sku on input type ProductAttributeSortInput was added. ``` -See the [Developer information for the safe upgrade tool guide]({{page.baseurl}}/sut/use-sut-guide.html) for detailed technical information about SUT. +See the [Developer information guide]({{page.baseurl}}/sut/developer.html) for detailed technical information about SUT. diff --git a/src/sut/sut-tracking.md b/src/sut/tracking.md similarity index 97% rename from src/sut/sut-tracking.md rename to src/sut/tracking.md index ebcf682717c..03b6c75eaca 100644 --- a/src/sut/sut-tracking.md +++ b/src/sut/tracking.md @@ -1,6 +1,6 @@ --- group: software-update-guide -title: Track the safe upgrade tool +title: Tracking functional_areas: - Upgrade --- From 16877f80c8cf1067e9e9e9e19bed5eedac7e5a36 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Fri, 4 Dec 2020 12:46:12 +0100 Subject: [PATCH 35/69] Fixed linting issue MD029 --- src/sut/install.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/sut/install.md b/src/sut/install.md index b20e07f187d..40b1772048f 100644 --- a/src/sut/install.md +++ b/src/sut/install.md @@ -22,12 +22,12 @@ The following diagram shows the expected workflow when running SUT: A main use case for SUT describes the regular process for a magento partner to upgrade one of their Magento instances: 1. A partner's software engineer downloads the SUT and executes it during the beta phase of the newest Magento release. -2. Then, the engineer sees that there are several customized areas broken in the inventory and catalog modules, and she also gets a complexity score of X. See the [Developer information guide]({{page.baseurl}}/sut/developer.html) for more information on the complexity score. -3. With this information, the engineer is able to understand the complexity of the upgrade and is able to relay this information back to the partner's account manager. -4. The account manager creates a timeline and cost for the Magento upgrade which allows them to get their managers approval. -5. With their managers approval, the software engineer works on the required code modifications to fix the broken modules. -6. With Magento pre-releases, run the SUT tool one more time to ensure there were no new issues and her code changes fixed the problems found during the beta phase. -7. Everything check’s out and she will push the code to Staging where the automated tests will confirm all tests are green which will allow them to release the latest Magento version to Production the same day as Magento pre-release is released. +1. Then, the engineer sees that there are several customized areas broken in the inventory and catalog modules, and she also gets a complexity score of X. See the [Developer information guide]({{page.baseurl}}/sut/developer.html) for more information on the complexity score. +1. With this information, the engineer is able to understand the complexity of the upgrade and is able to relay this information back to the partner's account manager. +1. The account manager creates a timeline and cost for the Magento upgrade which allows them to get their managers approval. +1. With their managers approval, the software engineer works on the required code modifications to fix the broken modules. +1. With Magento pre-releases, run the SUT tool one more time to ensure there were no new issues and her code changes fixed the problems found during the beta phase. +1. Everything check’s out and she will push the code to Staging where the automated tests will confirm all tests are green which will allow them to release the latest Magento version to Production the same day as Magento pre-release is released. ## Prerequisites From 8276b6756ec38a1a247bba53a99bec71bdf22544 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Fri, 4 Dec 2020 13:07:42 +0100 Subject: [PATCH 36/69] continue modifying files after peer review --- src/sut/developer.md | 35 ++++++++++++++++------------------- src/sut/install.md | 10 +++++----- src/sut/prerequisites.md | 2 +- src/sut/run.md | 2 +- 4 files changed, 23 insertions(+), 26 deletions(-) diff --git a/src/sut/developer.md b/src/sut/developer.md index 7afb25059e9..88a2a4e8f2d 100644 --- a/src/sut/developer.md +++ b/src/sut/developer.md @@ -15,25 +15,23 @@ The integration with M-Ray is done through: Its implementation is through the `config/services.yaml` file. Its value decides where the response of methods `api()` and `modules()` comes from. -This file can be edited to customize the response according to your installation. Just replace the value assigned to `Sut\Domain\MRay\MRayInterface`: +Edit this file to customize the response according to your installation. Just replace the value assigned to `Sut\Domain\MRay\MRayInterface`: > Example of a custom value `Sut\Domain\MRay\MRayInterface : "@sut_mray_mock"` -In this example, SUT uses `MRayMock` as the `MRayInterface` implementation. Then, the responses of the methods `api()` and `modules()` come from: +In the previous example, the SUT uses `@sut_mray_mock` as the `MRayInterface` implementation. The responses from the `api()` and `modules()` methods come from the following files: * `dev/mray_mock_files/api.json` * `dev/mray_mock_files/modules.json` -{:.bs-callout .bs-callout-info} -When you make changes in `services.yaml`, delete the cache folder (`var/cache`) to correctly apply them. - -See the [magento extensions](https://docs.magento.com/user-guide/magento/magento-extensions.html) topic for more information on extensions developed and released by Magento. +{:.bs-callout-info} +When you make changes to the `services.yaml` file, delete the `var/cache/` folder to correctly apply them. ## Unit testing -To run the unit tests, you could execute one of the following commands: +To run the unit tests, execute one of the following commands: * `vendor/bin/phpunit tests/unit` * `vendor/bin/phpunit -c tests/unit/phpunit.xml.dist tests/unit` @@ -41,29 +39,28 @@ To run the unit tests, you could execute one of the following commands: ## Integration testing -To run the integration tests, you could execute one of the following commands: +To run the integration tests, execute one of the following commands: * `vendor/bin/phpunit -c tests/integration/phpunit.xml.dist tests/integration` * `vendor/bin/phpunit -c tests/integration/phpunit.xml.dist --testsuite=integration-tests` ## Acceptance testing -1. Before executing the acceptance tests, you need to set the magento url in the `phpunit` configuration file. -1. Copy the default file in `tests/acceptance/phpunit.xml` (without the .dist suffix) -1. Change the `TESTS_BASE_URL` to point to the magento url you want to test - -Thenn, to run the acceptance tests, you could execute one of the following commands: +1. Before executing acceptance tests, you must set the Magento URL in the `phpunit` configuration file. +1. Copy the default `tests/acceptance/phpunit.xml` file (without the .dist suffix). +1. Change the `TESTS_BASE_URL` value to point to the Magento URL that you want to test. +1. To run the acceptance tests, execute one of the following commands: * `vendor/bin/phpunit -c tests/acceptance/phpunit.xml tests/acceptance` * `vendor/bin/phpunit -c tests/acceptance/phpunit.xml --testsuite=acceptance-tests` -## JS unit testing for graphql +## JS unit testing for GraphQL We used the **jest** framework to create these JS unit tests: `https://jestjs.io/docs/en/getting-started.html` -{:.bs-callout .bs-callout-info} +{:.bs-callout-info} To run the js unit tests for graphql you need to have NodeJS installed. ### Node.js @@ -81,7 +78,7 @@ In case you have a MacOS system: The **complexity score** is a figure that indicates how difficult is to upgrade from the current version to the new one. The lower this number is, the easier is to perform the upgrade. -{:.bs-callout .bs-callout-info} +{:.bs-callout-info} Its lowest value will be 0, but it doesn't necessarily need to be a number between 0 and 100. This score is based on the results extracted from the analysis: @@ -95,7 +92,7 @@ SUT calculates this score according to the following formula: ``Complexity Score = 2 * (# of errors) + 1 * (# of warnings)`` -## SUT packaging +## Packaging 1. To package SUT execute: @@ -107,7 +104,7 @@ SUT calculates this score according to the following formula: 1. This generates a `sut.zip` file that we it is uploaded to the [Magento repo page](https://repo.magento.com). -## SUT distribution +## Distribution In order to distribute SUT: @@ -123,7 +120,7 @@ In order to distribute SUT: 1. Finally, go to the [Magento version repo](https://repo.magento.com/admin/packagist/web/version/list) topic to check that the new version has been created. -## SUT tracking +## Tracking SUT tracking is a small AWS lambda done with GO. The code is available in the the [SUT github repository](https://github.com/magento-commerce/safe-upgrade-tool), inside the `sut-tracking` folder. diff --git a/src/sut/install.md b/src/sut/install.md index 40b1772048f..9ae59ce2bfc 100644 --- a/src/sut/install.md +++ b/src/sut/install.md @@ -9,7 +9,7 @@ Welcome to the Magento Safe Upgrade Tool (SUT) page. SUT is a CLI tool that checks a magento instance against a specific version by analysing all the non-magento modules installed in it. -## SUT Workflow +## Workflow The following diagram shows the expected workflow when running SUT: @@ -17,7 +17,7 @@ The following diagram shows the expected workflow when running SUT: ![SUT Diagram](img/mvp-diagram.png) -### Who is SUT for? +### Who is the SUT for? A main use case for SUT describes the regular process for a magento partner to upgrade one of their Magento instances: @@ -33,7 +33,7 @@ A main use case for SUT describes the regular process for a magento partner to u See the [prerequisites checklist for SUT]({{page.baseurl}}/sut/prerequisites.html) for the minimum requisites required to run SUT. -{:.bs-callout .bs-callout-info} +{:.bs-callout-info} SUT should run in any operating system. It is not required to run the tool where your magento instance is located. ## Install @@ -54,7 +54,7 @@ See the [Access keys guide]({{page.baseurl}}/marketplace/sellers/profile-informa Once you create the access keys, add them to your `auth.json` file, which is located by default in your `~/.composer` folder. -{:.bs-callout .bs-callout-warning} +{:.bs-callout-warning} Check your **COMPOSER_HOME** environment variable to see where the `auth.json` file is located. The **public key** corresponds to the _username_ whereas the **private key** is the _password_: @@ -74,7 +74,7 @@ The **public key** corresponds to the _username_ whereas the **private key** is Clone this repository and, from the **safe-upgrade-tool** folder run `composer install` in your terminal to install its dependencies. -{:.bs-callout .bs-callout-warning} +{:.bs-callout-warning} If the **Magento access keys** are not correctly configured, SUT will not be fully installed and you will get errors when running the `composer install` command in your terminal. ### Node.js diff --git a/src/sut/prerequisites.md b/src/sut/prerequisites.md index ef08b7cfabb..ecfd2b4b8c4 100644 --- a/src/sut/prerequisites.md +++ b/src/sut/prerequisites.md @@ -18,7 +18,7 @@ The minimum requirements to run the SUT are: | MC or Magento Open Source | none | {:style="table-layout:auto;"} -{:.bs-callout .bs-callout-info} +{:.bs-callout-info} You can run the SUT in any operating system. There is no requirement to run the SUT where your Magento instance is located. For example, you can install SUT in another server, and run it against where your magento instance is located. Refer to the [SUT installation]({{page.baseurl}}/sut/install.html#install). diff --git a/src/sut/run.md b/src/sut/run.md index 76c48a36f0d..3f44990aa1d 100644 --- a/src/sut/run.md +++ b/src/sut/run.md @@ -25,7 +25,7 @@ Execute the tool by running the following command: `bin/sut upgrade:check INSTALLATION_DIR`. -{:.bs-callout .bs-callout-info} +{:.bs-callout-info} It is recommended to run `php -d memory_limit=-1 /bin/sut` to avoid memory limitations, as described earlier. `INSTALLATION_DIR` is the directory where the Magento instance is located. From 843ea2d38a4cbfb0982e8cd7a7b1b6872a6ade6d Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Fri, 4 Dec 2020 13:15:15 +0100 Subject: [PATCH 37/69] continue modifying files after peer review - include H3 or H4 for examples --- src/sut/developer.md | 10 ++++------ src/sut/install.md | 4 +--- src/sut/run.md | 14 ++++---------- 3 files changed, 9 insertions(+), 19 deletions(-) diff --git a/src/sut/developer.md b/src/sut/developer.md index 88a2a4e8f2d..2016817b709 100644 --- a/src/sut/developer.md +++ b/src/sut/developer.md @@ -17,7 +17,7 @@ Its implementation is through the `config/services.yaml` file. Its value decides Edit this file to customize the response according to your installation. Just replace the value assigned to `Sut\Domain\MRay\MRayInterface`: -> Example of a custom value +### Example of a custom value `Sut\Domain\MRay\MRayInterface : "@sut_mray_mock"` @@ -56,9 +56,7 @@ To run the integration tests, execute one of the following commands: ## JS unit testing for GraphQL -We used the **jest** framework to create these JS unit tests: - -`https://jestjs.io/docs/en/getting-started.html` +We used the [Jest](https://jestjs.io/docs/en/getting-started.html) framework to create these JS unit tests: {:.bs-callout-info} To run the js unit tests for graphql you need to have NodeJS installed. @@ -88,7 +86,7 @@ This score is based on the results extracted from the analysis: SUT calculates this score according to the following formula: -> Complexity score formula +### Complexity score formula ``Complexity Score = 2 * (# of errors) + 1 * (# of warnings)`` @@ -98,7 +96,7 @@ SUT calculates this score according to the following formula: `bin/package VERSION` -> An exampple of SUT packaging +### An exampple of packaging `bin/package 0.0.1` diff --git a/src/sut/install.md b/src/sut/install.md index 9ae59ce2bfc..f2a87e04df8 100644 --- a/src/sut/install.md +++ b/src/sut/install.md @@ -13,8 +13,6 @@ SUT is a CLI tool that checks a magento instance against a specific version by a The following diagram shows the expected workflow when running SUT: -> Example of the SUT workflow - ![SUT Diagram](img/mvp-diagram.png) ### Who is the SUT for? @@ -59,7 +57,7 @@ Check your **COMPOSER_HOME** environment variable to see where the `auth.json` f The **public key** corresponds to the _username_ whereas the **private key** is the _password_: -> Example of Magento access keys +### Example of Magento access keys ```json "http-basic": { diff --git a/src/sut/run.md b/src/sut/run.md index 3f44990aa1d..86727d18f84 100644 --- a/src/sut/run.md +++ b/src/sut/run.md @@ -21,8 +21,6 @@ When running SUT, the usage of memory depends entirely on the magento instance y Execute the tool by running the following command: -> Run SUT - `bin/sut upgrade:check INSTALLATION_DIR`. {:.bs-callout-info} @@ -36,8 +34,6 @@ Run `bin/sut --help` to get all the different possibilities and options availabl SUT also provides the option to introspect two GraphQL endpoints and compare their schemas looking for breaking and dangerous changes between them: -> Run SUT GraphQL - `bin/sut graphql:compare https://domain1.com/graphql https://domain2.com/graphql` ### Arguments and options @@ -48,8 +44,6 @@ You can compare your current Magento 2 installation with Magento versions `>=2.3 You need to provide the version as a parameter when running the command: -> Providing the version - `bin/sut upgrade:check INSTALLATION_DIR -c 2.4.1` There are some limitations running that command: @@ -67,7 +61,7 @@ You can also get a full report containing both _PHP-related_ errors and GraphQL. * `--schema2=SCHEMA2` * `INSTALLATION_DIR` -> Example of a bin/sut command +#### Example of a bin/sut command `bin/sut upgrade:check --schema1=https://domain1.com/graphql --schema2=https://domain2.com/graphql -c 2.4.1 INSTALLATION_DIR` @@ -75,7 +69,7 @@ You can also get a full report containing both _PHP-related_ errors and GraphQL. It provides a report identifying the affected non-magento modules, the severity and the description of the problem for every issue encountered: -> Example with a list of errors/warnings +#### Example with a list of errors/warnings ```php File: /app/code/Custom/CatalogExtension/Controller/Index/Index.php @@ -101,7 +95,7 @@ The report also includes a detailed summary: The lower this number is, the easier is to perform the upgrade. -> Example of a summary report +#### Example of a summary report ```php ------------------------ -------- @@ -121,7 +115,7 @@ The lower this number is, the easier is to perform the upgrade. Regarding the GraphQL schema compatibility comparison, the output would be very similar: -> Example with a list of errors/warnings for GraphQL +#### Example with a list of errors/warnings for GraphQL ```php * [ERROR] FIELD_CHANGED_KIND: ConfigurableProduct.gender changed type from Int to String. From a3485b37f27cb903447c54b84b1669cdc7c92fd9 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Fri, 4 Dec 2020 13:57:57 +0100 Subject: [PATCH 38/69] added links to composer and new relic --- src/sut/developer.md | 55 +++++++++++++++++++++++++++++++------------- src/sut/tracking.md | 4 +++- 2 files changed, 42 insertions(+), 17 deletions(-) diff --git a/src/sut/developer.md b/src/sut/developer.md index 2016817b709..51500d8da11 100644 --- a/src/sut/developer.md +++ b/src/sut/developer.md @@ -59,51 +59,74 @@ To run the integration tests, execute one of the following commands: We used the [Jest](https://jestjs.io/docs/en/getting-started.html) framework to create these JS unit tests: {:.bs-callout-info} -To run the js unit tests for graphql you need to have NodeJS installed. +To run JS unit tests for GraphQL, you must have Node.js installed. ### Node.js -To install _Node.js_ in your system, check the [_Node.js_](https://nodejs.dev/learn/how-to-install-nodejs) page for more information. +To install Node.js on your system, see the Node.js [documentation](https://nodejs.dev/learn/how-to-install-nodejs). -In case you have a MacOS system: +The following instructions are for MacOS systems: -1. Go inside `graphql-schema-compatibility` folder and run `npm install` -1. Then, you can execute `npm run unit-test` or `jest` -1. The tests are inside `graphql-schema-compatibility/test/js/unit` -1. The string schemas for testing are inside `dev/graphql_schemas` +1. Open a terminal and navigate to the `graphql-schema-compatibility/` directory. +1. Install project dependencies: + + ```bash + npm install + ``` + +1. Run unit tests or `jest`: + + ```bash + npm run unit-test + ``` + +The tests are inside `graphql-schema-compatibility/test/js/unit`. + +The string schemas for testing are inside `dev/graphql_schemas`. ## Complexity score -The **complexity score** is a figure that indicates how difficult is to upgrade from the current version to the new one. The lower this number is, the easier is to perform the upgrade. +The **complexity score** is a figure that indicates how difficult an upgrade from the current version to the new one might be. Lower numbers indicate easier upgrades. {:.bs-callout-info} -Its lowest value will be 0, but it doesn't necessarily need to be a number between 0 and 100. +Its lowest value can be 0. This score is based on the results extracted from the analysis: * Number of issues identified * Severity of issues identified -SUT calculates this score according to the following formula: +The SUT calculates this score according to the following formula: ### Complexity score formula -``Complexity Score = 2 * (# of errors) + 1 * (# of warnings)`` +`Complexity Score = 2 * (# of errors) + 1 * (# of warnings)` ## Packaging -1. To package SUT execute: +A package is essentially a directory containing something. It contains a package description which has a name and a version. The name and the version are used to identify the package. + +It is possible to create a `sut.zip` file of the SUT to distribute it with partners. In order to upload it, you need first to create a package: + +1. To package the SUT execute the following command: `bin/package VERSION` -### An exampple of packaging +### An example of a package `bin/package 0.0.1` -1. This generates a `sut.zip` file that we it is uploaded to the [Magento repo page](https://repo.magento.com). +1. This generates an `sut.zip` file that you can upload (or distribute) to the [Magento Composer repository](https://repo.magento.com). + +{:.bs-callout-warning} +A repository is a package source. Composer will look in all your repositories to find the packages your SUT requires. + +For more information about Composer, see the [Introduction to Magento Composer](https://devdocs.magento.com/guides/v2.4/extension-dev-guide/intro/intro-composer.html) topic. ## Distribution +One the SUT package is generated. You can upload it to the Magento Composer repository. + In order to distribute SUT: 1. Go to the [Magento create repo](https://repo.magento.com/admin/packagist/web/ceeerelease/create) topic and create a new release with the following parameters: @@ -120,6 +143,6 @@ In order to distribute SUT: ## Tracking -SUT tracking is a small AWS lambda done with GO. The code is available in the the [SUT github repository](https://github.com/magento-commerce/safe-upgrade-tool), inside the `sut-tracking` folder. +SUT tracking is a small AWS Lambda function handler written in Go. The code is available in the the [SUT tracking github repository](https://github.com/magento-commerce/safe-upgrade-tool-tracking), inside the `sut-tracking/` directory. -See the [Tracking guide]({{page.baseurl}}/sut/tracking.html) for detailed information about SUT tracking. +See [Tracking]({{page.baseurl}}/sut/tracking.html). diff --git a/src/sut/tracking.md b/src/sut/tracking.md index 03b6c75eaca..a1a267edc49 100644 --- a/src/sut/tracking.md +++ b/src/sut/tracking.md @@ -9,7 +9,9 @@ SUT tracking is a small AWS lambda done with GO. The code is available in the [S ## SUT tracking develop and deploy -This is a lambda implemented in GOLANG to receive tracking requests from SUT and it is stored in NewRelic. +This is a lambda implemented in GOLANG to receive tracking requests from SUT and it is stored in New Relic. + +For more information on New Relic, see [New Relic services]({{page.baseurl}}/cloud/project/new-relic.html) topic. ## Requirements From e3b2184a0d1f37553106d6fa645d91dd2ae6ab92 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Fri, 4 Dec 2020 14:02:06 +0100 Subject: [PATCH 39/69] added links to composer and new relic --- src/sut/developer.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/sut/developer.md b/src/sut/developer.md index 51500d8da11..fcfd440db9f 100644 --- a/src/sut/developer.md +++ b/src/sut/developer.md @@ -118,10 +118,10 @@ It is possible to create a `sut.zip` file of the SUT to distribute it with partn 1. This generates an `sut.zip` file that you can upload (or distribute) to the [Magento Composer repository](https://repo.magento.com). -{:.bs-callout-warning} -A repository is a package source. Composer will look in all your repositories to find the packages your SUT requires. +{:.bs-callout-info} +A repository is a package source. Composer will look in all your repositories to find the packages your SUT requires. If you need access to this repository, submit a [Magento Support ticket]({{page.baseurl}}/cloud/trouble/trouble.html) to request permissions. -For more information about Composer, see the [Introduction to Magento Composer](https://devdocs.magento.com/guides/v2.4/extension-dev-guide/intro/intro-composer.html) topic. +For more information about Composer, see the [Introduction to Magento Composer]({{page.baseurl}}/guides/v2.4/extension-dev-guide/intro/intro-composer.html) topic. ## Distribution From dda4583e467e176d3d5392747914ac2c6a6a5689 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Fri, 4 Dec 2020 14:05:15 +0100 Subject: [PATCH 40/69] fixed linting rule issues md009 --- src/sut/developer.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/sut/developer.md b/src/sut/developer.md index fcfd440db9f..0584010475a 100644 --- a/src/sut/developer.md +++ b/src/sut/developer.md @@ -68,8 +68,8 @@ To install Node.js on your system, see the Node.js [documentation](https://nodej The following instructions are for MacOS systems: 1. Open a terminal and navigate to the `graphql-schema-compatibility/` directory. -1. Install project dependencies: - +1. Install project dependencies: + ```bash npm install ``` @@ -106,7 +106,7 @@ The SUT calculates this score according to the following formula: A package is essentially a directory containing something. It contains a package description which has a name and a version. The name and the version are used to identify the package. -It is possible to create a `sut.zip` file of the SUT to distribute it with partners. In order to upload it, you need first to create a package: +It is possible to create a `sut.zip` file of the SUT to distribute it with partners. In order to upload it, you need first to create a package: 1. To package the SUT execute the following command: From 46e8bfcb355332381c17af5a172ef8ca8ff7f527 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Fri, 4 Dec 2020 14:16:25 +0100 Subject: [PATCH 41/69] fixed topics after peer review --- src/sut/developer.md | 6 +++--- src/sut/install.md | 2 -- src/sut/tracking.md | 48 ++++++++++++++++++++++++++++---------------- 3 files changed, 34 insertions(+), 22 deletions(-) diff --git a/src/sut/developer.md b/src/sut/developer.md index 0584010475a..f79d05944cb 100644 --- a/src/sut/developer.md +++ b/src/sut/developer.md @@ -76,9 +76,9 @@ The following instructions are for MacOS systems: 1. Run unit tests or `jest`: - ```bash - npm run unit-test - ``` + ```bash + npm run unit-test + ``` The tests are inside `graphql-schema-compatibility/test/js/unit`. diff --git a/src/sut/install.md b/src/sut/install.md index f2a87e04df8..3308f3085d6 100644 --- a/src/sut/install.md +++ b/src/sut/install.md @@ -5,8 +5,6 @@ functional_areas: - Upgrade --- -Welcome to the Magento Safe Upgrade Tool (SUT) page. - SUT is a CLI tool that checks a magento instance against a specific version by analysing all the non-magento modules installed in it. ## Workflow diff --git a/src/sut/tracking.md b/src/sut/tracking.md index a1a267edc49..86a6cc4d23e 100644 --- a/src/sut/tracking.md +++ b/src/sut/tracking.md @@ -7,45 +7,59 @@ functional_areas: SUT tracking is a small AWS lambda done with GO. The code is available in the [SUT github repository](https://github.com/magento-commerce/safe-upgrade-tool), inside the `sut-tracking` folder. -## SUT tracking develop and deploy +## Develop and deploy -This is a lambda implemented in GOLANG to receive tracking requests from SUT and it is stored in New Relic. +This is a Lambda function handler implemented in GOLANG to receive tracking requests from the SUT and is stored in New Relic. For more information on New Relic, see [New Relic services]({{page.baseurl}}/cloud/project/new-relic.html) topic. ## Requirements -In order to install the requirements for the SUT tracking execute the following command: +In order to install the necessary requirements: -`brew install aws-sam-cli` +1. Install dependencies for the SUT tracking functionality: -Then, run: + ```bash + brew install aws-sam-cli + ``` -`curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" sudo installer -pkg AWSCLIV2.pkg -target /` +2. Install: -## Development + ```bash + curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" sudo installer -pkg AWSCLIV2.pkg -target / + ``` -To develop SUT tracking, run: +### Develop -`sam build sam local start-api` +To develop SUT tracking: -Then, lambda will run in a `http://127.0.0.1:3000/` environment. +1. Run: -## Deploy + ```bash + sam build sam local start-api + ``` + +1. Lambda will run on `http://127.0.0.1:3000/`. + +### Deploy In order to deploy the SUT tracking: 1. Go to [KLAM](https://klam.corp.adobe.com/) -1. Navigate to `CLI` > `Bash` -1. Copy the content and paste it in your console -1. Then, edit the `template.yaml` file and set the `NEW_RELIC_API_KEY` with a valid newrelic api key -1. Finally, deploy SUT tracking by executing one of these commands: +1. Navigate to `CLI` > `Bash`. +1. Copy the content and paste it in your console. +1. Edit the `template.yaml` file and set the `NEW_RELIC_API_KEY` value to a valid New Relic API key. +1. Deploy SUT tracking by executing one of the following commands: - `sam deploy --guided` - `sam deploy` + ```bash + `sam deploy --guided` + `sam deploy` + ``` ## Delete app You can delete the SUT tracking by executing the following command: +```bash `aws cloudformation delete-stack --stack-name sut-tracking` +``` From c3873edd319f50d5e98958910aed848c7b050968 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Fri, 4 Dec 2020 14:18:22 +0100 Subject: [PATCH 42/69] fixed linting rule issues md029 --- src/sut/tracking.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sut/tracking.md b/src/sut/tracking.md index 86a6cc4d23e..7056b1a917d 100644 --- a/src/sut/tracking.md +++ b/src/sut/tracking.md @@ -23,7 +23,7 @@ In order to install the necessary requirements: brew install aws-sam-cli ``` -2. Install: +1. Install: ```bash curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" sudo installer -pkg AWSCLIV2.pkg -target / From 36d1f09504c5b519e5548263554bbd713d4cac5b Mon Sep 17 00:00:00 2001 From: Jeff Matthews Date: Mon, 7 Dec 2020 09:52:03 -0600 Subject: [PATCH 43/69] Removed acronym from directory path --- src/_data/toc/software-update-guide.yml | 12 ++++++------ .../v2.3/comp-mgr/bk-compman-upgrade-guide.md | 2 +- .../v2.4/comp-mgr/bk-compman-upgrade-guide.md | 2 +- src/{sut => safe-upgrade-tool}/developer.md | 6 +++--- src/{sut => safe-upgrade-tool}/img/mvp-diagram.png | Bin src/{sut => safe-upgrade-tool}/install.md | 8 ++++---- src/{sut => safe-upgrade-tool}/introduction.md | 4 ++-- src/{sut => safe-upgrade-tool}/prerequisites.md | 2 +- src/{sut => safe-upgrade-tool}/run.md | 2 +- src/{sut => safe-upgrade-tool}/tracking.md | 2 +- 10 files changed, 20 insertions(+), 20 deletions(-) rename src/{sut => safe-upgrade-tool}/developer.md (95%) rename src/{sut => safe-upgrade-tool}/img/mvp-diagram.png (100%) rename src/{sut => safe-upgrade-tool}/install.md (87%) rename src/{sut => safe-upgrade-tool}/introduction.md (67%) rename src/{sut => safe-upgrade-tool}/prerequisites.md (88%) rename src/{sut => safe-upgrade-tool}/run.md (97%) rename src/{sut => safe-upgrade-tool}/tracking.md (92%) diff --git a/src/_data/toc/software-update-guide.yml b/src/_data/toc/software-update-guide.yml index 35100724e3a..cf2dd26c013 100644 --- a/src/_data/toc/software-update-guide.yml +++ b/src/_data/toc/software-update-guide.yml @@ -22,28 +22,28 @@ pages: url: /comp-mgr/prereq/prereq_compman-checklist.html - label: Safe Upgrade Tool - url: /sut/introduction.html + url: /safe-upgrade-tool/introduction.html versionless: true children: - label: Prerequisites - url: /sut/prerequisites.html + url: /safe-upgrade-tool/prerequisites.html versionless: true - label: Install - url: /sut/install.html + url: /safe-upgrade-tool/install.html versionless: true - label: Run the tool - url: /sut/run.html + url: /safe-upgrade-tool/run.html versionless: true - label: Developer information - url: /sut/developer.html + url: /safe-upgrade-tool/developer.html versionless: true - label: Tracking - url: /sut/tracking.html + url: /safe-upgrade-tool/tracking.html versionless: true - label: Magento Marketplace example diff --git a/src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md b/src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md index 598877361d5..817649f3df7 100644 --- a/src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md +++ b/src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md @@ -54,7 +54,7 @@ Related topics Complete the tasks discussed in [Prerequisites]. {:.bs-callout-info} -See the [Safe upgrade tool section]({{page.baseurl}}/sut/introduction.html) for more information on the new CLI magento tool that helps you update your magento software. +See the [Safe upgrade tool section]({{ site.baseurl }}/safe-upgrade-tool/introduction.html) for more information on the new CLI magento tool that helps you update your magento software. *[contributing developer]: A developer who contributes code to the Magento 2 CE codebase diff --git a/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md b/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md index 60e3de03402..c2c2f6a1250 100644 --- a/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md +++ b/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md @@ -49,7 +49,7 @@ Related topics Complete the tasks discussed in [Prerequisites]. {:.bs-callout-info} -See the [Safe upgrade tool section]({{page.baseurl}}/sut/introduction.html) for more information on the new CLI magento tool that helps you update your magento software. +See the [Safe upgrade tool section]({{ site.baseurl }}/safe-upgrade-tool/introduction.html) for more information on the new CLI magento tool that helps you update your magento software. diff --git a/src/sut/developer.md b/src/safe-upgrade-tool/developer.md similarity index 95% rename from src/sut/developer.md rename to src/safe-upgrade-tool/developer.md index f79d05944cb..8cdd42e14c6 100644 --- a/src/sut/developer.md +++ b/src/safe-upgrade-tool/developer.md @@ -119,9 +119,9 @@ It is possible to create a `sut.zip` file of the SUT to distribute it with partn 1. This generates an `sut.zip` file that you can upload (or distribute) to the [Magento Composer repository](https://repo.magento.com). {:.bs-callout-info} -A repository is a package source. Composer will look in all your repositories to find the packages your SUT requires. If you need access to this repository, submit a [Magento Support ticket]({{page.baseurl}}/cloud/trouble/trouble.html) to request permissions. +A repository is a package source. Composer will look in all your repositories to find the packages your SUT requires. If you need access to this repository, submit a [Magento Support ticket]({{ site.baseurl }}/cloud/trouble/trouble.html) to request permissions. -For more information about Composer, see the [Introduction to Magento Composer]({{page.baseurl}}/guides/v2.4/extension-dev-guide/intro/intro-composer.html) topic. +For more information about Composer, see the [Introduction to Magento Composer]({{ site.baseurl }}/guides/v2.4/extension-dev-guide/intro/intro-composer.html) topic. ## Distribution @@ -145,4 +145,4 @@ In order to distribute SUT: SUT tracking is a small AWS Lambda function handler written in Go. The code is available in the the [SUT tracking github repository](https://github.com/magento-commerce/safe-upgrade-tool-tracking), inside the `sut-tracking/` directory. -See [Tracking]({{page.baseurl}}/sut/tracking.html). +See [Tracking]({{csite.baseurlc}}/safe-upgrade-tool/tracking.html). diff --git a/src/sut/img/mvp-diagram.png b/src/safe-upgrade-tool/img/mvp-diagram.png similarity index 100% rename from src/sut/img/mvp-diagram.png rename to src/safe-upgrade-tool/img/mvp-diagram.png diff --git a/src/sut/install.md b/src/safe-upgrade-tool/install.md similarity index 87% rename from src/sut/install.md rename to src/safe-upgrade-tool/install.md index 3308f3085d6..02c0b5c76fd 100644 --- a/src/sut/install.md +++ b/src/safe-upgrade-tool/install.md @@ -18,7 +18,7 @@ The following diagram shows the expected workflow when running SUT: A main use case for SUT describes the regular process for a magento partner to upgrade one of their Magento instances: 1. A partner's software engineer downloads the SUT and executes it during the beta phase of the newest Magento release. -1. Then, the engineer sees that there are several customized areas broken in the inventory and catalog modules, and she also gets a complexity score of X. See the [Developer information guide]({{page.baseurl}}/sut/developer.html) for more information on the complexity score. +1. Then, the engineer sees that there are several customized areas broken in the inventory and catalog modules, and she also gets a complexity score of X. See the [Developer information guide]({{ site.baseurl }}/safe-upgrade-tool/developer.html) for more information on the complexity score. 1. With this information, the engineer is able to understand the complexity of the upgrade and is able to relay this information back to the partner's account manager. 1. The account manager creates a timeline and cost for the Magento upgrade which allows them to get their managers approval. 1. With their managers approval, the software engineer works on the required code modifications to fix the broken modules. @@ -27,7 +27,7 @@ A main use case for SUT describes the regular process for a magento partner to u ## Prerequisites -See the [prerequisites checklist for SUT]({{page.baseurl}}/sut/prerequisites.html) for the minimum requisites required to run SUT. +See the [prerequisites checklist for SUT]({{ site.baseurl }}/safe-upgrade-tool/prerequisites.html) for the minimum requisites required to run SUT. {:.bs-callout-info} SUT should run in any operating system. It is not required to run the tool where your magento instance is located. @@ -46,7 +46,7 @@ Check that you have the **Magento access keys** in your system. If you do not ha Then, you will be able to create the **Magento access keys**. -See the [Access keys guide]({{page.baseurl}}/marketplace/sellers/profile-information.html) topic for more information on creating access keys. +See the [Access keys guide]({{ site.baseurl }}/marketplace/sellers/profile-information.html) topic for more information on creating access keys. Once you create the access keys, add them to your `auth.json` file, which is located by default in your `~/.composer` folder. @@ -81,4 +81,4 @@ To install _Node.js_ in your system, check the [_Node.js_](https://nodejs.dev/le Magento recommends that you contact your search engine vendor to determine whether your extension is fully compatible with Magento 2.4. -See the [Run the tool guide]({{page.baseurl}}/sut/run.html) for information about executing the SUT tool. \ No newline at end of file +See the [Run the tool guide]({{ site.baseurl }}/safe-upgrade-tool/run.html) for information about executing the SUT tool. \ No newline at end of file diff --git a/src/sut/introduction.md b/src/safe-upgrade-tool/introduction.md similarity index 67% rename from src/sut/introduction.md rename to src/safe-upgrade-tool/introduction.md index b8b6ee7031b..0c1147adeed 100644 --- a/src/sut/introduction.md +++ b/src/safe-upgrade-tool/introduction.md @@ -5,10 +5,10 @@ functional_areas: - Upgrade --- -SUT is a CLI tool that checks a magento instance against a specific version by analysing all the non-magento modules installed in it. +SUT is a CLI tool that checks a magento instance against a specific version by analyzing all the non-magento modules installed in it. SUT identifies which potential problems you have to fix within your customized code when trying to upgrade to a newer magento version. Running the tool will return a list of errors and warnings that you will have to take into account to complete the upgrade to the desired version. -Refer to the [SUT installation guide]({{page.baseurl}}/sut/install.html) for full instructions on how to install these prerequisites. +Refer to the [SUT installation guide]({{ site.baseurl }}/safe-upgrade-tool/install.html) for full instructions on how to install these prerequisites. diff --git a/src/sut/prerequisites.md b/src/safe-upgrade-tool/prerequisites.md similarity index 88% rename from src/sut/prerequisites.md rename to src/safe-upgrade-tool/prerequisites.md index ecfd2b4b8c4..57ddec3490e 100644 --- a/src/sut/prerequisites.md +++ b/src/safe-upgrade-tool/prerequisites.md @@ -21,4 +21,4 @@ The minimum requirements to run the SUT are: {:.bs-callout-info} You can run the SUT in any operating system. There is no requirement to run the SUT where your Magento instance is located. For example, you can install SUT in another server, and run it against where your magento instance is located. -Refer to the [SUT installation]({{page.baseurl}}/sut/install.html#install). +Refer to the [SUT installation]({{ site.baseurl }}/safe-upgrade-tool/install.html#install). diff --git a/src/sut/run.md b/src/safe-upgrade-tool/run.md similarity index 97% rename from src/sut/run.md rename to src/safe-upgrade-tool/run.md index 86727d18f84..e34f65a49c3 100644 --- a/src/sut/run.md +++ b/src/safe-upgrade-tool/run.md @@ -122,4 +122,4 @@ Regarding the GraphQL schema compatibility comparison, the output would be very * [WARNING] OPTIONAL_INPUT_FIELD_ADDED: An optional field sku on input type ProductAttributeSortInput was added. ``` -See the [Developer information guide]({{page.baseurl}}/sut/developer.html) for detailed technical information about SUT. +See the [Developer information guide]({{ site.baseurl }}/safe-upgrade-tool/developer.html) for detailed technical information about SUT. diff --git a/src/sut/tracking.md b/src/safe-upgrade-tool/tracking.md similarity index 92% rename from src/sut/tracking.md rename to src/safe-upgrade-tool/tracking.md index 7056b1a917d..31ecea5a2fa 100644 --- a/src/sut/tracking.md +++ b/src/safe-upgrade-tool/tracking.md @@ -11,7 +11,7 @@ SUT tracking is a small AWS lambda done with GO. The code is available in the [S This is a Lambda function handler implemented in GOLANG to receive tracking requests from the SUT and is stored in New Relic. -For more information on New Relic, see [New Relic services]({{page.baseurl}}/cloud/project/new-relic.html) topic. +For more information on New Relic, see [New Relic services]({{ site.baseurl }}/cloud/project/new-relic.html) topic. ## Requirements From 4228f3351eca9be191de85ec59f63aab2ac76da6 Mon Sep 17 00:00:00 2001 From: Jeff Matthews Date: Mon, 7 Dec 2020 11:01:34 -0600 Subject: [PATCH 44/69] Applied suggestions from initiall peer review --- src/safe-upgrade-tool/developer.md | 20 +++++++++++--------- src/safe-upgrade-tool/prerequisites.md | 2 +- src/safe-upgrade-tool/tracking.md | 11 +++++------ 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/safe-upgrade-tool/developer.md b/src/safe-upgrade-tool/developer.md index 8cdd42e14c6..5e743814784 100644 --- a/src/safe-upgrade-tool/developer.md +++ b/src/safe-upgrade-tool/developer.md @@ -70,15 +70,15 @@ The following instructions are for MacOS systems: 1. Open a terminal and navigate to the `graphql-schema-compatibility/` directory. 1. Install project dependencies: - ```bash - npm install - ``` + ```bash + npm install + ``` 1. Run unit tests or `jest`: - ```bash - npm run unit-test - ``` + ```bash + npm run unit-test + ``` The tests are inside `graphql-schema-compatibility/test/js/unit`. @@ -89,7 +89,7 @@ The string schemas for testing are inside `dev/graphql_schemas`. The **complexity score** is a figure that indicates how difficult an upgrade from the current version to the new one might be. Lower numbers indicate easier upgrades. {:.bs-callout-info} -Its lowest value can be 0. +Complexity scores range between 0 and 100. This score is based on the results extracted from the analysis: @@ -110,7 +110,9 @@ It is possible to create a `sut.zip` file of the SUT to distribute it with partn 1. To package the SUT execute the following command: -`bin/package VERSION` + ```bash + bin/package VERSION` + ``` ### An example of a package @@ -145,4 +147,4 @@ In order to distribute SUT: SUT tracking is a small AWS Lambda function handler written in Go. The code is available in the the [SUT tracking github repository](https://github.com/magento-commerce/safe-upgrade-tool-tracking), inside the `sut-tracking/` directory. -See [Tracking]({{csite.baseurlc}}/safe-upgrade-tool/tracking.html). +See [Tracking]({{ site.baseurl }}/safe-upgrade-tool/tracking.html). diff --git a/src/safe-upgrade-tool/prerequisites.md b/src/safe-upgrade-tool/prerequisites.md index 57ddec3490e..0c92264f387 100644 --- a/src/safe-upgrade-tool/prerequisites.md +++ b/src/safe-upgrade-tool/prerequisites.md @@ -19,6 +19,6 @@ The minimum requirements to run the SUT are: {:style="table-layout:auto;"} {:.bs-callout-info} -You can run the SUT in any operating system. There is no requirement to run the SUT where your Magento instance is located. For example, you can install SUT in another server, and run it against where your magento instance is located. +You can run the SUT in any operating system. There is no requirement to run the SUT where your Magento instance is located. For example, you can install SUT on another server and point it at your Magento installation on another server. Refer to the [SUT installation]({{ site.baseurl }}/safe-upgrade-tool/install.html#install). diff --git a/src/safe-upgrade-tool/tracking.md b/src/safe-upgrade-tool/tracking.md index 31ecea5a2fa..44c7b186eec 100644 --- a/src/safe-upgrade-tool/tracking.md +++ b/src/safe-upgrade-tool/tracking.md @@ -5,7 +5,7 @@ functional_areas: - Upgrade --- -SUT tracking is a small AWS lambda done with GO. The code is available in the [SUT github repository](https://github.com/magento-commerce/safe-upgrade-tool), inside the `sut-tracking` folder. +SUT tracking is a small AWS Lambda function handler written in Go. The code is available in the [SUT github repository](https://github.com/magento-commerce/safe-upgrade-tool), inside the `sut-tracking` directory. ## Develop and deploy @@ -23,7 +23,7 @@ In order to install the necessary requirements: brew install aws-sam-cli ``` -1. Install: +1. Install the AWS CLI tool: ```bash curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" sudo installer -pkg AWSCLIV2.pkg -target / @@ -49,11 +49,10 @@ In order to deploy the SUT tracking: 1. Navigate to `CLI` > `Bash`. 1. Copy the content and paste it in your console. 1. Edit the `template.yaml` file and set the `NEW_RELIC_API_KEY` value to a valid New Relic API key. -1. Deploy SUT tracking by executing one of the following commands: +1. Deploy SUT tracking: ```bash - `sam deploy --guided` - `sam deploy` + sam deploy --guided ``` ## Delete app @@ -61,5 +60,5 @@ In order to deploy the SUT tracking: You can delete the SUT tracking by executing the following command: ```bash -`aws cloudformation delete-stack --stack-name sut-tracking` +aws cloudformation delete-stack --stack-name sut-tracking ``` From f07d81e09f142599ec1e1756c24b5e92737bc499 Mon Sep 17 00:00:00 2001 From: Jeff Matthews Date: Mon, 7 Dec 2020 11:38:22 -0600 Subject: [PATCH 45/69] Copy edited files that were not part of innitial peer review --- src/safe-upgrade-tool/install.md | 44 +++++++++++------------ src/safe-upgrade-tool/introduction.md | 8 ++--- src/safe-upgrade-tool/prerequisites.md | 4 +-- src/safe-upgrade-tool/run.md | 48 ++++++++++++++++---------- 4 files changed, 55 insertions(+), 49 deletions(-) diff --git a/src/safe-upgrade-tool/install.md b/src/safe-upgrade-tool/install.md index 02c0b5c76fd..bcf0dc9286e 100644 --- a/src/safe-upgrade-tool/install.md +++ b/src/safe-upgrade-tool/install.md @@ -5,50 +5,46 @@ functional_areas: - Upgrade --- -SUT is a CLI tool that checks a magento instance against a specific version by analysing all the non-magento modules installed in it. +The Safe Upgrade Tool (SUT) is a command line (CLI) tool that checks a Magento instance against a specific version by analyzing all the non-Magento modules installed on it. ## Workflow -The following diagram shows the expected workflow when running SUT: +The following diagram shows the expected workflow when running the SUT: ![SUT Diagram](img/mvp-diagram.png) ### Who is the SUT for? -A main use case for SUT describes the regular process for a magento partner to upgrade one of their Magento instances: +The following use case describes the typical process for a Magento partner to upgrade a client's Magento instance: -1. A partner's software engineer downloads the SUT and executes it during the beta phase of the newest Magento release. -1. Then, the engineer sees that there are several customized areas broken in the inventory and catalog modules, and she also gets a complexity score of X. See the [Developer information guide]({{ site.baseurl }}/safe-upgrade-tool/developer.html) for more information on the complexity score. -1. With this information, the engineer is able to understand the complexity of the upgrade and is able to relay this information back to the partner's account manager. -1. The account manager creates a timeline and cost for the Magento upgrade which allows them to get their managers approval. -1. With their managers approval, the software engineer works on the required code modifications to fix the broken modules. -1. With Magento pre-releases, run the SUT tool one more time to ensure there were no new issues and her code changes fixed the problems found during the beta phase. -1. Everything check’s out and she will push the code to Staging where the automated tests will confirm all tests are green which will allow them to release the latest Magento version to Production the same day as Magento pre-release is released. +1. A partner's software Engineer downloads the SUT and executes it during the beta phase of the newest Magento release. +1. The Engineer sees that there are several customized areas broken in the inventory and catalog modules and they also get a complexity score of X. See the [Developer information guide]({{ site.baseurl }}/safe-upgrade-tool/developer.html) for more information on the complexity score. +1. With this information, the Engineer is able to understand the complexity of the upgrade and is able to relay this information back to the partner's Account Manager. +1. The Account Manager creates a timeline and cost for the Magento upgrade, which allows them to get their manager's approval. +1. With their manager's approval, the Engineer works on the required code modifications to fix the broken modules. +1. The Engineer runs the SUT tool one more time with a Magento pre-release to ensure there are no new issues and that their code changes fixed the problems found during the beta phase. +1. Everything check’s out and the Engineeer pushes the code to a staging environment where automated tests confirm all tests are green, which allows them to release the latest Magento version to production the same day that the Magento pre-release is released. ## Prerequisites -See the [prerequisites checklist for SUT]({{ site.baseurl }}/safe-upgrade-tool/prerequisites.html) for the minimum requisites required to run SUT. +See [prerequisites]({{ site.baseurl }}/safe-upgrade-tool/prerequisites.html). {:.bs-callout-info} -SUT should run in any operating system. It is not required to run the tool where your magento instance is located. +You can run the SUT in any operating system. There is no requirement to run the SUT where your Magento instance is located. For example, you can install the SUT on one server and point it at your Magento installation on another server. ## Install -In order to install SUT, it is required that you check/install the necessary prerequisites mentioned earlier: +To install the SUT, you must install the necessary prerequisites: * Magento access keys * Composer * Node.js -### Magento access keys - -Check that you have the **Magento access keys** in your system. If you do not have them, create an account at the [Magento marketplace](https://marketplace.magento.com/). +Refer to the [SUT installation]({{ site.baseurl }}/safe-upgrade-tool/install.html#install). -Then, you will be able to create the **Magento access keys**. - -See the [Access keys guide]({{ site.baseurl }}/marketplace/sellers/profile-information.html) topic for more information on creating access keys. +### Magento access keys -Once you create the access keys, add them to your `auth.json` file, which is located by default in your `~/.composer` folder. +You must have [Magento access keys]({{ site.baseurl }}/marketplace/sellers/profile-information.html#access-keys) to use the SUT. Add your Magento access keys to your `auth.json` file, which is located at `~/.composer` by default. {:.bs-callout-warning} Check your **COMPOSER_HOME** environment variable to see where the `auth.json` file is located. @@ -68,17 +64,17 @@ The **public key** corresponds to the _username_ whereas the **private key** is ### Composer -Clone this repository and, from the **safe-upgrade-tool** folder run `composer install` in your terminal to install its dependencies. +Clone the [safe-upgrade-tool](https://github.com/magento-commerce/safe-upgrade-tool) repository and run `composer install` in your terminal to install dependencies. {:.bs-callout-warning} -If the **Magento access keys** are not correctly configured, SUT will not be fully installed and you will get errors when running the `composer install` command in your terminal. +If the **Magento access keys** are not correctly configured, the SUT will not install and you will get errors when running the `composer install` command. ### Node.js -To install _Node.js_ in your system, check the [_Node.js_](https://nodejs.dev/learn/how-to-install-nodejs) page for more information. +To install Node.js, see the Node.js [documentation](https://nodejs.dev/learn/how-to-install-nodejs). ## Third-party extensions Magento recommends that you contact your search engine vendor to determine whether your extension is fully compatible with Magento 2.4. -See the [Run the tool guide]({{ site.baseurl }}/safe-upgrade-tool/run.html) for information about executing the SUT tool. \ No newline at end of file +See [Run the tool]({{ site.baseurl }}/safe-upgrade-tool/run.html) for information about executing the SUT tool. \ No newline at end of file diff --git a/src/safe-upgrade-tool/introduction.md b/src/safe-upgrade-tool/introduction.md index 0c1147adeed..1c61f9d1b33 100644 --- a/src/safe-upgrade-tool/introduction.md +++ b/src/safe-upgrade-tool/introduction.md @@ -5,10 +5,10 @@ functional_areas: - Upgrade --- -SUT is a CLI tool that checks a magento instance against a specific version by analyzing all the non-magento modules installed in it. +The Safe Upgrade Tool (SUT) is a command line (CLI) tool that checks a Magento instance against a specific version by analyzing all the non-Magento modules installed isn it. -SUT identifies which potential problems you have to fix within your customized code when trying to upgrade to a newer magento version. +The SUT identifies potential problems that must be fixed in your custom code before attempting to upgrade to a newer version of Magento. -Running the tool will return a list of errors and warnings that you will have to take into account to complete the upgrade to the desired version. +The tool returns a list of errors and warnings that you must address before upgrading to a new version of Magento. -Refer to the [SUT installation guide]({{ site.baseurl }}/safe-upgrade-tool/install.html) for full instructions on how to install these prerequisites. +Refer to the [Install]({{ site.baseurl }}/safe-upgrade-tool/install.html). diff --git a/src/safe-upgrade-tool/prerequisites.md b/src/safe-upgrade-tool/prerequisites.md index 0c92264f387..f84bad1bf6a 100644 --- a/src/safe-upgrade-tool/prerequisites.md +++ b/src/safe-upgrade-tool/prerequisites.md @@ -19,6 +19,4 @@ The minimum requirements to run the SUT are: {:style="table-layout:auto;"} {:.bs-callout-info} -You can run the SUT in any operating system. There is no requirement to run the SUT where your Magento instance is located. For example, you can install SUT on another server and point it at your Magento installation on another server. - -Refer to the [SUT installation]({{ site.baseurl }}/safe-upgrade-tool/install.html#install). +You can run the SUT in any operating system. There is no requirement to run the SUT where your Magento instance is located. For example, you can install SUT on one server and point it at your Magento installation on another server. Refer to the [SUT installation]({{ site.baseurl }}/safe-upgrade-tool/install.html#install). diff --git a/src/safe-upgrade-tool/run.md b/src/safe-upgrade-tool/run.md index e34f65a49c3..ab8b749a6e4 100644 --- a/src/safe-upgrade-tool/run.md +++ b/src/safe-upgrade-tool/run.md @@ -5,48 +5,58 @@ functional_areas: - Upgrade --- -Magento Safe Upgrade Tool (SUT) is a CLI tool that checks a magento instance against a specific version by analysing all the non-magento modules installed in it. +The Magento Safe Upgrade Tool (SUT) is a command line (CLI) tool that checks a Magento instance against a specific version by analyzing all the non-Magento modules installed on it. -SUT identifies which potential problems you have to fix within your customized code when trying to upgrade to a newer magento version. +potential problems that must be fixed in your custom code before attempting to upgrade to a newer version of Magento. -Running the tool will return a list of errors and warnings that you will have to take into account to complete the upgrade to the desired version. +The tool returns a list of errors and warnings that you must address before upgrading to a new version of Magento. ## Use SUT ### Memory limitations -When running SUT, the usage of memory depends entirely on the magento instance you are running. If you are running a system with large third-party modules and files, expect SUT to require a high RAM amount. +The SUT uses memory on your Magento instance to run—even if you installed the SUT on a different machine. If you are running a system with large third-party modules and files, the SUT requires a high amount of RAM. ### Executing the tool Execute the tool by running the following command: -`bin/sut upgrade:check INSTALLATION_DIR`. +```bash +bin/sut upgrade:check INSTALLATION_DIR +``` {:.bs-callout-info} -It is recommended to run `php -d memory_limit=-1 /bin/sut` to avoid memory limitations, as described earlier. +We recommend running `php -d memory_limit=-1 /bin/sut` to avoid memory limitations. + +The `INSTALLATION_DIR` value is the directory where your Magento instance is located. -`INSTALLATION_DIR` is the directory where the Magento instance is located. +To see SUT command options and help: -Run `bin/sut --help` to get all the different possibilities and options available when running SUT. +```bash +bin/sut --help +``` ### GraphQL schema compatibility verification -SUT also provides the option to introspect two GraphQL endpoints and compare their schemas looking for breaking and dangerous changes between them: +The SUT also provides the option to introspect two GraphQL endpoints and compare their schemas looking for breaking and dangerous changes between them: -`bin/sut graphql:compare https://domain1.com/graphql https://domain2.com/graphql` +```bash +bin/sut graphql:compare https://domain1.com/graphql https://domain2.com/graphql +``` ### Arguments and options #### Version -You can compare your current Magento 2 installation with Magento versions `>=2.3`. +You can compare your current Magento installation with Magento versions `>=2.3`. -You need to provide the version as a parameter when running the command: +You must provide the version as a parameter when running the command: -`bin/sut upgrade:check INSTALLATION_DIR -c 2.4.1` +```bash +bin/sut upgrade:check INSTALLATION_DIR -c 2.4.1 +``` -There are some limitations running that command: +There are some limitations when running the previous command: * This parameter refers to any tag that identifies a specific version of Magento. * It is a requirement to provide this one explicitly; providing only the value of it will not work. @@ -55,7 +65,7 @@ There are some limitations running that command: #### Full report -You can also get a full report containing both _PHP-related_ errors and GraphQL. In this case, you need to provide at least the following options: +You can also get a full report containing both _PHP-related_ errors and GraphQL. In this case, you must provide at least the following options: * `--schema1=SCHEMA1` * `--schema2=SCHEMA2` @@ -63,11 +73,13 @@ You can also get a full report containing both _PHP-related_ errors and GraphQL. #### Example of a bin/sut command -`bin/sut upgrade:check --schema1=https://domain1.com/graphql --schema2=https://domain2.com/graphql -c 2.4.1 INSTALLATION_DIR` +```bash +bin/sut upgrade:check --schema1=https://domain1.com/graphql --schema2=https://domain2.com/graphql -c 2.4.1 INSTALLATION_DIR +``` ### Output -It provides a report identifying the affected non-magento modules, the severity and the description of the problem for every issue encountered: +The SUT provides a report identifying the affected non-Magento modules and the severity and description of the problem for every issue encountered: #### Example with a list of errors/warnings @@ -122,4 +134,4 @@ Regarding the GraphQL schema compatibility comparison, the output would be very * [WARNING] OPTIONAL_INPUT_FIELD_ADDED: An optional field sku on input type ProductAttributeSortInput was added. ``` -See the [Developer information guide]({{ site.baseurl }}/safe-upgrade-tool/developer.html) for detailed technical information about SUT. +See [Developer information]({{ site.baseurl }}/safe-upgrade-tool/developer.html). From 19ee29a6d61183ce5419030f91bbdd8726da15d4 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 17 Dec 2020 15:00:48 +0100 Subject: [PATCH 46/69] reviewed topics and pages after discussion with ENG about SUT public docs. Removed tracking topic --- src/safe-upgrade-tool/developer.md | 29 ++++++------ src/safe-upgrade-tool/introduction.md | 6 ++- src/safe-upgrade-tool/prerequisites.md | 2 +- src/safe-upgrade-tool/tracking.md | 64 -------------------------- 4 files changed, 20 insertions(+), 81 deletions(-) delete mode 100644 src/safe-upgrade-tool/tracking.md diff --git a/src/safe-upgrade-tool/developer.md b/src/safe-upgrade-tool/developer.md index 5e743814784..5acea0def4f 100644 --- a/src/safe-upgrade-tool/developer.md +++ b/src/safe-upgrade-tool/developer.md @@ -5,10 +5,13 @@ functional_areas: - Upgrade --- -This topic contains information for developers who want to know more technical information about the Magento Safe Upgrade Tool (SUT). You can use this knowledge to customize the SUT's components. +This topic contains information for developers who want to know more technical information about the Magento Safe Upgrade Tool (SUT). It is focused on developers who work closely with the Magento source code. You can use this knowledge to customize the SUT's components. ## M-Ray integration + +M-Ray integration is an internal integration solution. + The integration with M-Ray is done through: `Sut\Domain\MRay\MRayInterface` @@ -106,7 +109,9 @@ The SUT calculates this score according to the following formula: A package is essentially a directory containing something. It contains a package description which has a name and a version. The name and the version are used to identify the package. -It is possible to create a `sut.zip` file of the SUT to distribute it with partners. In order to upload it, you need first to create a package: +It is possible to create a `sut.zip` file of the SUT to distribute it with partners as a composer package. + +In order to upload it to be able to distribute it, you need first to create the package: 1. To package the SUT execute the following command: @@ -118,16 +123,18 @@ It is possible to create a `sut.zip` file of the SUT to distribute it with partn `bin/package 0.0.1` -1. This generates an `sut.zip` file that you can upload (or distribute) to the [Magento Composer repository](https://repo.magento.com). +1. This generates an `sut.zip` file that you can upload (or distribute with) to the [Magento Composer repository](https://repo.magento.com). {:.bs-callout-info} -A repository is a package source. Composer will look in all your repositories to find the packages your SUT requires. If you need access to this repository, submit a [Magento Support ticket]({{ site.baseurl }}/cloud/trouble/trouble.html) to request permissions. +A repository is a package source. Composer will look in all your repositories to find the packages your SUT requires. + +If you need access to the [Magento Composer repository](https://repo.magento.com), submit a [Magento Support ticket]({{site.baseurl}}/cloud/trouble/trouble.html) to request permissions and an account. -For more information about Composer, see the [Introduction to Magento Composer]({{ site.baseurl }}/guides/v2.4/extension-dev-guide/intro/intro-composer.html) topic. +For more information about Composer, see the [Introduction to Magento Composer]({{site.baseurl}}/guides/v2.4/extension-dev-guide/intro/intro-composer.html) topic. ## Distribution -One the SUT package is generated. You can upload it to the Magento Composer repository. +One the SUT package is generated. You can upload it to the [Magento Composer repository](https://repo.magento.com). In order to distribute SUT: @@ -135,16 +142,10 @@ In order to distribute SUT: * Name: `magento/safe-upgrade-tool-VERSION` -1. Go to the [Magento upload repo](https://repo.magento.com/admin/upload_m2_version) topic to upload the `sut.zip` with the following parameters: +2. Go to the [Magento upload repo](https://repo.magento.com/admin/upload_m2_version) topic to upload the `sut.zip` with the following parameters: * Extension package: `sut.zip` * Release: `magento/safe-upgrade-tool-VERSION` * Edition: CE -1. Finally, go to the [Magento version repo](https://repo.magento.com/admin/packagist/web/version/list) topic to check that the new version has been created. - -## Tracking - -SUT tracking is a small AWS Lambda function handler written in Go. The code is available in the the [SUT tracking github repository](https://github.com/magento-commerce/safe-upgrade-tool-tracking), inside the `sut-tracking/` directory. - -See [Tracking]({{ site.baseurl }}/safe-upgrade-tool/tracking.html). +3. Finally, go to the [Magento version repo](https://repo.magento.com/admin/packagist/web/version/list) topic to check that the new version has been created. diff --git a/src/safe-upgrade-tool/introduction.md b/src/safe-upgrade-tool/introduction.md index 1c61f9d1b33..f30bd60ca7d 100644 --- a/src/safe-upgrade-tool/introduction.md +++ b/src/safe-upgrade-tool/introduction.md @@ -5,10 +5,12 @@ functional_areas: - Upgrade --- -The Safe Upgrade Tool (SUT) is a command line (CLI) tool that checks a Magento instance against a specific version by analyzing all the non-Magento modules installed isn it. +The Safe Upgrade Tool (SUT) is a command line (CLI) tool that checks a Magento instance against a specific version by analyzing all the non-Magento modules installed in it. The SUT identifies potential problems that must be fixed in your custom code before attempting to upgrade to a newer version of Magento. The tool returns a list of errors and warnings that you must address before upgrading to a new version of Magento. -Refer to the [Install]({{ site.baseurl }}/safe-upgrade-tool/install.html). +This tool is distributed as a composer package with every release of a Magento version. See [Developer]({{site.baseurl}}/safe-upgrade-tool/developer.html) topic for more information. + +Refer to the [Install]({{site.baseurl}}/safe-upgrade-tool/install.html) for first steps with SUT. diff --git a/src/safe-upgrade-tool/prerequisites.md b/src/safe-upgrade-tool/prerequisites.md index f84bad1bf6a..7135b09196d 100644 --- a/src/safe-upgrade-tool/prerequisites.md +++ b/src/safe-upgrade-tool/prerequisites.md @@ -19,4 +19,4 @@ The minimum requirements to run the SUT are: {:style="table-layout:auto;"} {:.bs-callout-info} -You can run the SUT in any operating system. There is no requirement to run the SUT where your Magento instance is located. For example, you can install SUT on one server and point it at your Magento installation on another server. Refer to the [SUT installation]({{ site.baseurl }}/safe-upgrade-tool/install.html#install). +You can run the SUT in any operating system. There is no requirement to run the SUT where your Magento instance is located. For example, you can install SUT on one server and point it at your Magento installation on another server. Refer to the [install]({{site.baseurl}}/safe-upgrade-tool/install.html#install). diff --git a/src/safe-upgrade-tool/tracking.md b/src/safe-upgrade-tool/tracking.md deleted file mode 100644 index 44c7b186eec..00000000000 --- a/src/safe-upgrade-tool/tracking.md +++ /dev/null @@ -1,64 +0,0 @@ ---- -group: software-update-guide -title: Tracking -functional_areas: - - Upgrade ---- - -SUT tracking is a small AWS Lambda function handler written in Go. The code is available in the [SUT github repository](https://github.com/magento-commerce/safe-upgrade-tool), inside the `sut-tracking` directory. - -## Develop and deploy - -This is a Lambda function handler implemented in GOLANG to receive tracking requests from the SUT and is stored in New Relic. - -For more information on New Relic, see [New Relic services]({{ site.baseurl }}/cloud/project/new-relic.html) topic. - -## Requirements - -In order to install the necessary requirements: - -1. Install dependencies for the SUT tracking functionality: - - ```bash - brew install aws-sam-cli - ``` - -1. Install the AWS CLI tool: - - ```bash - curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" sudo installer -pkg AWSCLIV2.pkg -target / - ``` - -### Develop - -To develop SUT tracking: - -1. Run: - - ```bash - sam build sam local start-api - ``` - -1. Lambda will run on `http://127.0.0.1:3000/`. - -### Deploy - -In order to deploy the SUT tracking: - -1. Go to [KLAM](https://klam.corp.adobe.com/) -1. Navigate to `CLI` > `Bash`. -1. Copy the content and paste it in your console. -1. Edit the `template.yaml` file and set the `NEW_RELIC_API_KEY` value to a valid New Relic API key. -1. Deploy SUT tracking: - - ```bash - sam deploy --guided - ``` - -## Delete app - -You can delete the SUT tracking by executing the following command: - -```bash -aws cloudformation delete-stack --stack-name sut-tracking -``` From 73ae70af01116cc336b737389e426bdcf553d0d9 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 17 Dec 2020 15:06:05 +0100 Subject: [PATCH 47/69] Fixed linting issue MD029 --- src/safe-upgrade-tool/developer.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/safe-upgrade-tool/developer.md b/src/safe-upgrade-tool/developer.md index 5acea0def4f..cc8cdf71019 100644 --- a/src/safe-upgrade-tool/developer.md +++ b/src/safe-upgrade-tool/developer.md @@ -9,7 +9,6 @@ This topic contains information for developers who want to know more technical i ## M-Ray integration - M-Ray integration is an internal integration solution. The integration with M-Ray is done through: @@ -134,7 +133,7 @@ For more information about Composer, see the [Introduction to Magento Composer]( ## Distribution -One the SUT package is generated. You can upload it to the [Magento Composer repository](https://repo.magento.com). +Once the SUT package is generated, you can upload it to the [Magento Composer repository](https://repo.magento.com). In order to distribute SUT: @@ -142,10 +141,10 @@ In order to distribute SUT: * Name: `magento/safe-upgrade-tool-VERSION` -2. Go to the [Magento upload repo](https://repo.magento.com/admin/upload_m2_version) topic to upload the `sut.zip` with the following parameters: +1. Go to the [Magento upload repo](https://repo.magento.com/admin/upload_m2_version) topic to upload the `sut.zip` with the following parameters: * Extension package: `sut.zip` * Release: `magento/safe-upgrade-tool-VERSION` * Edition: CE -3. Finally, go to the [Magento version repo](https://repo.magento.com/admin/packagist/web/version/list) topic to check that the new version has been created. +1. Finally, go to the [Magento version repo](https://repo.magento.com/admin/packagist/web/version/list) topic to check that the new version has been created. From 562e83bbf7570e9c38065ddb6c5205959fff2704 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 17 Dec 2020 15:18:30 +0100 Subject: [PATCH 48/69] Added a banner in page-header.html --- src/_includes/layout/page-header.html | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/_includes/layout/page-header.html b/src/_includes/layout/page-header.html index 8061b813381..a28584077d6 100644 --- a/src/_includes/layout/page-header.html +++ b/src/_includes/layout/page-header.html @@ -42,4 +42,9 @@

{{ page.subtitle }}

{% endif %} + {% if page.url contains "safe-upgrade-tool/" %} +
+ This tool is a BETA and is not yet available for all customers. Submit a [Magento Support ticket]({{site.baseurl}}/cloud/trouble/trouble.html) for assistance and questions.
+ {% endif %} + From 943e4a77fc7195f8bb5c484e11fa37e17c966b15 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 17 Dec 2020 15:30:08 +0100 Subject: [PATCH 49/69] Added a banner in page-header.html --- src/_includes/layout/page-header.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_includes/layout/page-header.html b/src/_includes/layout/page-header.html index a28584077d6..4011d6fc4cd 100644 --- a/src/_includes/layout/page-header.html +++ b/src/_includes/layout/page-header.html @@ -44,7 +44,7 @@

{{ page.subtitle }}

{% if page.url contains "safe-upgrade-tool/" %}
- This tool is a BETA and is not yet available for all customers. Submit a [Magento Support ticket]({{site.baseurl}}/cloud/trouble/trouble.html) for assistance and questions.
+ This tool is still in BETA and is not yet available for all customers. Submit a Magento Support ticket for assistance and questions. {% endif %} From 10e8699533ece2398f5b35b6399652a6566db68d Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 17 Dec 2020 15:59:26 +0100 Subject: [PATCH 50/69] Modified banner as ALPHA --- src/_includes/layout/page-header.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_includes/layout/page-header.html b/src/_includes/layout/page-header.html index 4011d6fc4cd..fff9ef62c49 100644 --- a/src/_includes/layout/page-header.html +++ b/src/_includes/layout/page-header.html @@ -44,7 +44,7 @@

{{ page.subtitle }}

{% if page.url contains "safe-upgrade-tool/" %}
- This tool is still in BETA and is not yet available for all customers. Submit a Magento Support ticket for assistance and questions.
+ This tool is still in ALPHA and is not yet available for all customers. Submit a Magento Support ticket for assistance and questions. {% endif %} From 982d2046204ea0822a94b383caa126a288cdb4d9 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Mon, 21 Dec 2020 16:36:40 +0100 Subject: [PATCH 51/69] Updated topic after peer review --- src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md | 3 ++- src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md b/src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md index 817649f3df7..cf3b00d8aab 100644 --- a/src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md +++ b/src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md @@ -54,7 +54,8 @@ Related topics Complete the tasks discussed in [Prerequisites]. {:.bs-callout-info} -See the [Safe upgrade tool section]({{ site.baseurl }}/safe-upgrade-tool/introduction.html) for more information on the new CLI magento tool that helps you update your magento software. +See the [Safe Upgrade Tool]({{site.baseurl}}/safe-upgrade-tool/introduction.html) for more information about the new Magento CLI tool that helps you update your Magento software. + *[contributing developer]: A developer who contributes code to the Magento 2 CE codebase diff --git a/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md b/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md index c2c2f6a1250..effdfd312d5 100644 --- a/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md +++ b/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md @@ -49,7 +49,7 @@ Related topics Complete the tasks discussed in [Prerequisites]. {:.bs-callout-info} -See the [Safe upgrade tool section]({{ site.baseurl }}/safe-upgrade-tool/introduction.html) for more information on the new CLI magento tool that helps you update your magento software. +See the [Safe Upgrade Tool]({{site.baseurl}}/safe-upgrade-tool/introduction.html) for more information about the new Magento CLI tool that helps you update your Magento software. From 65fdc671edcfa37bfe2dddbc2aa8240ae75ee634 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Mon, 21 Dec 2020 16:40:49 +0100 Subject: [PATCH 52/69] Updated topic after peer review - continue --- src/safe-upgrade-tool/developer.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/safe-upgrade-tool/developer.md b/src/safe-upgrade-tool/developer.md index cc8cdf71019..7bce4744e85 100644 --- a/src/safe-upgrade-tool/developer.md +++ b/src/safe-upgrade-tool/developer.md @@ -15,7 +15,7 @@ The integration with M-Ray is done through: `Sut\Domain\MRay\MRayInterface` -Its implementation is through the `config/services.yaml` file. Its value decides where the response of methods `api()` and `modules()` comes from. +It is implemented through the `config/services.yaml` file. Its value decides where the response of methods `api()` and `modules()` comes from. Edit this file to customize the response according to your installation. Just replace the value assigned to `Sut\Domain\MRay\MRayInterface`: @@ -53,8 +53,8 @@ To run the integration tests, execute one of the following commands: 1. Change the `TESTS_BASE_URL` value to point to the Magento URL that you want to test. 1. To run the acceptance tests, execute one of the following commands: -* `vendor/bin/phpunit -c tests/acceptance/phpunit.xml tests/acceptance` -* `vendor/bin/phpunit -c tests/acceptance/phpunit.xml --testsuite=acceptance-tests` + * `vendor/bin/phpunit -c tests/acceptance/phpunit.xml tests/acceptance` + * `vendor/bin/phpunit -c tests/acceptance/phpunit.xml --testsuite=acceptance-tests` ## JS unit testing for GraphQL @@ -108,11 +108,9 @@ The SUT calculates this score according to the following formula: A package is essentially a directory containing something. It contains a package description which has a name and a version. The name and the version are used to identify the package. -It is possible to create a `sut.zip` file of the SUT to distribute it with partners as a composer package. +It is possible to create a `sut.zip` file of the SUT to distribute it as a Composer package. -In order to upload it to be able to distribute it, you need first to create the package: - -1. To package the SUT execute the following command: +1. To package the SUT, execute the following command: ```bash bin/package VERSION` From 607febfa33916cfc18161e52d87cd4cea418aff4 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Tue, 5 Jan 2021 15:58:25 +0100 Subject: [PATCH 53/69] Removed entry in TOC about tracking --- src/_data/toc/software-update-guide.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/_data/toc/software-update-guide.yml b/src/_data/toc/software-update-guide.yml index cf2dd26c013..d0d1f4f8e3b 100644 --- a/src/_data/toc/software-update-guide.yml +++ b/src/_data/toc/software-update-guide.yml @@ -42,10 +42,6 @@ pages: url: /safe-upgrade-tool/developer.html versionless: true - - label: Tracking - url: /safe-upgrade-tool/tracking.html - versionless: true - - label: Magento Marketplace example url: /comp-mgr/marketplace/marketplace.html include_versions: ["2.3"] From c1f33e07fbfb594f04ca4af0c8aa63774c188eb9 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Fri, 8 Jan 2021 12:42:30 +0100 Subject: [PATCH 54/69] Reviewed comments in PR --- src/_includes/layout/page-header.html | 3 +- .../v2.3/comp-mgr/bk-compman-upgrade-guide.md | 2 +- .../v2.4/comp-mgr/bk-compman-upgrade-guide.md | 2 +- src/safe-upgrade-tool/developer.md | 51 ++----------------- src/safe-upgrade-tool/install.md | 26 ++++++---- src/safe-upgrade-tool/introduction.md | 11 ++-- src/safe-upgrade-tool/prerequisites.md | 6 +-- src/safe-upgrade-tool/run.md | 11 ++-- 8 files changed, 42 insertions(+), 70 deletions(-) diff --git a/src/_includes/layout/page-header.html b/src/_includes/layout/page-header.html index fff9ef62c49..e554c2ab141 100644 --- a/src/_includes/layout/page-header.html +++ b/src/_includes/layout/page-header.html @@ -44,7 +44,8 @@

{{ page.subtitle }}

{% if page.url contains "safe-upgrade-tool/" %}
- This tool is still in ALPHA and is not yet available for all customers. Submit a Magento Support ticket for assistance and questions.
+ This tool is still in ALPHA with limited scope. If you are a Magento Commerce user you can download it at [Magento repo](https://repo.magento.com/). + {% endif %} diff --git a/src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md b/src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md index cf3b00d8aab..e002ce99f3e 100644 --- a/src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md +++ b/src/guides/v2.3/comp-mgr/bk-compman-upgrade-guide.md @@ -54,7 +54,7 @@ Related topics Complete the tasks discussed in [Prerequisites]. {:.bs-callout-info} -See the [Safe Upgrade Tool]({{site.baseurl}}/safe-upgrade-tool/introduction.html) for more information about the new Magento CLI tool that helps you update your Magento software. +See the [Safe Upgrade Tool ALPHA]({{site.baseurl}}/safe-upgrade-tool/introduction.html) for more information about the new Magento CLI tool that helps you update your Magento software. diff --git a/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md b/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md index effdfd312d5..f0bc8a22531 100644 --- a/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md +++ b/src/guides/v2.4/comp-mgr/bk-compman-upgrade-guide.md @@ -49,7 +49,7 @@ Related topics Complete the tasks discussed in [Prerequisites]. {:.bs-callout-info} -See the [Safe Upgrade Tool]({{site.baseurl}}/safe-upgrade-tool/introduction.html) for more information about the new Magento CLI tool that helps you update your Magento software. +See the [Safe Upgrade Tool ALPHA]({{site.baseurl}}/safe-upgrade-tool/introduction.html) for more information about the new Magento CLI tool that helps you update your Magento software. diff --git a/src/safe-upgrade-tool/developer.md b/src/safe-upgrade-tool/developer.md index 7bce4744e85..d98a6fea4ec 100644 --- a/src/safe-upgrade-tool/developer.md +++ b/src/safe-upgrade-tool/developer.md @@ -5,13 +5,13 @@ functional_areas: - Upgrade --- -This topic contains information for developers who want to know more technical information about the Magento Safe Upgrade Tool (SUT). It is focused on developers who work closely with the Magento source code. You can use this knowledge to customize the SUT's components. +This topic contains information for developers who want to know more technical information about the Magento Safe Upgrade Tool ALPHA (SUT). It is focused on developers who work closely with the Magento source code. You can use this knowledge to customize the SUT's components. -## M-Ray integration +## Magento API index integration -M-Ray integration is an internal integration solution. +Magento API index integration is an internal integration solution that comprehends a set of tools to explore Magento Extensions developed by Magento, an Adobe Company, Magento Partners and 3rd party vendors based on static code analysis. -The integration with M-Ray is done through: +The integration with Magento API index is done through: `Sut\Domain\MRay\MRayInterface` @@ -103,46 +103,3 @@ The SUT calculates this score according to the following formula: ### Complexity score formula `Complexity Score = 2 * (# of errors) + 1 * (# of warnings)` - -## Packaging - -A package is essentially a directory containing something. It contains a package description which has a name and a version. The name and the version are used to identify the package. - -It is possible to create a `sut.zip` file of the SUT to distribute it as a Composer package. - -1. To package the SUT, execute the following command: - - ```bash - bin/package VERSION` - ``` - -### An example of a package - -`bin/package 0.0.1` - -1. This generates an `sut.zip` file that you can upload (or distribute with) to the [Magento Composer repository](https://repo.magento.com). - -{:.bs-callout-info} -A repository is a package source. Composer will look in all your repositories to find the packages your SUT requires. - -If you need access to the [Magento Composer repository](https://repo.magento.com), submit a [Magento Support ticket]({{site.baseurl}}/cloud/trouble/trouble.html) to request permissions and an account. - -For more information about Composer, see the [Introduction to Magento Composer]({{site.baseurl}}/guides/v2.4/extension-dev-guide/intro/intro-composer.html) topic. - -## Distribution - -Once the SUT package is generated, you can upload it to the [Magento Composer repository](https://repo.magento.com). - -In order to distribute SUT: - -1. Go to the [Magento create repo](https://repo.magento.com/admin/packagist/web/ceeerelease/create) topic and create a new release with the following parameters: - - * Name: `magento/safe-upgrade-tool-VERSION` - -1. Go to the [Magento upload repo](https://repo.magento.com/admin/upload_m2_version) topic to upload the `sut.zip` with the following parameters: - - * Extension package: `sut.zip` - * Release: `magento/safe-upgrade-tool-VERSION` - * Edition: CE - -1. Finally, go to the [Magento version repo](https://repo.magento.com/admin/packagist/web/version/list) topic to check that the new version has been created. diff --git a/src/safe-upgrade-tool/install.md b/src/safe-upgrade-tool/install.md index bcf0dc9286e..091f5309716 100644 --- a/src/safe-upgrade-tool/install.md +++ b/src/safe-upgrade-tool/install.md @@ -5,7 +5,10 @@ functional_areas: - Upgrade --- -The Safe Upgrade Tool (SUT) is a command line (CLI) tool that checks a Magento instance against a specific version by analyzing all the non-Magento modules installed on it. +The Safe Upgrade Tool ALPHA (SUT) is a command line (CLI) tool that checks a Magento instance against a specific version by analyzing all the non-Magento modules installed on it. + +{:.bs-callout-warning} +At the moment this is an ALPHA version with limited scope, only validating PHP Magento APIs and GraphQL schema. ## Workflow @@ -17,20 +20,20 @@ The following diagram shows the expected workflow when running the SUT: The following use case describes the typical process for a Magento partner to upgrade a client's Magento instance: -1. A partner's software Engineer downloads the SUT and executes it during the beta phase of the newest Magento release. -1. The Engineer sees that there are several customized areas broken in the inventory and catalog modules and they also get a complexity score of X. See the [Developer information guide]({{ site.baseurl }}/safe-upgrade-tool/developer.html) for more information on the complexity score. -1. With this information, the Engineer is able to understand the complexity of the upgrade and is able to relay this information back to the partner's Account Manager. +1. A partner's Software Engineer downloads the SUT and executes it during the beta phase of the newest Magento release. +1. The Software Engineer sees that there are several customized areas broken in the inventory and catalog modules and they also get a complexity score of X. See the [Developer information guide]({{site.baseurl}}/safe-upgrade-tool/developer.html) for more information on the complexity score. +1. With this information, the Software Engineer is able to understand the complexity of the upgrade and is able to relay this information back to the partner's Account Manager. 1. The Account Manager creates a timeline and cost for the Magento upgrade, which allows them to get their manager's approval. -1. With their manager's approval, the Engineer works on the required code modifications to fix the broken modules. -1. The Engineer runs the SUT tool one more time with a Magento pre-release to ensure there are no new issues and that their code changes fixed the problems found during the beta phase. -1. Everything check’s out and the Engineeer pushes the code to a staging environment where automated tests confirm all tests are green, which allows them to release the latest Magento version to production the same day that the Magento pre-release is released. +1. With their manager's approval, the Software Engineer works on the required code modifications to fix the broken modules. +1. The Software Engineer runs the SUT tool one more time with a Magento pre-release to ensure there are no new issues and that their code changes fixed the problems found during the beta phase. +1. Everything check’s out and the Software Engineer pushes the code to a staging environment where regression tests confirm all tests are green, which allows them to release the latest Magento version to production the same day that the Magento pre-release is released. ## Prerequisites See [prerequisites]({{ site.baseurl }}/safe-upgrade-tool/prerequisites.html). {:.bs-callout-info} -You can run the SUT in any operating system. There is no requirement to run the SUT where your Magento instance is located. For example, you can install the SUT on one server and point it at your Magento installation on another server. +You can run the SUT in any operating system. There is no requirement to run the SUT where your Magento instance is located. It is necessary for SUT to have access to the source code of the Magento instance. For example, you can install the SUT on one server and point it at your Magento installation on another server. ## Install @@ -38,7 +41,7 @@ To install the SUT, you must install the necessary prerequisites: * Magento access keys * Composer -* Node.js +* Node.js (only required to check GraphQL compatibility) Refer to the [SUT installation]({{ site.baseurl }}/safe-upgrade-tool/install.html#install). @@ -73,8 +76,11 @@ If the **Magento access keys** are not correctly configured, the SUT will not in To install Node.js, see the Node.js [documentation](https://nodejs.dev/learn/how-to-install-nodejs). +{:.bs-callout-info} +Node.js is only a requirement to check GraphQL compatibility. + ## Third-party extensions Magento recommends that you contact your search engine vendor to determine whether your extension is fully compatible with Magento 2.4. -See [Run the tool]({{ site.baseurl }}/safe-upgrade-tool/run.html) for information about executing the SUT tool. \ No newline at end of file +See [Run the tool]({{site.baseurl}}/safe-upgrade-tool/run.html) for information about executing the SUT tool. \ No newline at end of file diff --git a/src/safe-upgrade-tool/introduction.md b/src/safe-upgrade-tool/introduction.md index f30bd60ca7d..5d23c63fed6 100644 --- a/src/safe-upgrade-tool/introduction.md +++ b/src/safe-upgrade-tool/introduction.md @@ -5,12 +5,15 @@ functional_areas: - Upgrade --- -The Safe Upgrade Tool (SUT) is a command line (CLI) tool that checks a Magento instance against a specific version by analyzing all the non-Magento modules installed in it. +The Safe Upgrade Tool ALPHA (SUT) is a command line (CLI) tool that checks a Magento instance against a specific version by analyzing all the non-Magento modules installed in it. -The SUT identifies potential problems that must be fixed in your custom code before attempting to upgrade to a newer version of Magento. +The SUT identifies potential problems that must be fixed in your custom code before attempting to upgrade to a newer version of Magento. SUT complements another tool called [Ampersand]((https://github.com/AmpersandHQ/ampersand-magento2-upgrade-patch-helper). -The tool returns a list of errors and warnings that you must address before upgrading to a new version of Magento. +The SUT returns a list of errors and warnings that you must address before upgrading to a new version of Magento. -This tool is distributed as a composer package with every release of a Magento version. See [Developer]({{site.baseurl}}/safe-upgrade-tool/developer.html) topic for more information. +It is distributed as a Composer package with every release of a Magento version. See [Developer]({{site.baseurl}}/safe-upgrade-tool/developer.html) topic for more information. Refer to the [Install]({{site.baseurl}}/safe-upgrade-tool/install.html) for first steps with SUT. + +{:.bs-callout-warning} +At the moment this is an ALPHA version with limited scope, only validating PHP Magento APIs and GraphQL schema. \ No newline at end of file diff --git a/src/safe-upgrade-tool/prerequisites.md b/src/safe-upgrade-tool/prerequisites.md index 7135b09196d..102dda03f8c 100644 --- a/src/safe-upgrade-tool/prerequisites.md +++ b/src/safe-upgrade-tool/prerequisites.md @@ -5,7 +5,7 @@ functional_areas: - Upgrade --- -Running the Safe Upgrade Tool (SUT) helps you identify what you must do **before** upgrading Magento. +Running the Safe Upgrade Tool ALPHA (SUT) helps you identify what you must do **before** upgrading Magento. The minimum requirements to run the SUT are: @@ -13,10 +13,10 @@ The minimum requirements to run the SUT are: |----------------|-----------------| | PHP version| >= 7.3 | | Composer | none | -| Node.js | none | +| Node.js | An optional requirement. Only required to check GraphQL compatibility. | | Magento Access keys | none | | MC or Magento Open Source | none | {:style="table-layout:auto;"} {:.bs-callout-info} -You can run the SUT in any operating system. There is no requirement to run the SUT where your Magento instance is located. For example, you can install SUT on one server and point it at your Magento installation on another server. Refer to the [install]({{site.baseurl}}/safe-upgrade-tool/install.html#install). +You can run the SUT in any operating system. There is no requirement to run the SUT where your Magento instance is located. It is necessary for SUT to have access to the source code of the Magento instance. For example, you can install SUT on one server and point it at your Magento installation on another server. Refer to the [install]({{site.baseurl}}/safe-upgrade-tool/install.html#install). diff --git a/src/safe-upgrade-tool/run.md b/src/safe-upgrade-tool/run.md index ab8b749a6e4..ef935fd5fc3 100644 --- a/src/safe-upgrade-tool/run.md +++ b/src/safe-upgrade-tool/run.md @@ -5,17 +5,20 @@ functional_areas: - Upgrade --- -The Magento Safe Upgrade Tool (SUT) is a command line (CLI) tool that checks a Magento instance against a specific version by analyzing all the non-Magento modules installed on it. +The Magento Safe Upgrade Tool ALPHA (SUT) is a command line (CLI) tool that checks a Magento instance against a specific version by analyzing all the non-Magento modules installed on it. -potential problems that must be fixed in your custom code before attempting to upgrade to a newer version of Magento. +The SUT identifies potential problems that must be fixed in your custom code before attempting to upgrade to a newer version of Magento. The tool returns a list of errors and warnings that you must address before upgrading to a new version of Magento. +{:.bs-callout-warning} +At the moment this is an ALPHA version with limited scope, only validating PHP Magento APIs and GraphQL schema. + ## Use SUT ### Memory limitations -The SUT uses memory on your Magento instance to run—even if you installed the SUT on a different machine. If you are running a system with large third-party modules and files, the SUT requires a high amount of RAM. +The SUT uses memory on your Magento instance to run — even if you installed the SUT on a different machine. If you are running a system with large third-party modules and files, the SUT requires a high amount of RAM. ### Executing the tool @@ -44,6 +47,8 @@ The SUT also provides the option to introspect two GraphQL endpoints and compare bin/sut graphql:compare https://domain1.com/graphql https://domain2.com/graphql ``` +You must have running "instance before" and "instance after" the upgrade. + ### Arguments and options #### Version From f27b5cb35ad32470882d416cddde82f1f71125f1 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Tue, 12 Jan 2021 15:53:31 +0100 Subject: [PATCH 55/69] Added memory limits as per technical review --- src/safe-upgrade-tool/run.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/safe-upgrade-tool/run.md b/src/safe-upgrade-tool/run.md index ef935fd5fc3..e4a5ebad256 100644 --- a/src/safe-upgrade-tool/run.md +++ b/src/safe-upgrade-tool/run.md @@ -18,7 +18,7 @@ At the moment this is an ALPHA version with limited scope, only validating PHP M ### Memory limitations -The SUT uses memory on your Magento instance to run — even if you installed the SUT on a different machine. If you are running a system with large third-party modules and files, the SUT requires a high amount of RAM. +The SUT uses memory on your Magento instance to run — even if you installed the SUT on a different machine. If you are running a system with large third-party modules and files, the SUT requires a high amount of RAM, for example at least 2GB RAM. ### Executing the tool From badffe57feb0a303a612544714677a043e15f537 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Wed, 13 Jan 2021 10:47:26 +0100 Subject: [PATCH 56/69] Updated introduction with correct tool name from Ampersand --- src/safe-upgrade-tool/introduction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/safe-upgrade-tool/introduction.md b/src/safe-upgrade-tool/introduction.md index 5d23c63fed6..69f68e0c9a0 100644 --- a/src/safe-upgrade-tool/introduction.md +++ b/src/safe-upgrade-tool/introduction.md @@ -7,7 +7,7 @@ functional_areas: The Safe Upgrade Tool ALPHA (SUT) is a command line (CLI) tool that checks a Magento instance against a specific version by analyzing all the non-Magento modules installed in it. -The SUT identifies potential problems that must be fixed in your custom code before attempting to upgrade to a newer version of Magento. SUT complements another tool called [Ampersand]((https://github.com/AmpersandHQ/ampersand-magento2-upgrade-patch-helper). +The SUT identifies potential problems that must be fixed in your custom code before attempting to upgrade to a newer version of Magento. SUT complements another experimental tool called [ampersand-magento2-upgrade-patch-helper](https://github.com/AmpersandHQ/ampersand-magento2-upgrade-patch-helper). The SUT returns a list of errors and warnings that you must address before upgrading to a new version of Magento. From da5580d2e295781fe4a460a39d87d1922b0e0def Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Wed, 13 Jan 2021 10:57:19 +0100 Subject: [PATCH 57/69] Updated information for memory limitations and complexity formula --- src/safe-upgrade-tool/developer.md | 5 ++++- src/safe-upgrade-tool/run.md | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/safe-upgrade-tool/developer.md b/src/safe-upgrade-tool/developer.md index d98a6fea4ec..fa6fc99cdbf 100644 --- a/src/safe-upgrade-tool/developer.md +++ b/src/safe-upgrade-tool/developer.md @@ -91,7 +91,7 @@ The string schemas for testing are inside `dev/graphql_schemas`. The **complexity score** is a figure that indicates how difficult an upgrade from the current version to the new one might be. Lower numbers indicate easier upgrades. {:.bs-callout-info} -Complexity scores range between 0 and 100. +Complexity scores range between 0 and ∞. This score is based on the results extracted from the analysis: @@ -103,3 +103,6 @@ The SUT calculates this score according to the following formula: ### Complexity score formula `Complexity Score = 2 * (# of errors) + 1 * (# of warnings)` + +{:.bs-callout-warning} +These are absolute values. \ No newline at end of file diff --git a/src/safe-upgrade-tool/run.md b/src/safe-upgrade-tool/run.md index e4a5ebad256..c4fabc40dee 100644 --- a/src/safe-upgrade-tool/run.md +++ b/src/safe-upgrade-tool/run.md @@ -18,7 +18,7 @@ At the moment this is an ALPHA version with limited scope, only validating PHP M ### Memory limitations -The SUT uses memory on your Magento instance to run — even if you installed the SUT on a different machine. If you are running a system with large third-party modules and files, the SUT requires a high amount of RAM, for example at least 2GB RAM. +If you are running a system with large third-party modules and files, the SUT requires a high amount of RAM, at least 2GB RAM. ### Executing the tool From ce1dca8aa7aac64b9572618cdad0cdedbe95f899 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Wed, 13 Jan 2021 17:28:45 +0100 Subject: [PATCH 58/69] Fixed url in page-header html --- src/_includes/layout/page-header.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_includes/layout/page-header.html b/src/_includes/layout/page-header.html index e554c2ab141..eeb7e409cd3 100644 --- a/src/_includes/layout/page-header.html +++ b/src/_includes/layout/page-header.html @@ -44,7 +44,7 @@

{{ page.subtitle }}

{% if page.url contains "safe-upgrade-tool/" %}
- This tool is still in ALPHA with limited scope. If you are a Magento Commerce user you can download it at [Magento repo](https://repo.magento.com/). + This tool is still in ALPHA with limited scope. If you are a Magento Commerce user you can download it at Magento repo.
{% endif %} From 1449b04f9d3fec881e98a822656cfa4528eff298 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 14 Jan 2021 15:43:11 +0100 Subject: [PATCH 59/69] Fixed pages and toc with commerce-only banner --- src/_data/toc/software-update-guide.yml | 5 +++++ src/safe-upgrade-tool/developer.md | 1 + src/safe-upgrade-tool/install.md | 1 + src/safe-upgrade-tool/introduction.md | 1 + src/safe-upgrade-tool/prerequisites.md | 1 + src/safe-upgrade-tool/run.md | 1 + 6 files changed, 10 insertions(+) diff --git a/src/_data/toc/software-update-guide.yml b/src/_data/toc/software-update-guide.yml index d0d1f4f8e3b..e76c3d559ab 100644 --- a/src/_data/toc/software-update-guide.yml +++ b/src/_data/toc/software-update-guide.yml @@ -24,23 +24,28 @@ pages: - label: Safe Upgrade Tool url: /safe-upgrade-tool/introduction.html versionless: true + edition: ee-only children: - label: Prerequisites url: /safe-upgrade-tool/prerequisites.html versionless: true + edition: ee-only - label: Install url: /safe-upgrade-tool/install.html versionless: true + edition: ee-only - label: Run the tool url: /safe-upgrade-tool/run.html versionless: true + edition: ee-only - label: Developer information url: /safe-upgrade-tool/developer.html versionless: true + edition: ee-only - label: Magento Marketplace example url: /comp-mgr/marketplace/marketplace.html diff --git a/src/safe-upgrade-tool/developer.md b/src/safe-upgrade-tool/developer.md index fa6fc99cdbf..bb31cecae1c 100644 --- a/src/safe-upgrade-tool/developer.md +++ b/src/safe-upgrade-tool/developer.md @@ -1,6 +1,7 @@ --- group: software-update-guide title: Developer information +ee_only: True functional_areas: - Upgrade --- diff --git a/src/safe-upgrade-tool/install.md b/src/safe-upgrade-tool/install.md index 091f5309716..66e2b13a7f0 100644 --- a/src/safe-upgrade-tool/install.md +++ b/src/safe-upgrade-tool/install.md @@ -1,6 +1,7 @@ --- group: software-update-guide title: Install +ee_only: True functional_areas: - Upgrade --- diff --git a/src/safe-upgrade-tool/introduction.md b/src/safe-upgrade-tool/introduction.md index 69f68e0c9a0..eb2a951bea5 100644 --- a/src/safe-upgrade-tool/introduction.md +++ b/src/safe-upgrade-tool/introduction.md @@ -1,6 +1,7 @@ --- group: software-update-guide title: Introduction +ee_only: True functional_areas: - Upgrade --- diff --git a/src/safe-upgrade-tool/prerequisites.md b/src/safe-upgrade-tool/prerequisites.md index 102dda03f8c..a15552b76e6 100644 --- a/src/safe-upgrade-tool/prerequisites.md +++ b/src/safe-upgrade-tool/prerequisites.md @@ -1,6 +1,7 @@ --- group: software-update-guide title: Prerequisites +ee_only: True functional_areas: - Upgrade --- diff --git a/src/safe-upgrade-tool/run.md b/src/safe-upgrade-tool/run.md index c4fabc40dee..9ebeb989ce7 100644 --- a/src/safe-upgrade-tool/run.md +++ b/src/safe-upgrade-tool/run.md @@ -1,6 +1,7 @@ --- group: software-update-guide title: Run the tool +ee_only: True functional_areas: - Upgrade --- From b07959db39ead43119b5a583c95668d6c42770cc Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 14 Jan 2021 16:07:46 +0100 Subject: [PATCH 60/69] Fixed toc with commerce-only banner --- src/_data/toc/software-update-guide.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/_data/toc/software-update-guide.yml b/src/_data/toc/software-update-guide.yml index e76c3d559ab..792a1b374e1 100644 --- a/src/_data/toc/software-update-guide.yml +++ b/src/_data/toc/software-update-guide.yml @@ -30,22 +30,18 @@ pages: - label: Prerequisites url: /safe-upgrade-tool/prerequisites.html versionless: true - edition: ee-only - label: Install url: /safe-upgrade-tool/install.html versionless: true - edition: ee-only - label: Run the tool url: /safe-upgrade-tool/run.html versionless: true - edition: ee-only - label: Developer information url: /safe-upgrade-tool/developer.html versionless: true - edition: ee-only - label: Magento Marketplace example url: /comp-mgr/marketplace/marketplace.html From b12c6cbef601367e1dac94940aa4cf54d54fcdb6 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Tue, 19 Jan 2021 13:25:32 +0100 Subject: [PATCH 61/69] Added changes as per MC-40435 --- src/safe-upgrade-tool/developer.md | 2 +- src/safe-upgrade-tool/install.md | 19 ++++++++++++++++--- src/safe-upgrade-tool/prerequisites.md | 8 ++++++-- 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/safe-upgrade-tool/developer.md b/src/safe-upgrade-tool/developer.md index bb31cecae1c..0a16826271f 100644 --- a/src/safe-upgrade-tool/developer.md +++ b/src/safe-upgrade-tool/developer.md @@ -106,4 +106,4 @@ The SUT calculates this score according to the following formula: `Complexity Score = 2 * (# of errors) + 1 * (# of warnings)` {:.bs-callout-warning} -These are absolute values. \ No newline at end of file +These are absolute values. diff --git a/src/safe-upgrade-tool/install.md b/src/safe-upgrade-tool/install.md index 66e2b13a7f0..48d72fac7fa 100644 --- a/src/safe-upgrade-tool/install.md +++ b/src/safe-upgrade-tool/install.md @@ -31,11 +31,24 @@ The following use case describes the typical process for a Magento partner to up ## Prerequisites -See [prerequisites]({{ site.baseurl }}/safe-upgrade-tool/prerequisites.html). +See [prerequisites]({{site.baseurl}}/safe-upgrade-tool/prerequisites.html) for more information. {:.bs-callout-info} You can run the SUT in any operating system. There is no requirement to run the SUT where your Magento instance is located. It is necessary for SUT to have access to the source code of the Magento instance. For example, you can install the SUT on one server and point it at your Magento installation on another server. +### Recommended actions + +It is recommended to avoid naming SUT modules with the same name, as a segmentation fault error can occur. + +If this segmentation error takes place, solve it by: + +* Avoid analyzing a set of modules if there are 2 modules with the same name. +* Analyze modules separately with the option -m: + + ```bash + bin/sut upgrade:check /(instance_path) --coming-version=2.4.1 -m /(module_path) + ``` + ## Install To install the SUT, you must install the necessary prerequisites: @@ -44,11 +57,11 @@ To install the SUT, you must install the necessary prerequisites: * Composer * Node.js (only required to check GraphQL compatibility) -Refer to the [SUT installation]({{ site.baseurl }}/safe-upgrade-tool/install.html#install). +Refer to the [SUT installation]({{site.baseurl}}/safe-upgrade-tool/install.html#install). ### Magento access keys -You must have [Magento access keys]({{ site.baseurl }}/marketplace/sellers/profile-information.html#access-keys) to use the SUT. Add your Magento access keys to your `auth.json` file, which is located at `~/.composer` by default. +You must have [Magento access keys]({{site.baseurl}}/marketplace/sellers/profile-information.html#access-keys) to use the SUT. Add your Magento access keys to your `auth.json` file, which is located at `~/.composer` by default. {:.bs-callout-warning} Check your **COMPOSER_HOME** environment variable to see where the `auth.json` file is located. diff --git a/src/safe-upgrade-tool/prerequisites.md b/src/safe-upgrade-tool/prerequisites.md index a15552b76e6..92c56be8707 100644 --- a/src/safe-upgrade-tool/prerequisites.md +++ b/src/safe-upgrade-tool/prerequisites.md @@ -19,5 +19,9 @@ The minimum requirements to run the SUT are: | MC or Magento Open Source | none | {:style="table-layout:auto;"} -{:.bs-callout-info} -You can run the SUT in any operating system. There is no requirement to run the SUT where your Magento instance is located. It is necessary for SUT to have access to the source code of the Magento instance. For example, you can install SUT on one server and point it at your Magento installation on another server. Refer to the [install]({{site.baseurl}}/safe-upgrade-tool/install.html#install). +{:.bs-callout-warning} +It is recommended to avoid naming SUT modules with the same name, as a segmentation fault error can occur. + +You can run the SUT in any operating system. There is no requirement to run the SUT where your Magento instance is located. + +It is necessary for SUT to have access to the source code of the Magento instance. For example, you can install SUT on one server and point it at your Magento installation on another server. Refer to the [install]({{site.baseurl}}/safe-upgrade-tool/install.html#install) for more information. From fdd6df33524fa655dbf4b0bae76b08489df35e1e Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Wed, 20 Jan 2021 14:47:27 +0100 Subject: [PATCH 62/69] Updated PR after product review --- src/safe-upgrade-tool/img/audience-sut.png | Bin 0 -> 488858 bytes src/safe-upgrade-tool/img/mvp-diagram-v2.png | Bin 0 -> 166857 bytes src/safe-upgrade-tool/install.md | 37 ++++++++++--------- src/safe-upgrade-tool/introduction.md | 2 +- src/safe-upgrade-tool/prerequisites.md | 4 +- src/safe-upgrade-tool/run.md | 10 +---- 6 files changed, 23 insertions(+), 30 deletions(-) create mode 100644 src/safe-upgrade-tool/img/audience-sut.png create mode 100644 src/safe-upgrade-tool/img/mvp-diagram-v2.png diff --git a/src/safe-upgrade-tool/img/audience-sut.png b/src/safe-upgrade-tool/img/audience-sut.png new file mode 100644 index 0000000000000000000000000000000000000000..2ebcc9ee4e95066d11c8b585be73e70be25788c1 GIT binary patch literal 488858 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%0A_DCCU9eZB{2Eoh2-s*m)3&7|Yfr1usUYou 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 literal 0 HcmV?d00001 diff --git a/src/safe-upgrade-tool/img/mvp-diagram-v2.png b/src/safe-upgrade-tool/img/mvp-diagram-v2.png new file mode 100644 index 0000000000000000000000000000000000000000..cef850b526fd51da55e01398527ba9426af9df24 GIT binary patch literal 166857 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%0DhQ{Pdz89OpHr*DcOGG$6~2 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 z

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 7.3 | | Composer | none | | Node.js | An optional requirement. Only required to check GraphQL compatibility. | +| Memory limitations | At least 2GB RAM | | Magento Access keys | none | | MC or Magento Open Source | none | {:style="table-layout:auto;"} -{:.bs-callout-warning} -It is recommended to avoid naming SUT modules with the same name, as a segmentation fault error can occur. - You can run the SUT in any operating system. There is no requirement to run the SUT where your Magento instance is located. It is necessary for SUT to have access to the source code of the Magento instance. For example, you can install SUT on one server and point it at your Magento installation on another server. Refer to the [install]({{site.baseurl}}/safe-upgrade-tool/install.html#install) for more information. diff --git a/src/safe-upgrade-tool/run.md b/src/safe-upgrade-tool/run.md index 9ebeb989ce7..76b76fbd729 100644 --- a/src/safe-upgrade-tool/run.md +++ b/src/safe-upgrade-tool/run.md @@ -17,12 +17,6 @@ At the moment this is an ALPHA version with limited scope, only validating PHP M ## Use SUT -### Memory limitations - -If you are running a system with large third-party modules and files, the SUT requires a high amount of RAM, at least 2GB RAM. - -### Executing the tool - Execute the tool by running the following command: ```bash @@ -30,7 +24,7 @@ bin/sut upgrade:check INSTALLATION_DIR ``` {:.bs-callout-info} -We recommend running `php -d memory_limit=-1 /bin/sut` to avoid memory limitations. +We recommend running `php -d memory_limit=-1 /bin/sut` to avoid memory limitations. As well, it is recommended to use the `-m` command to run the tool against a specific module. The `INSTALLATION_DIR` value is the directory where your Magento instance is located. @@ -140,4 +134,4 @@ Regarding the GraphQL schema compatibility comparison, the output would be very * [WARNING] OPTIONAL_INPUT_FIELD_ADDED: An optional field sku on input type ProductAttributeSortInput was added. ``` -See [Developer information]({{ site.baseurl }}/safe-upgrade-tool/developer.html). +See [Developer information]({{site.baseurl}}/safe-upgrade-tool/developer.html) for more information. From f763b6b2cc3b2450f84658dafcd4809b5a1d6b8e Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Wed, 20 Jan 2021 17:24:02 +0100 Subject: [PATCH 63/69] Updated PR after linting review --- src/safe-upgrade-tool/install.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/safe-upgrade-tool/install.md b/src/safe-upgrade-tool/install.md index dc1512ad316..bbdf259111c 100644 --- a/src/safe-upgrade-tool/install.md +++ b/src/safe-upgrade-tool/install.md @@ -22,12 +22,12 @@ The following diagram shows the expected workflow when running the SUT: The following use case describes the typical process for a Magento partner to upgrade a client's Magento instance: 1. A partner's Software Engineer downloads the SUT package from the [Magento repository](https://repo.magento.com/) and executes it during the beta phase of the newest Magento release. -2. The Software Engineer sees that there are several customized areas broken in the inventory and catalog modules and they also get a complexity score of X. See the [Developer information guide]({{site.baseurl}}/safe-upgrade-tool/developer.html) for more information on the complexity score. -3. With this information, the Software Engineer is able to understand the complexity of the upgrade and is able to relay this information back to the partner's Account Manager. -4. The Account Manager creates a timeline and cost for the Magento upgrade, which allows them to get their manager's approval. -5. With their manager's approval, the Software Engineer works on the required code modifications to fix the broken modules. -6. The Software Engineer runs the SUT tool one more time with a Magento pre-release to ensure there are no new issues and that their code changes fixed the problems found during the beta phase. -7. Everything check’s out and the Software Engineer pushes the code to a staging environment where regression tests confirm all tests are green, which allows them to release the latest Magento version to production the same day that the Magento pre-release is released. +1. The Software Engineer sees that there are several customized areas broken in the inventory and catalog modules and they also get a complexity score of X. See the [Developer information guide]({{site.baseurl}}/safe-upgrade-tool/developer.html) for more information on the complexity score. +1. With this information, the Software Engineer is able to understand the complexity of the upgrade and is able to relay this information back to the partner's Account Manager. +1. The Account Manager creates a timeline and cost for the Magento upgrade, which allows them to get their manager's approval. +1. With their manager's approval, the Software Engineer works on the required code modifications to fix the broken modules. +1. The Software Engineer runs the SUT tool one more time with a Magento pre-release to ensure there are no new issues and that their code changes fixed the problems found during the beta phase. +1. Everything check’s out and the Software Engineer pushes the code to a staging environment where regression tests confirm all tests are green, which allows them to release the latest Magento version to production the same day that the Magento pre-release is released. ![SUT audience](img/audience-sut.png) From 74e69ef4c058ad11ddead9ded41a03fb5c774005 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Wed, 20 Jan 2021 17:41:06 +0100 Subject: [PATCH 64/69] Updated PR after product review --- src/safe-upgrade-tool/introduction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/safe-upgrade-tool/introduction.md b/src/safe-upgrade-tool/introduction.md index f1f0a142980..7f22a78e232 100644 --- a/src/safe-upgrade-tool/introduction.md +++ b/src/safe-upgrade-tool/introduction.md @@ -17,4 +17,4 @@ It is distributed as a Composer package with every release of a Magento version. Refer to the [Install]({{site.baseurl}}/safe-upgrade-tool/install.html) for first steps with SUT. {:.bs-callout-warning} -At the moment this is an ALPHA version with limited scope, only validating PHP Magento APIs and GraphQL schema. \ No newline at end of file +At the moment this is an ALPHA version with limited scope, available for all Magento Commerce merchants, only validating PHP Magento APIs and GraphQL schema. \ No newline at end of file From 063ee58fcd002e6b795fffea7f75afd449e7de2e Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Wed, 20 Jan 2021 17:43:02 +0100 Subject: [PATCH 65/69] Updated PR after product review - 2 --- src/safe-upgrade-tool/install.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/safe-upgrade-tool/install.md b/src/safe-upgrade-tool/install.md index bbdf259111c..14a83a2d8fb 100644 --- a/src/safe-upgrade-tool/install.md +++ b/src/safe-upgrade-tool/install.md @@ -38,7 +38,7 @@ See [prerequisites]({{site.baseurl}}/safe-upgrade-tool/prerequisites.html) for m {:.bs-callout-info} You can run the SUT in any operating system. There is no requirement to run the SUT where your Magento instance is located. It is necessary for SUT to have access to the source code of the Magento instance. For example, you can install the SUT on one server and point it at your Magento installation on another server. -If you are running SUT against a Magento customized instance with large third-party modules and files, the tool might require a high amount of RAM, at least 2GB RAM. +If you are running SUT against a Magento instance with large modules and files, the tool might require a high amount of RAM, at least 2GB RAM. ### Recommended actions From 6bd2b79d735733ac180e3fdc106cf26e1f622e16 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 21 Jan 2021 12:15:51 +0100 Subject: [PATCH 66/69] Updated PR after slack/email information requested by product --- src/safe-upgrade-tool/install.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/safe-upgrade-tool/install.md b/src/safe-upgrade-tool/install.md index 14a83a2d8fb..a2a5f566738 100644 --- a/src/safe-upgrade-tool/install.md +++ b/src/safe-upgrade-tool/install.md @@ -31,6 +31,12 @@ The following use case describes the typical process for a Magento partner to up ![SUT audience](img/audience-sut.png) +#### Contact Slack + +To connect with the team about SUT, contact us on the [Magento Safe Upgrade Tool Engineering Slack channel][]. If you are interested in joining Slack, send us a request at [sut@adobe.com](mailto:sut@adobe.com). + +We have [channels][] for each project. See the [Resources]({{site.baseurl}}/community/resources/resources.html) page for more information. + ## Prerequisites See [prerequisites]({{site.baseurl}}/safe-upgrade-tool/prerequisites.html) for more information. From 8696511b106526323798f3c3e1a9ee1e53454bd3 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 21 Jan 2021 12:20:30 +0100 Subject: [PATCH 67/69] Updated PR after slack/email information requested by product --- src/safe-upgrade-tool/install.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/safe-upgrade-tool/install.md b/src/safe-upgrade-tool/install.md index a2a5f566738..e3c4e7edf45 100644 --- a/src/safe-upgrade-tool/install.md +++ b/src/safe-upgrade-tool/install.md @@ -35,7 +35,7 @@ The following use case describes the typical process for a Magento partner to up To connect with the team about SUT, contact us on the [Magento Safe Upgrade Tool Engineering Slack channel][]. If you are interested in joining Slack, send us a request at [sut@adobe.com](mailto:sut@adobe.com). -We have [channels][] for each project. See the [Resources]({{site.baseurl}}/community/resources/resources.html) page for more information. +See the [Resources]({{site.baseurl}}/community/resources/resources.html) page for more information. ## Prerequisites From be8c6853ffbcaa1c6907c8087eb59fa4b4214286 Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 21 Jan 2021 12:21:51 +0100 Subject: [PATCH 68/69] Updated PR after slack/email information requested by product --- src/safe-upgrade-tool/install.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/safe-upgrade-tool/install.md b/src/safe-upgrade-tool/install.md index e3c4e7edf45..69d91f75cef 100644 --- a/src/safe-upgrade-tool/install.md +++ b/src/safe-upgrade-tool/install.md @@ -33,7 +33,7 @@ The following use case describes the typical process for a Magento partner to up #### Contact Slack -To connect with the team about SUT, contact us on the [Magento Safe Upgrade Tool Engineering Slack channel][]. If you are interested in joining Slack, send us a request at [sut@adobe.com](mailto:sut@adobe.com). +To connect with the team about SUT, contact us on the Magento Safe Upgrade Tool Engineering Slack channel. If you are interested in joining Slack, send us a request at [sut@adobe.com](mailto:sut@adobe.com). See the [Resources]({{site.baseurl}}/community/resources/resources.html) page for more information. From da552557a45273167742aa2cfaaaf0b91b1ca93a Mon Sep 17 00:00:00 2001 From: Daniel Del Carmen Date: Thu, 21 Jan 2021 13:04:01 +0100 Subject: [PATCH 69/69] Modified contact section --- src/safe-upgrade-tool/install.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/safe-upgrade-tool/install.md b/src/safe-upgrade-tool/install.md index 69d91f75cef..cfa08f491b3 100644 --- a/src/safe-upgrade-tool/install.md +++ b/src/safe-upgrade-tool/install.md @@ -31,9 +31,12 @@ The following use case describes the typical process for a Magento partner to up ![SUT audience](img/audience-sut.png) -#### Contact Slack +#### Contact SUT -To connect with the team about SUT, contact us on the Magento Safe Upgrade Tool Engineering Slack channel. If you are interested in joining Slack, send us a request at [sut@adobe.com](mailto:sut@adobe.com). +To connect with the SUT team: + +1. Contact us on the Engineering Slack channel [Magento Safe Upgrade Tool](https://magentocommeng.slack.com/archives/C019Y143U9F). +1. Send us an email at [sut@adobe.com](mailto:sut@adobe.com). See the [Resources]({{site.baseurl}}/community/resources/resources.html) page for more information.