Skip to content

Commit 7fc8c71

Browse files
authored
Merge pull request #285 from mattgoud/update-release-process
Update release process
2 parents bfd43c8 + 4ca1210 commit 7fc8c71

File tree

3 files changed

+93
-72
lines changed

3 files changed

+93
-72
lines changed

content/maintainers-guide/processes/release/prestashop/_index.md

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -36,28 +36,28 @@ Security patch releases contain security fixes for major security issues. Please
3636
## Process overview
3737

3838
1. **[Perform preliminary tasks][preliminary-tasks]**: (click to see the full step)
39-
39+
4040
Short summary:
41-
42-
- **Set up the new version on the PrestaShop Addons Marketplace and update native modules' compatibility.**
43-
_To allow the PrestaShop Addons Marketplace and its API to serve modules compatible with this new PrestaShop version._
44-
41+
4542
- **Update the version number in the Core.**
46-
43+
4744
- **Make sure the default translation catalogue has been updated and pushed to Crowdin.**
4845
_To make any new wordings translatable._
4946

5047
- **Lock the theme version.**
5148

5249
- **Make sure to trigger the release of the Upgrade module if necessary.**
53-
54-
- **Perform manual verifications.**
50+
51+
- **Perform manual verifications.**
5552
_To make sure that the project is ready to be built._
5653

54+
- **Set up the new version on the PrestaShop Addons Marketplace and update native modules' compatibility.**
55+
_To allow the PrestaShop Addons Marketplace and its API to serve modules compatible with this new PrestaShop version._
56+
5757
2. **[Create a new build][create-build]**: (click to see the full step)
5858

5959
Short summary:
60-
60+
6161
- **Merge security PRs locally.**
6262
_Any security PRs must be merged on a local branch before making them public._
6363

@@ -66,7 +66,7 @@ Security patch releases contain security fixes for major security issues. Please
6666

6767
- **Push your work into a build branch.**
6868
_Allows the base branch to continue receiving merges while your build is being validated._
69-
69+
7070
- **Build and store the zip archive.**
7171
_The ZIP archive contains the software (including third party dependencies) and compiled assets (Javascript and CSS), but not the development sources, dev dependencies & tests._
7272

@@ -80,17 +80,18 @@ Security patch releases contain security fixes for major security issues. Please
8080
_And publish the security advisories._
8181

8282
- **Merge the updated Changelog and Contributors list on GitHub.**
83-
84-
- **Tag the version using Git and publish the release on GitHub.**
85-
86-
- **Communicate.**
83+
84+
- **Tag the version using Git. Do not push it just yet.**
85+
86+
- **Communicate and push/publish the tag and the release on GitHub.**
87+
_Make sure to link to the PrestaShop SA versions page from the GitHub release description to ease access to the latest built package of PrestaShop_
8788

8889
4. **[Final steps][final-steps]**: (click to see the full step)
8990

9091
Short summary:
9192

92-
- **Update API stream for 1-click upgrade.**
93-
_So that the 1-Click Upgrade (autoupgrade) module becomes aware of the new release._
93+
- **Update API stream for Update Assistant (1-click upgrade).**
94+
_So that the Update Assistant (1-Click Upgrade / autoupgrade) module becomes aware of the new release._
9495

9596
- **Create Docker images for the new version.**
9697

@@ -106,8 +107,8 @@ Security patch releases contain security fixes for major security issues. Please
106107
[github-repository]: https://github.com/prestashop/prestashop
107108
[php]: https://www.php.net/
108109
[compatible-php-versions]: {{< devdocs "basics/installation/system-requirements.md#php-requirements" >}}
109-
[get-composer]: https://getcomposer.org/
110-
[nodejs]: https://nodejs.org/
110+
[get-composer]: <https://getcomposer.org/>
111+
[nodejs]: <https://nodejs.org/>
111112
[nodejs-requirements]: {{< devdocs "development/compile-assets.md#requirements" >}}
112113

113114
[preliminary-tasks]: {{< relref "preliminary-tasks.md" >}}

content/maintainers-guide/processes/release/prestashop/preliminary-tasks.md

Lines changed: 56 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -9,26 +9,12 @@ aliases:
99

1010
Before you can start your build, you must make sure that the project is ready to be built.
1111

