Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SDK-2062. Process small feedback to our documentation #1766

Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions _data/sidebars/scu_dev_sidebar.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
title: Spryker Code Upgrader guides
title: Spryker Code Upgrader (SCU) guides
entries:
- product: Spryker Code Upgrader
nested:
- title: Spryker Code Upgrader
url: /docs/scu/dev/spryker-code-upgrader.html
- title: Spryker CI
url: /docs/scu/dev/spryker-ci.html
- title: How the Spryker Code Upgrader works
- title: How the SCU works
url: /docs/scu/dev/how-the-spryker-code-upgrader-works.html
- title: The Upgrader in a development workflow
- title: SCU in a development workflow
url: /docs/scu/dev/spryker-code-upgrader-in-a-development-workflow.html
- title: Onboard to the Upgrader
- title: Onboard to the SCU
url: /docs/scu/dev/onboard-to-spryker-code-upgrader/onboard-to-spryker-code-upgrader.html
nested:
- title: Prepare a project for the Upgrader
- title: Prepare a project for the SCU
url: /docs/scu/dev/onboard-to-spryker-code-upgrader/prepare-a-project-for-spryker-code-upgrader.html
- title: Connect the Upgrader to a GitHub managed project
url: /docs/scu/dev/onboard-to-spryker-code-upgrader/connect-spryker-code-upgrader-to-a-github-managed-project.html
- title: Connect the Upgrader to a GitLab managed project
url: /docs/scu/dev/onboard-to-spryker-code-upgrader/connect-spryker-code-upgrader-to-a-gitlab-managed-project.html
- title: Connect the Upgrader to a project self-hosted with GitLab
url: /docs/scu/dev/onboard-to-spryker-code-upgrader/connect-spryker-code-upgrader-to-a-project-self-hosted-with-gitlab.html
- title: Connect the Upgrader to a Azure managed project
url: /docs/scu/dev/onboard-to-spryker-code-upgrader/connect-spryker-code-upgrader-to-a-azure-managed-project.html
- title: Connect the Spryker CI to a GitHub managed project
url: /docs/scu/dev/onboard-to-spryker-code-upgrader/connect-spryker-ci-to-a-github-managed-project.html
- title: Connect the Spryker CI to a GitLab managed project
url: /docs/scu/dev/onboard-to-spryker-code-upgrader/connect-spryker-ci-to-a-gitlab-managed-project.html
- title: Connect the Spryker CI to a project self-hosted with GitLab
url: /docs/scu/dev/onboard-to-spryker-code-upgrader/connect-spryker-ci-to-a-project-self-hosted-with-gitlab.html
- title: Connect the Spryker CI to a Azure managed project
url: /docs/scu/dev/onboard-to-spryker-code-upgrader/connect-spryker-ci-to-a-azure-managed-project.html
- title: Invite users to Spryker CI
url: /docs/scu/dev/invite-users-to-spryker-ci.html
- title: Run the Upgrader
- title: Run the SCU
url: /docs/scu/dev/run-spryker-code-upgrader.html
- title: Roll back upgrades
url: /docs/scu/dev/roll-back-upgrades.html
18 changes: 9 additions & 9 deletions docs/scu/dev/how-the-spryker-code-upgrader-works.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ To update a project, the Spryker Code Upgrader runs the following steps.

### 1. Identifies the available updates for the Spryker modules

The Spryker Code Upgrader performs the following sub-steps:
The Upgrader tool performs the following sub-steps:

1. To identify the modules to be updated, it compares the information present in the `composer.json` and `composer.lock` files with our latest released code.

Expand All @@ -25,35 +25,35 @@ As modules depend on other modules, we tend to release them in groups. When the

### 2. Updates the modules and libraries

Using `composer`, the Upgrader updates the modules in groups. After updating the modules, the Upgrader returns the list of updated modules and proceeds to the next step.
Using `composer`, the Upgrader tool updates the modules in groups. After updating the modules, the Upgrader tool returns the list of updated modules and proceeds to the next step.

