Skip to content

Document and adjust change management process - #865

Open
lbarcziova wants to merge 1 commit into
packit:mainfrom
lbarcziova:news-process
Open

lbarcziova wants to merge 1 commit into
packit:mainfrom
lbarcziova:news-process

Conversation

@lbarcziova

@lbarcziova lbarcziova commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

@qodo-for-packit

Copy link
Copy Markdown

PR Summary by Qodo

Prepare News entries after deployment and document change management

✨ Enhancement 📝 Documentation 🕐 20-40 Minutes

Grey Divider

AI Description

• Generate a copy-ready News entry from PR release notes after a successful deployment.
• Keep missing-note diagnostics separate from publishable content without blocking deployment.
• Document how developers record changes and how operators publish and share them.
Diagram

graph TD
  A["Successful deploy"] --> B["GitHub PR notes"] --> C{"Usable notes?"} -->|Yes| D["News entry"] --> E["Website MR"] --> F["News archive"] --> G["Slack and email"]
  C -->|No or failure| H["Diagnostic output"]
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Automatically open a website merge request
  • ➕ Reduces manual copying and the chance of omitting a deployment.
  • ➖ Requires cross-repository credentials and automation for same-day entries.
  • ➖ Adds integration complexity to the deployment path.

Recommendation: Keep the copy-ready output and manually reviewed website merge request for now. It improves consistency without coupling deployment success to website access; automation is worth revisiting if manual publication becomes a recurring burden.

Files changed (5) +136 / -42

Enhancement (1) +83 / -34
deployment_release.pyRender publishable News entries after deployment +83/-34

Render publishable News entries after deployment

• Reuses release-note bullet formatting to print a dated News entry with deployment metadata and PR links after a successful deployment. Separates missing-note diagnostics from content to copy and preserves changelog or failure messages when no entry can be generated.

openshift/scripts/deployment_release.py

Tests (1) +5 / -5
test_deployment_release.pyAdapt deployment-output test to note collection +5/-5

Adapt deployment-output test to note collection

• Updates the baseline-commit test to mock the new release-note collection helper and verify that it receives the deployment's base and source commits.

openshift/scripts/tests/unit/test_deployment_release.py

Documentation (3) +48 / -3
README.mdLink the change management process +4/-0

Link the change management process

• Adds the communication process to the main documentation index so contributors can find the post-deployment guidance.

README.md

change_management.mdDefine release-note and announcement responsibilities +31/-0

Define release-note and announcement responsibilities

• Documents PR release-note markers, publication of deployment changes in News, and when to use Slack and mailing-list announcements. Provides steps for copying the generated entry into the website and submitting a merge request.

docs/change_management.md

README.mdExplain the new deployment News output +13/-3

Explain the new deployment News output

• Describes the copy-ready News entry, its website-path placeholder, and the follow-up change management process. Clarifies that release-note lookup failures do not block deployment.

openshift/README.md

@qodo-for-packit

qodo-for-packit Bot commented Oct 8, 2026 •

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (2) 📘 Rule violations (0) 📜 Skill insights (0)

Grey Divider


Remediation recommended

1. News dates vary with the deployer's timezone 🐞 Bug ≡ Correctness
Description
print_deployment_changelog takes the News heading date from the host's local timezone, while
proposed_tag_name timestamps deployment tags in UTC. Deployers in different timezones can
therefore place deployments from the same UTC date under different News headings, including dates
that disagree with the tag shown in the entry.
Code

openshift/scripts/deployment_release.py[706]

+    deployment_date = datetime.now().astimezone().date()
Relevance

●●● Strong

Timezone mismatch is a deterministic correctness bug; UTC should consistently determine both tag and
News dates.

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
Tag generation explicitly uses UTC, but the newly added News date calculation uses the host's local
date. The generated entry displays both values, and the process groups deployments by date heading.

openshift/scripts/deployment_release.py[238-250]
openshift/scripts/deployment_release.py[497-509]
openshift/scripts/deployment_release.py[705-706]
docs/change_management.md[27-29]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
News headings use the deployer's local date, which can differ from the UTC date encoded in the deployment tag.

## Fix Focus Areas
- openshift/scripts/deployment_release.py[705-706]
- openshift/scripts/deployment_release.py[722-725]