12-
## 1. Create the new version in Addons Marketplace and update native module compatibility
13-
14-
{{% notice warning %}}
15-
**This step requires special rights ([doc to create a new version on Addons](https://www.notion.so/prestashopcorp/Create-the-new-version-in-the-Addons-Marketplace-update-module-compatibility-4aae19abe5b641f9a77e904cd913e50a?pvs=4)).**
16-
17-
Ask a maintainer from the PrestaShop Company with administrative rights on the Addons Marketplace to perform this step.
18-
{{% /notice %}}
12+
## 1. Make sure the version number has been updated in the Core
1913

2014
{{% notice note %}}
2115
**This only needs to be done once per release.**
2216

23-
_(i.e. if done for a beta, it doesn't need to be performed again for the final release)._
24-
{{% /notice %}}
25-
26-
## 2. Make sure the version number has been updated in the Core
27-
28-
{{% notice note %}}
29-
**This only needs to be done once per release.**
30-
31-
PrestaShop does not support pre-release versioning yet. Any build of 1.7.6.0 will be identified as 1.7.6.0 regardless if the release is alpha, beta, RC or stable.
17+
PrestaShop does not support pre-release versioning yet. Any build of 1.7.6.0 will be identified as 1.7.6.0 regardless of whether the release is alpha, beta, RC, or stable.
3218
{{% /notice %}}
3319

3420
Check the following files and update them if necessary:
@@ -53,15 +39,15 @@ Check the following files and update them if necessary:
5339

5440
Make a pull request and have it merged.
5541

56-
Be careful: changing the version number has impacts on UI tests. You need to update the Distribution API to acknowledge the new version even though it does not exist yet, to allow UI tests to run. Submit a PR similar to [this example][pr-bump-dist-api] to do so.
42+
Be careful: changing the version number impacts UI tests. To allow UI tests to run, you need to update the Distribution API to acknowledge the new version even though it does not exist yet. To do so, submit a PR similar to [this example][pr-bump-dist-api].
5743

5844
{{% notice tip %}}
5945
If you're lost, check out [this example][bump-core-version-pr-example] from the 1.7.6.6 release.
6046

6147
[bump-core-version-pr-example]: https://github.com/PrestaShop/PrestaShop/pull/19980
6248
{{% /notice %}}
6349

64-
## 3. Make sure the default translation catalogue has been updated and pushed to Crowdin
50+
## 2. Make sure the default translation catalogue has been updated and pushed to Crowdin
6551

6652
{{% notice warning %}}
6753
**This step requires special rights.**
@@ -75,51 +61,55 @@ Ask a maintainer from the PrestaShop Company with access to the Translation Tool
7561
It is usually only done once per release as well.
7662
{{% /notice %}}
7763

78-
1. [Use the command to extract wordings from the TranslationTool repository](https://github.com/PrestaShopCorp/TranslationTool/actions/workflows/create-default-catalog-pr.yml). This command will automatically generates a Pull Request on the PrestaShop/PrestaShop repository (author should be jarvis). It is important to note that this PR must be reviewed by a member of the content team.
79-
https://github.com/PrestaShopCorp/TranslationTool is PRIVATE, and then you need a special right access to use it.
64+
1. [Use the Github Action to extract wordings from the TranslationTool repository](<https://github.com/PrestaShopCorp/TranslationTool/actions/workflows/create-default-catalog-pr.yml>). This command will automatically generates a Pull Request on the PrestaShop/PrestaShop repository (author should be jarvis). It is important to note that this PR must be reviewed by a member of the content team.
65+
<https://github.com/PrestaShopCorp/TranslationTool> is PRIVATE, and then you need special access rights to use it.
8066

81-
3. If the team content member requests wording corrections, they can be found either in the Prestashop CORE, a module or in the directory /mails of the Prestashop CORE.
67+
2. If the team content member requests wording corrections, they can be found either in the PrestaShop CORE, a module, or in the directory /mails of the PrestaShop CORE.
8268

83-
4. If the correction occurs in a module, a release must be made, along with a bump in the composer.json of the CORE, before re-extracting.
69+
3. If the correction occurs in a module, a release must be made, along with a bump in the composer.json of the CORE, before re-extracting.
8470

85-
5. If the wording to be corrected is found in /mails/themes/modern, you should first correct it in https://github.com/PrestaShop/mjml-theme-converter and the mail templates in the Prestashop CORE should also be regenerated (using https://github.com/PrestaShop/mjml-theme-converter ).
71+
4. If the wording to be corrected is found in `/mails/themes/modern`, you should first correct it in <https://github.com/PrestaShop/mjml-theme-converter> and the mail templates in the PrestaShop CORE should also be regenerated (using <https://github.com/PrestaShop/mjml-theme-converter> ).
8672

87-
6. Once all the wordings have been corrected, validated and merged, [a Github Action can be used on the TranslationTool repository](https://github.com/PrestaShopCorp/TranslationTool/actions/workflows/push_catalog_to_crowdin.yml) to push the catalogs to Crowdin (the repository need right access).
73+
5. Once all the wordings have been corrected, validated and merged, [a Github Action can be used on the TranslationTool repository](https://github.com/PrestaShopCorp/TranslationTool/actions/workflows/push_catalog_to_crowdin.yml) to push the catalogs to Crowdin (the repository need right access).
8874

89-
## 4. Lock the theme version.
75+
## 3. Lock the theme version
9076

9177
{{% notice tip %}}
92-
You can do this step using Git or directly on GitHub on the next step.
78+
You can do this step using Git or directly on GitHub in the next step.
9379
{{% /notice %}}
9480

9581
The theme has been moved outside of the Core repository since version 8.0.0.
9682

97-
* Create git tag on the Theme repository
83+
* Create a git tag on the Theme repository
84+
85+
This tag is needed to lock the theme version when a new release is built.
9886

99-
When a new release is built, this tag is needed to lock the theme version.
87+
* [Tag][git-tag] the new version:
10088

101-
- [Tag][git-tag] the new version:
10289
```bash
10390
git tag 2.0.0-rc1 # replace with your version
10491
```
105-
- Push the tag:
92+
93+
* Push the tag:
94+
10695
```bash
10796
git push 2.0.0-rc1 # replace with your version
10897
```
10998

11099
* Update `composer.lock` to target the new tag
111100

112-
## 5. Make sure to trigger the release of the Upgrade module if necessary.
101+
## 4. Make sure to trigger the release of the Upgrade module if necessary
113102

114-
Some releases do need an update of the [Autoupgrade][autoupgrade] module, some do not. For example if the MySQL schema of the database has been updated between two versions of PrestaShop, a schema update SQL script is needed, and it has to be to the [list][autoupgrade-sql-list].
103+
Some releases need an update of the [Update Assistant][autoupgrade] module, and some do not. For example, if the MySQL database schema has been updated between two versions of PrestaShop, a schema update SQL script is needed, and it has to be added to the [list][autoupgrade-sql-list].
115104

116105
Please verify whether or not this new version of PrestaShop requires
117-
- to modify the source code of the Autoupgrade module
118-
- to publish a new version (using the up-to-date content of the source code) of the Autoupgrade module
119106

120-
If yes, please follow [the release process of the Autoupgrade module][autoupgrade-release-process].
107+
* to modify the source code of the Update Assistant (autoupgrade) module
108+
* to publish a new version (using the up-to-date content of the source code) of the Update Assistant (autoupgrade) module
109+
110+
If yes, please follow [the release process of the Update Assistant module][autoupgrade-release-process].
121111

122-
## 6. Manual verifications
112+
## 5. Manual verifications
123113

124114
Make sure that in the current branch:
125115

@@ -132,11 +122,15 @@ Make sure that in the current branch:
132122
* All controllers are secured by annotations, and legacy link are provided for Symfony routes (starting from 9.0.x this step is obsolete as it is checked in the CI already):
133123

134124
```bash
135-
php bin/console prestashop:linter:security-annotation
125+
php bin/console prestashop:linter:security-annotation find-missing
136126
php bin/console prestashop:linter:legacy-link
137127

138128
* There are no known vulnerabilities in composer dependencies using `composer audit` to check vulnerabilities.
139129

130+
{{% notice warning %}}
131+
This repository is now archived. Use composer audit instead
132+
{{% /notice %}}
133+
140134
* _(Minor and major releases only)_ – No important `@todo` annotations have been left forgotten in new code
141135

142136
* All new hooks have been [registered][register-new-hook]
@@ -154,22 +148,38 @@ Make sure that in the current branch:
154148
```bash
155149
composer outdated -D "prestashop/*"
156150
```
157-
151+
158152
* [Nightly builds][nightly-build-board] are green
159153

154+
## 6. Create the new version in the PrestaShop Marketplace and update native module compatibility
155+
156+
{{% notice warning %}}
157+
**This step requires special rights ([doc to create a new version on PrestaShop Marketplace](https://www.notion.so/prestashopcorp/Create-the-new-version-in-the-Addons-Marketplace-update-module-compatibility-c665ab0777204e2d95ce6df22b140747)).**
158+
159+
Ask a maintainer from the PrestaShop Company with administrative rights on the PrestaShop Marketplace to perform this step.
160+
{{% /notice %}}
161+
162+
{{% notice note %}}
163+
**This only needs to be done once per release.**
164+
165+
_(i.e. if done for a beta, it doesn't need to be performed again for the final release)._
166+
{{% /notice %}}
160167
161168
{{% notice warning %}}
162169
If any of above verifications fails, it MUST be addressed in a Pull Requests and merged before moving forward.
163170
{{% /notice %}}
164171
172+
The preliminary steps are completed, you can now proceed to the [build steps][create-build].
173+
165174
[security-checker]: https://github.com/fabpot/local-php-security-checker
166175
[register-new-hook]: {{< devdocs "development/components/hook/register-new-hook/" >}}
167-
[fos-js-routing]: https://github.com/FriendsOfSymfony/FOSJsRoutingBundle
176+
[fos-js-routing]: <https://github.com/FriendsOfSymfony/FOSJsRoutingBundle>
168177
[how-to-build-assets]: {{< devdocs "development/compile-assets/" >}}
169-
[nightly-build-board]: https://nightly.prestashop-project.org/
170-
[security-checker-installer]: https://github.com/thislg/local-php-security-checker-installer
171-
[git-tag]: https://git-scm.com/book/en/v2/Git-Basics-Tagging
172-
[pr-bump-dist-api]: https://github.com/PrestaShop/distribution-api/pull/36
173-
[autoupgrade]: https://github.com/PrestaShop/autoupgrade/
174-
[autoupgrade-sql-list]: https://github.com/PrestaShop/autoupgrade/tree/dev/upgrade/sql
175-
[autoupgrade-release-process]: {{< relref "../autoupgrade.md" >}}
178+
[nightly-build-board]: <https://nightly.prestashop-project.org/>
179+
[security-checker-installer]: <https://github.com/thislg/local-php-security-checker-installer>
180+
[git-tag]: <https://git-scm.com/book/en/v2/Git-Basics-Tagging>
181+
[pr-bump-dist-api]: <https://github.com/PrestaShop/distribution-api/pull/36>
182+
[autoupgrade]: <https://github.com/PrestaShop/autoupgrade/>
183+
[autoupgrade-sql-list]: <https://github.com/PrestaShop/autoupgrade/tree/dev/upgrade/sql>
184+
[autoupgrade-release-process]: {{< relref "../autoupgrade.md" >}}
185+
[create-build]: {{< relref "create-build.md" >}}

readme.md

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,57 +5,67 @@
55
This repository aims to improve the overall maturity of the PrestaShop open source project.
66

77
It contains:
8-
- source code and content for www.prestashop-project.org
8+
9+
- source code and content for <www.prestashop-project.org>
910
- materials about the open source project evolution
1011

1112
## Rendering the site locally
1213

1314
### Option 1: Using Hugo installed on your system
1415

1516
1. Clone the repository somewhere on your system:
16-
```
17+
18+
```bash
1719
git clone --recurse-submodules https://github.com/PrestaShop/open-source.git
1820
```
1921

20-
**Note** normal cloning will not work. You _must_ recurse the submodules or hugo will not understand shortcodes and you will see errors such as:
21-
`failed to extract shortcode: template for shortcode "children" not found`
22+
**Note** normal cloning will not work. You _must_ recurse the submodules or hugo will not understand shortcodes and you will see errors such as:
23+
`failed to extract shortcode: template for shortcode "children" not found`
2224

2325
2. Switch to the `open-source` directory:
24-
```
26+
27+
```bash
2528
cd open-source
2629
```
2730

2831
3. Install Hugo (optional if already installed):
29-
```
32+
33+
```bash
3034
./bin/installHugo.sh
3135
```
3236

3337
4. Launch Hugo:
34-
```
38+
39+
```bash
3540
hugo server
3641
```
42+
3743
### Option 2: Using Docker (no need to install Hugo locally)
3844

3945
If you do not want to install Hugo on your system, you can use the provided `docker-compose.yml` file to run the site in a container.
4046

4147
1. Clone the repository (with submodules):
48+
4249
```bash
4350
git clone --recurse-submodules https://github.com/PrestaShop/open-source.git
4451
```
4552

4653
2. Switch to the `open-source` directory:
54+
4755
```bash
4856
cd open-source
4957
```
5058

5159
3. Use the following command to start the Hugo server:
60+
5261
```bash
5362
docker-compose up
5463
```
5564

5665
By default, the server will run on port `1313`. You can specify a different port by setting the `HUGO_SERVER_PORT` environment variable before running the command. For example:
66+
5767
```bash
5868
HUGO_SERVER_PORT=3000 docker-compose up
5969
```
6070

61-
4. Access the site in your browser at `http://localhost:<PORT>`, replacing `<PORT>` with the port you defined (default is `1313`).
71+
4. Access the site in your browser at `http://localhost:<PORT>`, replacing `<PORT>` with the port you defined (default is `1313`).

0 commit comments

Comments
 (0)