If the Upgrader can’t update a module, it skips the module’s and the remaining groups. If all the groups failed to update, the Upgrader returns the errors and stops. With at least one group updated, it returns the list of updated modules and proceeds to the next step.
If the Upgrader tool can’t update a module, it skips the module’s and the remaining groups. If all the groups failed to update, the Upgrader tool returns the errors and stops. With at least one group updated, it returns the list of updated modules and proceeds to the next step.
AlexSlawinski marked this conversation as resolved.
Show resolved Hide resolved

By default, the Spryker Code Upgrader updates only minor and patch versions. When the Upgrader finds a group with a [major release](/docs/scos/dev/architecture/module-api/semantic-versioning-major-vs.-minor-vs.-patch-release.html#what-is-a-major-release), it won't update it and informs you about that:
By default, the Upgrader tool updates only minor and patch versions. When the Upgrader tool finds a group with a [major release](/docs/scos/dev/architecture/module-api/semantic-versioning-major-vs.-minor-vs.-patch-release.html#what-is-a-major-release), it won't update it and informs you about that:

```bash
There is a major release available for module spryker/merchant-product-approval.
Please follow the link below to find all documentation needed to help you upgrade to the latest release
https://api.release.spryker.com/release-group/XXXX
```

To continue the usage of the Upgrader, install the major version manually, and re-run the Upgrader.
To continue the usage of the Upgrader tool, install the major version manually, and re-run the Upgrader tool.
AlexSlawinski marked this conversation as resolved.
Show resolved Hide resolved

### 3. Creates a Git branch

Spryker Code Upgrader creates a separate Git branch to commit the changes to. The branch name follows the pattern: `upgradebot/upgrade-for-{base-branch-name}-{last-commit-hash-in-the-base-branch}`.
Upgrader tool creates a separate Git branch to commit the changes to. The branch name follows the pattern: `upgradebot/upgrade-for-{base-branch-name}-{last-commit-hash-in-the-base-branch}`.
AlexSlawinski marked this conversation as resolved.
Show resolved Hide resolved

### 4. Commits the changes

Spryker Code Upgrader commits the changes in the `composer.json` and `composer.lock` files to the branch.
Upgrader tool commits the changes in the `composer.json` and `composer.lock` files to the branch.

### 5. Pushes the changes

The Upgrader pushes the changes to your source code provider using the authentication details provided in [SprykerCI](/docs/scu/dev/spryker-ci.html).
The Upgrader tool pushes the changes to your source code provider using the authentication details provided in [SprykerCI](/docs/scu/dev/spryker-ci.html).

### 6. Creates a PR

The Upgrader creates a PR using your source code provider API. After the PR is created, you can review and merge it to apply the updates.
The Upgrader tool creates a PR using your source code provider API. After the PR is created, you can review and merge it to apply the updates.

## Next steps

Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
---
title: Connect Spryker Code Upgrader to a Azure managed project
description: Learn how to connect Spryker Code Upgrader to a Azure managed project
title: Connect the Spryker CI to a Azure managed project
description: Learn how to connect Spryker CI to Azure managed project
template: howto-guide-template
redirect_from:
- /docs/paas-plus/dev/onboard-to-spryker-code-upgrader/connect-spryker-code-upgrader-to-a-azure-managed-project.html
- /docs/paas-plus/dev/onboard-to-spryker-code-upgrader/connect-spryker-ci-to-a-azure-managed-project.html
---

## Connect Spryker Code Upgrader using Azure access token
## Connect Spryker CI using Azure access token

To connect the Upgrader manually using a Azure access token, follow the steps.
To connect the Spryker CI manually using a Azure access token, follow the steps.
AlexSlawinski marked this conversation as resolved.
Show resolved Hide resolved

## Prerequisites

Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
---
title: Connect Spryker Code Upgrader to a GitHub managed project
description: Learn how to connect Spryker Code Upgrader to a GitHub managed project
title: Connect the Spryker CI to a GitHub managed project
description: Learn how to connect Spryker CI to a GitHub managed project
template: howto-guide-template
redirect_from:
- /docs/paas-plus/dev/onboard-to-spryker-code-upgrader/connect-spryker-code-upgrader-to-a-github-managed-project.html
- /docs/paas-plus/dev/onboard-to-spryker-code-upgrader/connect-spryker-ci-to-a-gitlab-managed-project.html
---

There are two options for connecting Spryker Code Upgrader to your repository: using Spryker CI or an access token.
There are two options for connecting Spryker CI to your repository: using Spryker CI native integration or an access token.
AlexSlawinski marked this conversation as resolved.
Show resolved Hide resolved

## Connect Spryker Code Upgrader using Spryker CI
## Connect using Spryker CI native integration

1. In [Spryker CI](/docs/scu/dev/spryker-ci.html), go to **Projects**.
2. On the **Projects** page, select the **Spryker Upgrade Service** project.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
---
title: Connect Spryker Code Upgrader to a GitLab managed project
description: Learn how to connect Spryker Code Upgrader to a GitLab managed project
title: Connect the Spryker CI to a GitLab managed project
description: Learn how to connect Spryker CI to a GitLab managed project
template: howto-guide-template
redirect_from:
- /docs/paas-plus/dev/onboard-to-spryker-code-upgrader/connect-spryker-code-upgrader-to-a-gitlab-managed-project.html
- /docs/paas-plus/dev/onboard-to-spryker-code-upgrader/connect-spryker-ci-to-a-gitlab-managed-project.html
---

There are two options for connecting Spryker Code Upgrader to your repository: using Spryker CI or an access token.
There are two options for connecting Spryker CI to your repository: using Spryker CI native integration or an access token.
AlexSlawinski marked this conversation as resolved.
Show resolved Hide resolved

## Connect Spryker Code Upgrader using Spryker CI
## Connect using Spryker CI native integration

1. In Spryker CI, go to **Projects**.
2. On the **Projects** page, select the **Spryker Upgrade Service** project.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ redirect_from:

Onboarding to Spryker CI consists of the following steps.


## Prerequisites

[Prepare your project for Spryker Code Upgrader](/docs/scu/dev/onboard-to-spryker-code-upgrader/prepare-a-project-for-spryker-code-upgrader.html)
Expand Down Expand Up @@ -39,10 +38,10 @@ Your workspace contains the Spryker Code Upgrader project.

Connect the Upgrader to your repository using one of the following documents:

* [Connect to a GitHub repository](/docs/scu/dev/onboard-to-spryker-code-upgrader/connect-spryker-code-upgrader-to-a-github-managed-project.html)
* [Connect to a GitLab repository](/docs/scu/dev/onboard-to-spryker-code-upgrader/connect-spryker-code-upgrader-to-a-gitlab-managed-project.html)
* [Connect to a self-hosted GitLab repository](/docs/scu/dev/onboard-to-spryker-code-upgrader/connect-spryker-code-upgrader-to-a-project-self-hosted-with-gitlab.html)
* [Connect to a Azure repository](/docs/scu/dev/onboard-to-spryker-code-upgrader/connect-spryker-code-upgrader-to-a-azure-managed-project.html)
* [GitHub access token requirements](/docs/scu/dev/onboard-to-spryker-code-upgrader/connect-spryker-ci-to-a-gitlab-managed-project.html#prerequisites)
* [GitLab access token requirements](/docs/scu/dev/onboard-to-spryker-code-upgrader/connect-spryker-ci-to-a-gitlab-managed-project.html#prerequisites)
* [GitLab access token requirements for self-hosted projects](/docs/scu/dev/onboard-to-spryker-code-upgrader/connect-spryker-ci-to-a-project-self-hosted-with-gitlab.html#prerequisites)
* [Azure access token requirements](/docs/scu/dev/onboard-to-spryker-code-upgrader/connect-spryker-ci-to-a-azure-managed-project.html#prerequisites)

![Spryker CI pipelines](https://spryker.s3.eu-central-1.amazonaws.com/docs/paas%2B/dev/onboard-to-spryker-code-upgrader/onboard-to-spryker-code-upgrader.md/pipelines.png)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,11 @@ Before you can start managing the upgrades of your project with Spryker Code Upg

The Upgrader provides automatic minor and patch updates for the current version of each module. Since most updates are released for the latest module versions, modules need to be of the latest major version to receive updates.

## Make sure your code is compliant with Spryker Quality Gate
To ensure that your project is suitable for the requirement, update all `spryker-feature-*` packages in composer.json to version `2022.04` or higher.

Spryker Quality Gate contains code checkers that ensure code compliance with Spryker development and customization guidelines. When an application is compliant with the guidelines, it can take minor and patch updates without breaking functionality, even if it is highly customized.
## Make sure your code is compliant with Upgradability Guidelines

Spryker Upgradability Guidelines contains rules that ensure code compliance with Spryker development and customization guidelines. When an application is compliant with the guidelines, it can take minor and patch updates without breaking functionality, even if it is highly customized.
AlexSlawinski marked this conversation as resolved.
Show resolved Hide resolved

## Implement E2E testing in development workflow

Expand All @@ -40,6 +42,14 @@ The upgrader supports only the projects that run on [Spryker Cloud Commerce OS (

The Upgrader still supports PHP 7.4 to help you upgrade your project. However, make sure to update PHP to the recommended version based on [Supported versions of PHP](/docs/scos/user/intro-to-spryker/whats-new/supported-versions-of-php.html).

## Optional: Implement headless design

The Upgrader does not evaluate frontend customizations. You can either move to headless or apply frontend upgrades manually.

## Optional: Ensure your code is compliant with the supported extensions scenarios.

To ensure the successful delivery of Spryker updates, we recommend using the extension points that exist in the [Keeping a project upgradable](/docs/scos/dev/guidelines/keeping-a-project-upgradable/keeping-a-project-upgradable.html#Follow the upgradability best practices).

## Next steps

[Onboard to Spryker Code Upgrader](/docs/scu/dev/onboard-to-spryker-code-upgrader/onboard-to-spryker-code-upgrader.html)
8 changes: 4 additions & 4 deletions docs/scu/dev/run-spryker-code-upgrader.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@ This document describes how to manually trigger Spryker Code Upgrader.

Connect the Upgrader to your project using one of the following guides:

* [Connect Spryker Code Upgrader to a GitHub managed project](/docs/scu/dev/onboard-to-spryker-code-upgrader/connect-spryker-code-upgrader-to-a-github-managed-project.html)
* [Connect Spryker Code Upgrader to a GitLab managed project](/docs/scu/dev/onboard-to-spryker-code-upgrader/connect-spryker-code-upgrader-to-a-gitlab-managed-project.html)
* [Connect Spryker Code Upgrader to a project self-hosted with GitLab](/docs/scu/dev/onboard-to-spryker-code-upgrader/connect-spryker-code-upgrader-to-a-project-self-hosted-with-gitlab.html)
* [Connect Spryker Code Upgrader to a Azure managed project](/docs/scu/dev/onboard-to-spryker-code-upgrader/connect-spryker-code-upgrader-to-a-azure-managed-project.html)
* [GitHub access token requirements](/docs/scu/dev/onboard-to-spryker-code-upgrader/connect-spryker-ci-to-a-gitlab-managed-project.html#prerequisites)
* [GitLab access token requirements](/docs/scu/dev/onboard-to-spryker-code-upgrader/connect-spryker-ci-to-a-gitlab-managed-project.html#prerequisites)
* [GitLab access token requirements for self-hosted projects](/docs/scu/dev/onboard-to-spryker-code-upgrader/connect-spryker-ci-to-a-project-self-hosted-with-gitlab.html#prerequisites)
* [Azure access token requirements](/docs/scu/dev/onboard-to-spryker-code-upgrader/connect-spryker-ci-to-a-azure-managed-project.html#prerequisites)

## Manually trigger Spryker Code Upgrader

Expand Down
6 changes: 5 additions & 1 deletion docs/scu/dev/spryker-ci.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,11 @@ Spryker CI is powered by [Buddy](https://buddy.works/) and provides an intuitive

## CI pipeline

Spryker CI is shipped with an Upgrader pipeline per project.
Spryker CI is shipped with an Upgrader tool pipeline per project. During the pipeline, updates from Sprykes SCOS Release will be applied to your repository.
AlexSlawinski marked this conversation as resolved.
Show resolved Hide resolved

{% info_block infoBox "Access" %}
Access to Spryker CI will be provided to you during the onboarding process.
{% endinfo_block %}

![Spryker Code Upgrader](https://spryker.s3.eu-central-1.amazonaws.com/docs/paas%2B/dev/spryker-ci.md/spryker-code-upgrader.png)

Expand Down
21 changes: 12 additions & 9 deletions docs/scu/dev/spryker-code-upgrader-in-a-development-workflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Spryker Code Upgrader works best when it is strategically integrated into your d

## Processing code upgrades with Scrum

When integrating the Upgrader into your development process, we recommend processing updates during the following Scrum activities:
When the Upgrader tool is integrated into your development process, we recommend processing updates during the following scrum activities:

* Sprint planning: review, prioritize, and select the upgrade suggestions to be installed in the upcoming sprint.
* Sprint execution: review, validate, modify, and merge the upgrades using the [Git flow](#git-flow-for-code-upgrades).
Expand All @@ -19,26 +19,29 @@ This approach lets you break up big upgrades into smaller pieces. Each smaller p

## Git flow for code upgrades

The Upgrader connects to a selected base branch in your project's repository, such as a Development branch. Based on the defined schedule, the Upgrader pulls the branch, analyzes the code and creates a pull request with the necessary updates. Your development team reviews the branch to merge or close it. For processing the PRs, you can use the process described in [Processing code upgrades with Scrum](#processing-code-upgrades-with-scrum).
The Upgrader tool connects to a selected base branch in your project's repository, like a Development branch. Based on the defined schedule, the Upgrader tool pulls the branch, analyzes the code and creates a pull request with the needed updates. Your development team reviews the branch to merge or close it. For processing the PRs, you can use the process described in [Processing code upgrades with Scrum](#processing-code-upgrades-with-scrum).

{% info_block infoBox "" %}

The Upgrader creates a PR only after a previous PR was merged or closed.
The Upgrader tool doesn't change existing PRs and creates a new one only after a previous PR was merged or closed.

{% endinfo_block %}


Following your standard development process, the updates are deployed to a staging environment. After passing all quality processes, the Development branch propagates into your release branch where it gets deployed to production.
The Upgrader tool is not influencing your development process. Your development team deploys the updates to a staging environment. After passing all quality processes, the Development branch propagates into your release branch.
AlexSlawinski marked this conversation as resolved.
Show resolved Hide resolved

![Spryker CI projects](https://spryker.s3.eu-central-1.amazonaws.com/docs/paas%2B/dev/spryker-code-upgrader-in-a-development-workflow.md/spryker-code-upgrader-integration-diagramm.png)

## Development team responsibilities

* Prepare your project for Spryker Code Upgrader.
* Connect Spryker Code Upgrader with your code hosting service.
* Cover your customizations with automated tests.
* Extend the development process with additional [Spryker Code Upgrader guidelines and quality checks](/docs/scu/dev/onboard-to-spryker-code-upgrader/prepare-a-project-for-spryker-code-upgrader.html#update-all-spryker-modules-to-version-202204-or-higher).
* Regularly process upgrade suggestions.
* Prepare your project for the Spryker Code Upgrader. [Instructions](/docs/scu/dev/onboard-to-spryker-code-upgrader/prepare-a-project-for-spryker-code-upgrader.html)

* Connect Spryker Code Upgrader with your code hosting service. [Instructions](/docs/scu/dev/onboard-to-spryker-code-upgrader/onboard-to-spryker-code-upgrader.html)

* Cover customizations with automated tests.

* Regularly process pull requests that were created by Spryker Code Upgrader.

* To continue receiving suggestions from Spryker Code Upgrader, apply major upgrades manually.

## Next steps
Expand Down
Loading