## Recommended Fix
Derive the News heading date from the UTC timestamp in the already selected deployment tag, including tags with collision suffixes, so output remains consistent across deployers and delayed release-note lookups.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Dismiss ↗ | View ↗


2. Lookup errors leave no News entry 🐞 Bug ☼ Reliability
Description
print_deployment_changelog returns without an entry when release-note collection fails, although
the deployment and tag have already succeeded. When GitHub lookup fails, the new post-deployment
instructions tell operators to copy a printed entry but provide no retry or manual-publication path.
Code

openshift/scripts/deployment_release.py[R712-713]

+        print("\nNo News entry was generated because release-note lookup failed.")
+        return
Relevance

●● Moderate

The reliability gap conflicts with the documented News process, but adding retry or manual
publication is a broader workflow decision.

PR-#584

ⓘ Recommendations generated based on similar findings in past PRs

Evidence
Deployment and tag finalization precede release-note collection. The new failure branch explicitly
produces no News entry, while the new process requires an entry for user-facing changes and
instructs operators to copy the printed entry after deployment.

openshift/scripts/deployment_release.py[737-741]
openshift/scripts/deployment_release.py[707-713]
docs/change_management.md[5-7]
docs/change_management.md[25-30]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
A successful deployment can finish without a News entry if release-note lookup fails, leaving operators unable to follow the new copy-and-publish instructions.

## Fix Focus Areas
- docs/change_management.md[25-30]
- openshift/scripts/deployment_release.py[709-713]

## Recommended Fix
Document how to retry collection for the deployed revision range and manually prepare the tagged News entry if lookup remains unavailable. Point operators to that procedure in the failure output.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Dismiss ↗ | View ↗


Grey Divider

Context sources
✅ Compliance rules (platform): 8 rules
Review mode: Auto: ⚖️ Balanced: Deployment workflow behavior changed across release-note and finalization paths.

Grey Divider

Tip of the day
💡 Did you know, you can keep summaries lean with Findings visible per group, which tucks the rest behind a View link

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment on lines +712 to +713
print("\nNo News entry was generated because release-note lookup failed.")
return

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remediation recommended

2. Lookup errors leave no news entry 🐞 Bug ☼ Reliability

print_deployment_changelog returns without an entry when release-note collection fails, although
the deployment and tag have already succeeded. When GitHub lookup fails, the new post-deployment
instructions tell operators to copy a printed entry but provide no retry or manual-publication path.
Agent Prompt
## Issue description
A successful deployment can finish without a News entry if release-note lookup fails, leaving operators unable to follow the new copy-and-publish instructions.

## Fix Focus Areas
- docs/change_management.md[25-30]
- openshift/scripts/deployment_release.py[709-713]

## Recommended Fix
Document how to retry collection for the deployed revision range and manually prepare the tagged News entry if lookup remains unavailable. Point operators to that procedure in the failure output.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Dismiss ↗ | View ↗

Comment thread openshift/scripts/deployment_release.py Outdated


def print_deployment_changelog(context: DeploymentContext) -> None:
deployment_date = datetime.now().astimezone().date()

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remediation recommended

1. News dates vary with the deployer's timezone 🐞 Bug ≡ Correctness

print_deployment_changelog takes the News heading date from the host's local timezone, while
proposed_tag_name timestamps deployment tags in UTC. Deployers in different timezones can
therefore place deployments from the same UTC date under different News headings, including dates
that disagree with the tag shown in the entry.
Agent Prompt
## Issue description
News headings use the deployer's local date, which can differ from the UTC date encoded in the deployment tag.

## Fix Focus Areas
- openshift/scripts/deployment_release.py[705-706]
- openshift/scripts/deployment_release.py[722-725]

## Recommended Fix
Derive the News heading date from the UTC timestamp in the already selected deployment tag, including tags with collision suffixes, so output remains consistent across deployers and delayed release-note lookups.

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

Dismiss ↗ | View ↗

Comment thread docs/change_management.md Outdated
Comment on lines +10 to +11
- **Mailing list:** Send a monthly digest of major features and notable changes
from News. Send a separate email for bigger announcements.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is open to discussion, whether we want to commit to periodic updates, or rather on major features only

Mainly focuses on gathering the changes and communication to users.

Assisted-by: Codex (GPT-6)

@opohorel opohorel left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

from Codex review:

IMO neither of them is blocking this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants