[OSDEV-2038] Updated RELEASE-PROTOCOL.md to include information about deployment to external environments such as RBA and ENVIRONMENTS.md to bring it up to date #673
Conversation
React App | Jest test suite - Code coverage reportTotal: 34.44%Your code coverage diff: 0.00% ▴ ✅ All code changes are covered |
Dedupe Hub App | Unittest test suite - Code coverage reportTotal: 55.73%Your code coverage diff: 0.00% ▴ ✅ All code changes are covered |
Countries App | Unittest test suite - Code coverage reportTotal: 100%Your code coverage diff: 0.00% ▴ ✅ All code changes are covered |
Contricleaner App | Unittest test suite - Code coverage reportTotal: 98.75%Your code coverage diff: 0.00% ▴ ✅ All code changes are covered |
Django App | Unittest test suite - Code coverage reportTotal: 80.8%Your code coverage diff: 0.00% ▴ ✅ All code changes are covered |
…cess-and-document-it-in-release-protocol-md
📝 WalkthroughWalkthroughThe documentation for OS Hub environments and release protocols was updated. Changes include clarifying environment purposes, deployment triggers, branch naming conventions, and adding detailed instructions for external collaboration environments. The release notes were also updated to reflect these documentation improvements. No code or functional changes were introduced. Changes
Possibly related PRs
Suggested reviewers
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Nitpick comments (2)
doc/release/RELEASE-PROTOCOL.md (2)
217-218: Grammar & clarity – singular subject + verb agreement.-3. The responsible person have to take db snapshot manually ... +3. The responsible person has to take a DB snapshot manually ...(and similarly “If the responsible person need” → “needs” on the next line).
Keeps the procedural language tight and professional.
88-99: Reduce repetitive sentence starts in key-results bullet list.
Four consecutive bullets begin with “SDLC should…”. Consider rewriting for readability, e.g.:-- SDLC should streamline and optimize ... -- SDLC should prevent bugs ... -- SDLC should facilitate testing ... -- SDLC should allow for an environment ... +- Streamline and optimize the development process for faster delivery. +- Prevent bugs from reaching Production and Sandbox environments by executing all possible checks in CI. +- Facilitate feature testing on real datasets no later than two days after implementation. +- Provide an environment with real datasets, frozen code, and Production-like resources for regression testing ahead of release.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
doc/release/ENVIRONMENTS.md(2 hunks)doc/release/RELEASE-NOTES.md(1 hunks)doc/release/RELEASE-PROTOCOL.md(9 hunks)
🧰 Additional context used
🧠 Learnings (4)
📓 Common learnings
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#641
File: doc/release/RELEASE-NOTES.md:6-35
Timestamp: 2025-06-02T13:24:57.659Z
Learning: The Open Supply Hub team keeps placeholders in release notes until code freeze, then fills in the actual content once all changes are finalized for the release.
Learnt from: roninzp
PR: opensupplyhub/open-supply-hub#636
File: scripts/check_release_branch.sh:7-12
Timestamp: 2025-05-27T11:11:57.522Z
Learning: In the open-supply-hub repository, release branches use the naming pattern "releases/*" (with an "s"), not "release/*". The script check_release_branch.sh correctly uses this pattern.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#420
File: doc/release/RELEASE-NOTES.md:47-54
Timestamp: 2024-11-28T06:36:47.122Z
Learning: API changes and migration details are documented in a separate repository with API specifications, rather than in the release notes.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#420
File: doc/release/RELEASE-NOTES.md:38-38
Timestamp: 2024-11-26T04:59:12.296Z
Learning: For endpoints that haven't been released to end users, it's acceptable to document API changes under the 'Bugfix' section in the release notes.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#420
File: doc/release/RELEASE-NOTES.md:47-54
Timestamp: 2024-11-28T06:36:47.122Z
Learning: Endpoints that have not been enabled to end users do not require migration documentation or old vs new format examples in the release notes.
doc/release/RELEASE-NOTES.md (6)
undefined
<retrieved_learning>
Learnt from: VadimKovalenkoSNF
PR: #420
File: doc/release/RELEASE-NOTES.md:47-54
Timestamp: 2024-11-28T06:36:47.122Z
Learning: API changes and migration details are documented in a separate repository with API specifications, rather than in the release notes.
</retrieved_learning>
<retrieved_learning>
Learnt from: VadimKovalenkoSNF
PR: #420
File: doc/release/RELEASE-NOTES.md:38-38
Timestamp: 2024-11-26T04:59:12.296Z
Learning: For endpoints that haven't been released to end users, it's acceptable to document API changes under the 'Bugfix' section in the release notes.
</retrieved_learning>
<retrieved_learning>
Learnt from: VadimKovalenkoSNF
PR: #420
File: doc/release/RELEASE-NOTES.md:47-54
Timestamp: 2024-11-28T06:36:47.122Z
Learning: Endpoints that have not been enabled to end users do not require migration documentation or old vs new format examples in the release notes.
</retrieved_learning>
<retrieved_learning>
Learnt from: VadimKovalenkoSNF
PR: #641
File: doc/release/RELEASE-NOTES.md:6-35
Timestamp: 2025-06-02T13:24:57.659Z
Learning: The Open Supply Hub team keeps placeholders in release notes until code freeze, then fills in the actual content once all changes are finalized for the release.
</retrieved_learning>
<retrieved_learning>
Learnt from: vladsha-dev
PR: #490
File: deployment/environments/terraform-preprod.tfvars:17-18
Timestamp: 2025-01-29T13:36:47.477Z
Learning: In the Open Supply Hub project, the pre-prod environment is always created from scratch, so PostgreSQL version upgrade flags (rds_allow_major_version_upgrade and rds_apply_immediately) are not needed as there's no upgrade process involved. These flags should only be set for environments that are being upgraded from an existing PostgreSQL 13 instance (e.g., Staging, Production, Dev, Test).
</retrieved_learning>
<retrieved_learning>
Learnt from: VadimKovalenkoSNF
PR: #420
File: doc/release/RELEASE-NOTES.md:37-37
Timestamp: 2024-11-25T13:28:23.090Z
Learning: When modifying unreleased API endpoints, such as refactoring the search_after parameter into search_after_value and search_after_id in the OpenSearch implementation, it's acceptable to leave the "What's New" section empty since the changes haven't been released to end users.
</retrieved_learning>
doc/release/ENVIRONMENTS.md (5)
Learnt from: vladsha-dev
PR: opensupplyhub/open-supply-hub#614
File: .github/workflows/deploy_to_aws.yml:346-346
Timestamp: 2025-05-09T06:53:02.003Z
Learning: In the Open Supply Hub project, the environment variable `vars.ENV_NAME` for Pre-prod environment is set to 'Preprod' (without hyphen) while the UI option shows 'Pre-prod' (with hyphen).
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#641
File: doc/release/RELEASE-NOTES.md:6-35
Timestamp: 2025-06-02T13:24:57.659Z
Learning: The Open Supply Hub team keeps placeholders in release notes until code freeze, then fills in the actual content once all changes are finalized for the release.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#420
File: doc/release/RELEASE-NOTES.md:38-38
Timestamp: 2024-11-26T04:59:12.296Z
Learning: For endpoints that haven't been released to end users, it's acceptable to document API changes under the 'Bugfix' section in the release notes.
Learnt from: vladsha-dev
PR: opensupplyhub/open-supply-hub#490
File: deployment/environments/terraform-preprod.tfvars:17-18
Timestamp: 2025-01-29T13:36:47.477Z
Learning: In the Open Supply Hub project, the pre-prod environment is always created from scratch, so PostgreSQL version upgrade flags (`rds_allow_major_version_upgrade` and `rds_apply_immediately`) are not needed as there's no upgrade process involved. These flags should only be set for environments that are being upgraded from an existing PostgreSQL 13 instance (e.g., Staging, Production, Dev, Test).
Learnt from: roninzp
PR: opensupplyhub/open-supply-hub#636
File: scripts/check_release_branch.sh:7-12
Timestamp: 2025-05-27T11:11:57.522Z
Learning: In the open-supply-hub repository, release branches use the naming pattern "releases/*" (with an "s"), not "release/*". The script check_release_branch.sh correctly uses this pattern.
doc/release/RELEASE-PROTOCOL.md (8)
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#420
File: doc/release/RELEASE-NOTES.md:38-38
Timestamp: 2024-11-26T04:59:12.296Z
Learning: For endpoints that haven't been released to end users, it's acceptable to document API changes under the 'Bugfix' section in the release notes.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#641
File: doc/release/RELEASE-NOTES.md:6-35
Timestamp: 2025-06-02T13:24:57.659Z
Learning: The Open Supply Hub team keeps placeholders in release notes until code freeze, then fills in the actual content once all changes are finalized for the release.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#420
File: doc/release/RELEASE-NOTES.md:47-54
Timestamp: 2024-11-28T06:36:47.122Z
Learning: API changes and migration details are documented in a separate repository with API specifications, rather than in the release notes.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#420
File: doc/release/RELEASE-NOTES.md:47-54
Timestamp: 2024-11-28T06:36:47.122Z
Learning: Endpoints that have not been enabled to end users do not require migration documentation or old vs new format examples in the release notes.
Learnt from: vladsha-dev
PR: opensupplyhub/open-supply-hub#490
File: deployment/environments/terraform-preprod.tfvars:17-18
Timestamp: 2025-01-29T13:36:47.477Z
Learning: In the Open Supply Hub project, the pre-prod environment is always created from scratch, so PostgreSQL version upgrade flags (`rds_allow_major_version_upgrade` and `rds_apply_immediately`) are not needed as there's no upgrade process involved. These flags should only be set for environments that are being upgraded from an existing PostgreSQL 13 instance (e.g., Staging, Production, Dev, Test).
Learnt from: vladsha-dev
PR: opensupplyhub/open-supply-hub#614
File: .github/workflows/deploy_to_aws.yml:346-346
Timestamp: 2025-05-09T06:53:02.003Z
Learning: In the Open Supply Hub project, the environment variable `vars.ENV_NAME` for Pre-prod environment is set to 'Preprod' (without hyphen) while the UI option shows 'Pre-prod' (with hyphen).
Learnt from: roninzp
PR: opensupplyhub/open-supply-hub#636
File: scripts/check_release_branch.sh:23-27
Timestamp: 2025-05-27T11:13:50.933Z
Learning: In scripts/check_release_branch.sh, when the merge base cannot be found between a release branch and main, the script should exit with status 1 to fail the pipeline rather than continuing. This is intended behavior to prevent potentially dangerous deployments when the branch state cannot be determined.
Learnt from: roninzp
PR: opensupplyhub/open-supply-hub#636
File: scripts/check_release_branch.sh:7-12
Timestamp: 2025-05-27T11:11:57.522Z
Learning: In the open-supply-hub repository, release branches use the naming pattern "releases/*" (with an "s"), not "release/*". The script check_release_branch.sh correctly uses this pattern.
🪛 LanguageTool
doc/release/ENVIRONMENTS.md
[style] ~5-~5: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ases/vX.Y | releases/vX.Y | releases/vX.Y | | Database | Seeded | Seeded | - Ano...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[style] ~14-~14: ‘prior to’ might be wordy. Consider a shorter alternative.
Context: ...ability, performance, and functionality prior to release. |
(EN_WORDINESS_PREMIUM_PRIOR_TO)
doc/release/RELEASE-PROTOCOL.md
[style] ~89-~89: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ter than 2 days after implementation. - SDLC should allow for an environment with re...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[typographical] ~215-~215: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...g days before its scheduled date and in 1-2 hours to prevent any actions on the env...
(HYPHEN_TO_EN)
[grammar] ~217-~217: The verb form ‘have’ does not appear to fit in this context.
Context: ...oduction-locations). 3. The responsible person have to take db snapshot manually via Amazon...
(SINGULAR_NOUN_VERB_AGREEMENT)
[uncategorized] ~218-~218: Possible missing comma found.
Context: ...5-18-2025andprd-db-05-18-2025). 4. Then the responsible person runs the [Relea...
(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~218-~218: “Person” is a singular noun. It appears that the verb form is incorrect.
Context: ... environment. If the responsible person need to clear the custom OpenSearch indexes ...
(PCT_SINGULAR_NOUN_PLURAL_VERB_AGREEMENT)
[style] ~222-~222: Consider a more expressive alternative.
Context: ...ck that DedupeHub is up and running. To do this, they should open CloudWatch via t...
(DO_ACHIEVE)
[uncategorized] ~224-~224: The verb “is” doesn’t seem to fit in this context, “are” is probably more formally correct.
Context: ...d have been successfully executed. Here is the [instructions](https://opensupplyhu...
(AI_HYDRA_LEO_CPT_IS_ARE)
[uncategorized] ~228-~228: Possible missing comma found.
Context: ...n the Production, as well as issues, if any encountered during testing. 12. Upon co...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~248-~248: A comma is probably missing here.
Context: ...r preparing the fix, merge it back. For Production you have to make active the `disable_li...
(MISSING_COMMA_AFTER_INTRODUCTORY_PHRASE)
[uncategorized] ~248-~248: The preposition ‘of’ seems more likely in this position.
Context: ...xes and templatescheckbox. At the end for Production make inactive thedisable_l...
(AI_HYDRA_LEO_REPLACE_FOR_OF)
[uncategorized] ~248-~248: Possible missing comma found.
Context: ...and templatescheckbox. At the end for Production make inactive thedisable_list_uploadi...
(AI_HYDRA_LEO_MISSING_COMMA)
🪛 markdownlint-cli2 (0.17.2)
doc/release/ENVIRONMENTS.md
14-14: Table column count
Expected: 7; Actual: 5; Too few cells, row will be missing data
(MD056, table-column-count)
doc/release/RELEASE-PROTOCOL.md
204-204: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
216-216: Link fragments should be valid
(MD051, link-fragments)
⏰ Context from checks skipped due to timeout of 90000ms (13)
- GitHub Check: run-dd-code-quality
- GitHub Check: run-integration-test-code-quality
- GitHub Check: get-base-branch-dd-cov
- GitHub Check: run-eslint-linter-and-prettier-formatter
- GitHub Check: get-base-branch-contricleaner-cov
- GitHub Check: run-flake8-linter
- GitHub Check: run-contricleaner-code-quality
- GitHub Check: run-fe-code-quality
- GitHub Check: run-django-code-quality
- GitHub Check: get-base-branch-fe-cov
- GitHub Check: run-countries-code-quality
- GitHub Check: get-base-branch-countries-cov
- GitHub Check: get-base-branch-django-cov
🔇 Additional comments (1)
doc/release/RELEASE-NOTES.md (1)
132-134: Release-note bullet looks goodThe wording is clear and matches the doc changes introduced in this PR. No action required.
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (6)
doc/release/RELEASE-PROTOCOL.md (6)
104-116: Minor grammar & style tweaks in “Core environments” listA few small nits will improve readability and keep terminology consistent:
- - The environment intended for quick and preliminary tests of new features and fixed bugs on seeded data by software developers immediately after merging into the `main` branch. This environment uses minimal AWS resources. + - Environment for quick, preliminary tests of new features and bug fixes on seeded data by developers immediately after code is merged to `main`. Uses minimal AWS resources. @@ - - The environment designed for testing new features and fixed bugs by QA and software engineers on real datasets. This environment utilizes average AWS resources and is manually deployed by QA Engineer as needed. + - Environment for QA/engineering testing on real datasets. Utilises moderate AWS resources and is deployed manually by a QA engineer when required. @@ - - The environment intended for use during the preparation for deploying to Production and Sandbox. All features and bug fixes should be verified here, as well as regression testing. It is supposed to be run only during the release process, five working days before the release. This environment uses maximum AWS resources to mirror the Production environment. + - Environment used during preparation for Production / Sandbox deployment. All features and fixes are verified here, including regression testing. It is spun up only for the release process (five working days before the release) and mirrors Production resource-wise.
119-125: Clarify the RBA reference & add anchor link“RBA” is introduced without context. Consider expanding it or linking to the partner’s docs so newcomers understand what RBA stands for.
-1. RBA +1. RBA – <small>Responsible Business Alliance (partner environment)</small>If “RBA” is internal jargon, at least spell it out once.
215-219: Fix grammar & tighten wording in Release step 1-4 + note-1. To enhance communication within the team, the responsible person for the release must notify all stakeholders about the release two working days before its scheduled date and in 1-2 hours to prevent any actions on the environment on which the deployment is carried out. +1. The release owner must notify stakeholders at least two working days before the deployment and again 1–2 hours beforehand to prevent activity on the target environment. -3. The responsible person have to take db snapshot manually via Amazon RDS in the `Snapshots` tab with name `env-db-MM-DD-YYYY` (examples: `stg-db-05-18-2025` and `prd-db-05-18-2025`). +3. The release owner **has to** take **a** DB snapshot manually in Amazon RDS → Snapshots, naming it `env-db-MM-DD-YYYY` (e.g., `stg-db-05-18-2025`, `prd-db-05-18-2025`). -4. Then the responsible person runs the `[Release] Deploy` workflow for the Sandbox and Production environments from the release branch. They need to fill in the full release tag version (`X.Y.Z`) and choose the environment. If the responsible person need to clear the custom OpenSearch indexes and templates during deployment, they must select the `Clear the custom OpenSearch indexes and templates` checkbox. +4. Run the `[Release] Deploy` workflow for Sandbox and Production from the release branch, specifying the full tag (`X.Y.Z`) and target environment. If custom OpenSearch indexes/templates must be cleared, tick **Clear the custom OpenSearch indexes and templates**. -ℹ️ Note, that `Deploy to AWS` workflow will be triggered <strong>automatically</strong> for the Sandbox and Production environments respectively. +ℹ️ **Note:** The `Deploy to AWS` workflow is triggered **automatically** for Sandbox and Production.
248-249: Align terminology & commas in Hotfix section-For Production you have to make active the `disable_list_uploading` switch. +For Production, activate the `disable_list_uploading` switch. @@ -At the end for Production make inactive the `disable_list_uploading` switch. +After deployment to Production, deactivate the `disable_list_uploading` switch.Also, replace “Staging” with “Sandbox” if you address the earlier comment.
257-258: Subject-verb agreement-2. To shut down the Pre-prod the responsible person have to select `Destroy Environment` in the Actions menu. +2. To shut down Pre-prod, the responsible person **has** to select `Destroy Environment` in the Actions menu.
194-200: Capitalisation & list-marker lint- - A Day before the Code Freeze (Five working days before the release scheduled for Saturday), the QA engineer creates a new test run cycle in QAlity. + - A day before the code freeze (five working days before the Saturday release), the QA engineer creates a new test-run cycle in QAlity.This also satisfies
markdownlintrule MD004 (consistent unordered-list marker).
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
doc/release/RELEASE-PROTOCOL.md(9 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#641
File: doc/release/RELEASE-NOTES.md:6-35
Timestamp: 2025-06-02T13:24:57.659Z
Learning: The Open Supply Hub team keeps placeholders in release notes until code freeze, then fills in the actual content once all changes are finalized for the release.
Learnt from: roninzp
PR: opensupplyhub/open-supply-hub#636
File: scripts/check_release_branch.sh:7-12
Timestamp: 2025-05-27T11:11:57.522Z
Learning: In the open-supply-hub repository, release branches use the naming pattern "releases/*" (with an "s"), not "release/*". The script check_release_branch.sh correctly uses this pattern.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#420
File: doc/release/RELEASE-NOTES.md:47-54
Timestamp: 2024-11-28T06:36:47.122Z
Learning: API changes and migration details are documented in a separate repository with API specifications, rather than in the release notes.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#420
File: doc/release/RELEASE-NOTES.md:38-38
Timestamp: 2024-11-26T04:59:12.296Z
Learning: For endpoints that haven't been released to end users, it's acceptable to document API changes under the 'Bugfix' section in the release notes.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#420
File: doc/release/RELEASE-NOTES.md:47-54
Timestamp: 2024-11-28T06:36:47.122Z
Learning: Endpoints that have not been enabled to end users do not require migration documentation or old vs new format examples in the release notes.
doc/release/RELEASE-PROTOCOL.md (9)
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#420
File: doc/release/RELEASE-NOTES.md:38-38
Timestamp: 2024-11-26T04:59:12.296Z
Learning: For endpoints that haven't been released to end users, it's acceptable to document API changes under the 'Bugfix' section in the release notes.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#641
File: doc/release/RELEASE-NOTES.md:6-35
Timestamp: 2025-06-02T13:24:57.659Z
Learning: The Open Supply Hub team keeps placeholders in release notes until code freeze, then fills in the actual content once all changes are finalized for the release.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#420
File: doc/release/RELEASE-NOTES.md:47-54
Timestamp: 2024-11-28T06:36:47.122Z
Learning: Endpoints that have not been enabled to end users do not require migration documentation or old vs new format examples in the release notes.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#420
File: doc/release/RELEASE-NOTES.md:47-54
Timestamp: 2024-11-28T06:36:47.122Z
Learning: API changes and migration details are documented in a separate repository with API specifications, rather than in the release notes.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#420
File: doc/release/RELEASE-NOTES.md:37-37
Timestamp: 2024-11-25T13:28:23.090Z
Learning: When modifying unreleased API endpoints, such as refactoring the `search_after` parameter into `search_after_value` and `search_after_id` in the OpenSearch implementation, it's acceptable to leave the "What's New" section empty since the changes haven't been released to end users.
Learnt from: vladsha-dev
PR: opensupplyhub/open-supply-hub#490
File: deployment/environments/terraform-preprod.tfvars:17-18
Timestamp: 2025-01-29T13:36:47.477Z
Learning: In the Open Supply Hub project, the pre-prod environment is always created from scratch, so PostgreSQL version upgrade flags (`rds_allow_major_version_upgrade` and `rds_apply_immediately`) are not needed as there's no upgrade process involved. These flags should only be set for environments that are being upgraded from an existing PostgreSQL 13 instance (e.g., Staging, Production, Dev, Test).
Learnt from: vladsha-dev
PR: opensupplyhub/open-supply-hub#614
File: .github/workflows/deploy_to_aws.yml:346-346
Timestamp: 2025-05-09T06:53:02.003Z
Learning: In the Open Supply Hub project, the environment variable `vars.ENV_NAME` for Pre-prod environment is set to 'Preprod' (without hyphen) while the UI option shows 'Pre-prod' (with hyphen).
Learnt from: roninzp
PR: opensupplyhub/open-supply-hub#636
File: scripts/check_release_branch.sh:23-27
Timestamp: 2025-05-27T11:13:50.933Z
Learning: In scripts/check_release_branch.sh, when the merge base cannot be found between a release branch and main, the script should exit with status 1 to fail the pipeline rather than continuing. This is intended behavior to prevent potentially dangerous deployments when the branch state cannot be determined.
Learnt from: roninzp
PR: opensupplyhub/open-supply-hub#636
File: scripts/check_release_branch.sh:7-12
Timestamp: 2025-05-27T11:11:57.522Z
Learning: In the open-supply-hub repository, release branches use the naming pattern "releases/*" (with an "s"), not "release/*". The script check_release_branch.sh correctly uses this pattern.
🪛 LanguageTool
doc/release/RELEASE-PROTOCOL.md
[style] ~89-~89: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ter than 2 days after implementation. - SDLC should allow for an environment with re...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[uncategorized] ~215-~215: The preposition “within” seems more likely in this position.
Context: ...king days before its scheduled date and in 1-2 hours to prevent any actions on the...
(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)
[typographical] ~215-~215: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...g days before its scheduled date and in 1-2 hours to prevent any actions on the env...
(HYPHEN_TO_EN)
[uncategorized] ~217-~217: This verb does not appear to agree with the subject. Consider using a different form.
Context: ...n-locations). 3. The responsible person have to take db snapshot manually via Amazon...
(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)
[uncategorized] ~217-~217: You might be missing the article “a” here.
Context: ... 3. The responsible person have to take db snapshot manually via Amazon RDS in the...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
[uncategorized] ~217-~217: You might be missing the article “the” here.
Context: ... Amazon RDS in the Snapshots tab with name env-db-MM-DD-YYYY (examples: `stg-db-...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~218-~218: Possible missing comma found.
Context: ...5-18-2025andprd-db-05-18-2025). 4. Then the responsible person runs the [Relea...
(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~218-~218: “Person” is a singular noun. It appears that the verb form is incorrect.
Context: ... environment. If the responsible person need to clear the custom OpenSearch indexes ...
(PCT_SINGULAR_NOUN_PLURAL_VERB_AGREEMENT)
[style] ~222-~222: Consider a more expressive alternative.
Context: ...ck that DedupeHub is up and running. To do this, they should open CloudWatch via t...
(DO_ACHIEVE)
[uncategorized] ~224-~224: The verb “is” doesn’t seem to fit in this context, “are” is probably more formally correct.
Context: ...d have been successfully executed. Here is the [instructions](https://opensupplyhu...
(AI_HYDRA_LEO_CPT_IS_ARE)
[uncategorized] ~228-~228: Possible missing comma found.
Context: ...n the Production, as well as issues, if any encountered during testing. 12. Upon co...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~239-~239: The preposition “in” seems more likely in this position than the preposition “on”.
Context: ...ould be conducted in the same manner as on the Production environment to ensure st...
(AI_EN_LECTOR_REPLACEMENT_PREPOSITION_ON_IN)
[uncategorized] ~248-~248: A comma is probably missing here.
Context: ...r preparing the fix, merge it back. For Production you have to make active the `disable_li...
(MISSING_COMMA_AFTER_INTRODUCTORY_PHRASE)
[uncategorized] ~248-~248: The preposition ‘of’ seems more likely in this position.
Context: ...xes and templatescheckbox. At the end for Production make inactive thedisable_l...
(AI_HYDRA_LEO_REPLACE_FOR_OF)
[uncategorized] ~248-~248: Possible missing comma found.
Context: ...and templatescheckbox. At the end for Production make inactive thedisable_list_uploadi...
(AI_HYDRA_LEO_MISSING_COMMA)
🪛 markdownlint-cli2 (0.17.2)
doc/release/RELEASE-PROTOCOL.md
204-204: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
⏰ Context from checks skipped due to timeout of 90000ms (13)
- GitHub Check: get-base-branch-contricleaner-cov
- GitHub Check: run-contricleaner-code-quality
- GitHub Check: run-django-code-quality
- GitHub Check: run-eslint-linter-and-prettier-formatter
- GitHub Check: run-flake8-linter
- GitHub Check: run-countries-code-quality
- GitHub Check: get-base-branch-dd-cov
- GitHub Check: run-dd-code-quality
- GitHub Check: get-base-branch-countries-cov
- GitHub Check: run-integration-test-code-quality
- GitHub Check: get-base-branch-fe-cov
- GitHub Check: get-base-branch-django-cov
- GitHub Check: run-fe-code-quality
🔇 Additional comments (1)
doc/release/RELEASE-PROTOCOL.md (1)
208-212: Environment name inconsistency (“Staging” vs “Sandbox” / “Pre-prod”)The project uses “Sandbox” and “Pre-prod” elsewhere, but this bullet introduces “Staging Environment”. Using a third term may confuse readers.
Action: rename to whichever canonical term the team adopted (most likely “Sandbox” or “Pre-prod”).
-1. `Staging Environment:` Verify the release changes before deployment to Production. +1. `Sandbox Environment:` Verify the release changes before deployment to Production.
…cess-and-document-it-in-release-protocol-md
|
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (3)
doc/release/RELEASE-PROTOCOL.md (3)
226-230: Use active wording & commas for smoother reading-9. Make inactive the `disable_list_uploading` switch (in the Production environment). +9. Deactivate the `disable_list_uploading` switch in the Production environment. -11. The QA Engineer must notify stakeholders in the `#data_x_product` Slack channel when testing is complete in the Sandbox and in the Production, as well as issues, if any encountered during testing. +11. The QA Engineer must notify stakeholders in the `#data_x_product` Slack channel when smoke-testing is complete in Sandbox and Production, and report any issues encountered. -12. Upon completing the release, the responsible person must notify stakeholders in the `#data_x_product` Slack channel that the releases to Sandbox and Production have concluded. +12. After finishing the release, the responsible person must inform stakeholders in `#data_x_product` that deployments to Sandbox and Production are complete.This tightens phrasing, removes parentheses, and inserts needed commas for readability.
235-241: Preposition & consistency nits in external-env guidanceMinor wording inconsistencies:
-4. Smoke Testing: Smoke testing should be conducted in the same manner as on the Production environment ... +4. Smoke Testing: Smoke testing should be conducted in the same manner as in the Production environment ...Also consider capitalising “Git tagging strategy” bullet headers for uniform style (they mix sentence- and title-case).
248-248: Hot-fix paragraph needs commas & clearer toggling language-For Production you have to make active the `disable_list_uploading` switch. +For Production, you must activate the `disable_list_uploading` switch. ... -At the end for Production make inactive the `disable_list_uploading` switch. +At the end, for Production, deactivate the `disable_list_uploading` switch.Adds missing commas, adopts “activate/deactivate” phrasing used elsewhere, and matches earlier edits.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
doc/release/RELEASE-PROTOCOL.md(9 hunks)
🧰 Additional context used
🧠 Learnings (2)
📓 Common learnings
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#641
File: doc/release/RELEASE-NOTES.md:6-35
Timestamp: 2025-06-02T13:24:57.659Z
Learning: The Open Supply Hub team keeps placeholders in release notes until code freeze, then fills in the actual content once all changes are finalized for the release.
Learnt from: roninzp
PR: opensupplyhub/open-supply-hub#636
File: scripts/check_release_branch.sh:7-12
Timestamp: 2025-05-27T11:11:57.522Z
Learning: In the open-supply-hub repository, release branches use the naming pattern "releases/*" (with an "s"), not "release/*". The script check_release_branch.sh correctly uses this pattern.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#420
File: doc/release/RELEASE-NOTES.md:47-54
Timestamp: 2024-11-28T06:36:47.122Z
Learning: API changes and migration details are documented in a separate repository with API specifications, rather than in the release notes.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#420
File: doc/release/RELEASE-NOTES.md:38-38
Timestamp: 2024-11-26T04:59:12.296Z
Learning: For endpoints that haven't been released to end users, it's acceptable to document API changes under the 'Bugfix' section in the release notes.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#420
File: doc/release/RELEASE-NOTES.md:47-54
Timestamp: 2024-11-28T06:36:47.122Z
Learning: Endpoints that have not been enabled to end users do not require migration documentation or old vs new format examples in the release notes.
doc/release/RELEASE-PROTOCOL.md (9)
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#420
File: doc/release/RELEASE-NOTES.md:38-38
Timestamp: 2024-11-26T04:59:12.296Z
Learning: For endpoints that haven't been released to end users, it's acceptable to document API changes under the 'Bugfix' section in the release notes.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#641
File: doc/release/RELEASE-NOTES.md:6-35
Timestamp: 2025-06-02T13:24:57.659Z
Learning: The Open Supply Hub team keeps placeholders in release notes until code freeze, then fills in the actual content once all changes are finalized for the release.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#420
File: doc/release/RELEASE-NOTES.md:47-54
Timestamp: 2024-11-28T06:36:47.122Z
Learning: API changes and migration details are documented in a separate repository with API specifications, rather than in the release notes.
Learnt from: VadimKovalenkoSNF
PR: opensupplyhub/open-supply-hub#420
File: doc/release/RELEASE-NOTES.md:47-54
Timestamp: 2024-11-28T06:36:47.122Z
Learning: Endpoints that have not been enabled to end users do not require migration documentation or old vs new format examples in the release notes.
Learnt from: Innavin369
PR: opensupplyhub/open-supply-hub#431
File: src/django/api/views/v1/utils.py:95-95
Timestamp: 2024-11-28T12:55:41.805Z
Learning: When reviewing PRs focused on V1 changes, ensure comments are specific to V1 endpoints and avoid commenting on code outside of V1.
Learnt from: roninzp
PR: opensupplyhub/open-supply-hub#636
File: scripts/check_release_branch.sh:7-12
Timestamp: 2025-05-27T11:11:57.522Z
Learning: In the open-supply-hub repository, release branches use the naming pattern "releases/*" (with an "s"), not "release/*". The script check_release_branch.sh correctly uses this pattern.
Learnt from: vladsha-dev
PR: opensupplyhub/open-supply-hub#490
File: deployment/environments/terraform-preprod.tfvars:17-18
Timestamp: 2025-01-29T13:36:47.477Z
Learning: In the Open Supply Hub project, the pre-prod environment is always created from scratch, so PostgreSQL version upgrade flags (`rds_allow_major_version_upgrade` and `rds_apply_immediately`) are not needed as there's no upgrade process involved. These flags should only be set for environments that are being upgraded from an existing PostgreSQL 13 instance (e.g., Staging, Production, Dev, Test).
Learnt from: vladsha-dev
PR: opensupplyhub/open-supply-hub#614
File: .github/workflows/deploy_to_aws.yml:346-346
Timestamp: 2025-05-09T06:53:02.003Z
Learning: In the Open Supply Hub project, the environment variable `vars.ENV_NAME` for Pre-prod environment is set to 'Preprod' (without hyphen) while the UI option shows 'Pre-prod' (with hyphen).
Learnt from: roninzp
PR: opensupplyhub/open-supply-hub#636
File: scripts/check_release_branch.sh:23-27
Timestamp: 2025-05-27T11:13:50.933Z
Learning: In scripts/check_release_branch.sh, when the merge base cannot be found between a release branch and main, the script should exit with status 1 to fail the pipeline rather than continuing. This is intended behavior to prevent potentially dangerous deployments when the branch state cannot be determined.
🪛 LanguageTool
doc/release/RELEASE-PROTOCOL.md
[style] ~89-~89: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...ter than 2 days after implementation. - SDLC should allow for an environment with re...
(ENGLISH_WORD_REPEAT_BEGINNING_RULE)
[uncategorized] ~215-~215: The preposition “within” seems more likely in this position.
Context: ...king days before its scheduled date and in 1-2 hours to prevent any actions on the...
(AI_EN_LECTOR_REPLACEMENT_PREPOSITION)
[typographical] ~215-~215: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...g days before its scheduled date and in 1-2 hours to prevent any actions on the env...
(HYPHEN_TO_EN)
[uncategorized] ~217-~217: This verb does not appear to agree with the subject. Consider using a different form.
Context: ...n-locations). 3. The responsible person have to take db snapshot manually via Amazon...
(AI_EN_LECTOR_REPLACEMENT_VERB_AGREEMENT)
[uncategorized] ~217-~217: You might be missing the article “a” here.
Context: ... 3. The responsible person have to take db snapshot manually via Amazon RDS in the...
(AI_EN_LECTOR_MISSING_DETERMINER_A)
[uncategorized] ~217-~217: You might be missing the article “the” here.
Context: ... Amazon RDS in the Snapshots tab with name env-db-MM-DD-YYYY (examples: `stg-db-...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~218-~218: Possible missing comma found.
Context: ...5-18-2025andprd-db-05-18-2025). 4. Then the responsible person runs the [Relea...
(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~218-~218: “Person” is a singular noun. It appears that the verb form is incorrect.
Context: ... environment. If the responsible person need to clear the custom OpenSearch indexes ...
(PCT_SINGULAR_NOUN_PLURAL_VERB_AGREEMENT)
[style] ~222-~222: Consider a more expressive alternative.
Context: ...ck that DedupeHub is up and running. To do this, they should open CloudWatch via t...
(DO_ACHIEVE)
[uncategorized] ~224-~224: The verb “is” doesn’t seem to fit in this context, “are” is probably more formally correct.
Context: ...d have been successfully executed. Here is the [instructions](https://opensupplyhu...
(AI_HYDRA_LEO_CPT_IS_ARE)
[uncategorized] ~228-~228: Possible missing comma found.
Context: ...n the Production, as well as issues, if any encountered during testing. 12. Upon co...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~239-~239: The preposition “in” seems more likely in this position than the preposition “on”.
Context: ...ould be conducted in the same manner as on the Production environment to ensure st...
(AI_EN_LECTOR_REPLACEMENT_PREPOSITION_ON_IN)
[uncategorized] ~248-~248: A comma is probably missing here.
Context: ...r preparing the fix, merge it back. For Production you have to make active the `disable_li...
(MISSING_COMMA_AFTER_INTRODUCTORY_PHRASE)
[uncategorized] ~248-~248: The preposition ‘of’ seems more likely in this position.
Context: ...xes and templatescheckbox. At the end for Production make inactive thedisable_l...
(AI_HYDRA_LEO_REPLACE_FOR_OF)
[uncategorized] ~248-~248: Possible missing comma found.
Context: ...and templatescheckbox. At the end for Production make inactive thedisable_list_uploadi...
(AI_HYDRA_LEO_MISSING_COMMA)
🪛 markdownlint-cli2 (0.17.2)
doc/release/RELEASE-PROTOCOL.md
204-204: Unordered list style
Expected: dash; Actual: asterisk
(MD004, ul-style)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (13)
- GitHub Check: run-countries-code-quality
- GitHub Check: get-base-branch-contricleaner-cov
- GitHub Check: get-base-branch-countries-cov
- GitHub Check: run-eslint-linter-and-prettier-formatter
- GitHub Check: run-flake8-linter
- GitHub Check: get-base-branch-django-cov
- GitHub Check: get-base-branch-dd-cov
- GitHub Check: run-dd-code-quality
- GitHub Check: run-django-code-quality
- GitHub Check: run-integration-test-code-quality
- GitHub Check: run-contricleaner-code-quality
- GitHub Check: run-fe-code-quality
- GitHub Check: get-base-branch-fe-cov



RELEASE-PROTOCOL.mdfile to include information about deployment to external environments such as RBA. Also consolidated environment naming to use capitalized format, and corrected spelling mistakes and formatting issues.ENVIRONMENTS.mdfile to bring it up to date with the latest state of the core environments.