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

Guidelines for PR integration #44283

Open
antoniovilela opened this issue Mar 1, 2024 · 13 comments
Open

Guidelines for PR integration #44283

antoniovilela opened this issue Mar 1, 2024 · 13 comments

Comments

@antoniovilela
Copy link
Contributor

antoniovilela commented Mar 1, 2024

@cms-sw/all-l2

Dear all,

This is to clarify the procedures that can be used in order to fast-track a PR for integration. The procedures and policies may evolve with time.

  • Attend the Offline Release Planning (ORP) meeting every Tue 5pm and make your request. The requests agreed upon will be followed-up, in the usual time scale of PR reviews (approval by the L2's followed by ORP, and IB tests).

  • You may mark PRs as urgent in GitHub, stating in some detail why they are deemed urgent and we will prioritize them (as will the L2 reviewers).

  • Mark PRs for bug fixes as bug-fix.

  • Releases will include the list of PRs requested for that build. Additional PRs may be added to the build at the discretion of the release managers (i.e. make sure to request all PRs needed in a given release).

  • A 24h turnaround for integration cannot be guaranteed, in general.

  • Use @cms-sw/orp-l2 to mention the release managers in a comment.

  • Release managers can be contacted by e-mail ([email protected]) and in the Offline Release Planning Mattermost channel (https://mattermost.web.cern.ch/cms-o-and-c/channels/offline-release-planning).

  • For requests that are exceptional (e.g. changes to reconstruction/simulation/geometry) after development has been frozen, be sure to pass them through the relevant coordination, and make the request in advance in an ORP meeting.

  • For time-critical fixes during data taking:

    • Contact the Offline Run Manager (ORM -- [email protected] and/or https://cms-talk.web.cern.ch/c/ppd/jointops/260) as soon as an issue requiring a new (patch) release is identified. ORM is expected to collect requests from different areas and coordinate with release managers, for a new (patch) release in a short time scale.
    • Preserving the ability to take meaningful data will be the number one priority.
    • If an immediate fix is required for data taking, ORM can trigger (via Core) the merging of the PR and building the (patch) release. ORP approval is not explicitly required.
  • HLT integration for data taking:

    • Mark the PR as hlt-integration (with type hlt-integration or the shorthand type hlt-int). A PR may be marked both as hlt-integration and urgent.
    • During data taking, and preparations before data taking, brief ORM on the weekly plan and time-critical updates (e.g. during the Joint Ops meeting). ORM will assist the release managers in streamlining the more time-sensitive updates.
    • Be sure to list the PRs that are needed for integration in a given week in the ORP meeting.
@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 1, 2024

cms-bot internal usage

@cmsbuild
Copy link
Contributor

cmsbuild commented Mar 1, 2024

A new Issue was created by @antoniovilela.

@rappoccio, @smuzaffar, @Dr15Jones, @sextonkennedy, @antoniovilela, @makortel can you please review it and eventually sign/assign? Thanks.

cms-bot commands are listed here

@mmusich
Copy link
Contributor

mmusich commented Mar 1, 2024

type documentation

@fwyzard
Copy link
Contributor

fwyzard commented Mar 1, 2024

@antoniovilela, @rappoccio,
what is the procedure to follow in case an urgent (patch) release is needed ?

By "urgent" I mean that the time scale for merging a fix in the master branch, merging the backport in the production release, and building a patch release should be of the order of a few hours, not a few days.

Days may be fine for the offline operations (MC campaigns or prompt reconstruction, that can be paused), but not for the online operations.

@antoniovilela
Copy link
Contributor Author

@antoniovilela, @rappoccio, what is the procedure to follow in case an urgent (patch) release is needed ?

By "urgent" I mean that the time scale for merging a fix in the master branch, merging the backport in the production release, and building a patch release should be of the order of a few hours, not a few days.

Days may be fine for the offline operations (MC campaigns or prompt reconstruction, that can be paused), but not for the online operations.

I have edited the text to state "A 24h turnaround for integration cannot be guaranteed, in general."

"For time-critical fixes and integration, namely data taking:

Contact ORM as soon as an issue requiring a new (patch) release is identified. ORM is expected to collect requests from different areas and coordinate with release managers, for a new (patch) release in a short time scale."

Contact us as soon as possible once an issue is uncovered, involving ORM. Preserving the ability to take meaningful data is clearly the number one priority.

@antoniovilela
Copy link
Contributor Author

@antoniovilela, @rappoccio, what is the procedure to follow in case an urgent (patch) release is needed ?
By "urgent" I mean that the time scale for merging a fix in the master branch, merging the backport in the production release, and building a patch release should be of the order of a few hours, not a few days.
Days may be fine for the offline operations (MC campaigns or prompt reconstruction, that can be paused), but not for the online operations.

I have edited the text to state "A 24h turnaround for integration cannot be guaranteed, in general."

"For time-critical fixes and integration, namely data taking:

Contact ORM as soon as an issue requiring a new (patch) release is identified. ORM is expected to collect requests from different areas and coordinate with release managers, for a new (patch) release in a short time scale."

Contact us as soon as possible once an issue is uncovered, involving ORM. Preserving the ability to take meaningful data is clearly the number one priority.

@fwyzard

Here is a situation where a failsafe may be added. In the unlikely event that both release managers are not reactive to direct messages from ORM, ORM could trigger (via Core) the merging of the PR and building the release.

@Martin-Grunewald
Copy link
Contributor

What is the best way to contact ORM (in this matter)?

@mmusich
Copy link
Contributor

mmusich commented Mar 1, 2024

What is the best way to contact ORM (in this matter)?

[email protected] or https://cms-talk.web.cern.ch/c/ppd/jointops/260

@antoniovilela
Copy link
Contributor Author

Added:
"- Releases will include the list of PRs requested for that build. Additional PRs may be added to the build at the discretion of the release managers (i.e. make sure to request all PRs needed in a given release)."

@antoniovilela
Copy link
Contributor Author

What is the best way to contact ORM (in this matter)?

[email protected] or https://cms-talk.web.cern.ch/c/ppd/jointops/260

Integrated in the guidelines above.

@antoniovilela
Copy link
Contributor Author

antoniovilela commented Mar 6, 2024

The following update is proposed:

  • In the unlikely event that both release managers are not reactive to direct messages from ORM (e.g. outside working hours, out of office) and an immediate fix is required for data taking, ORM can trigger (via Core) the merging of the PR and building the release.
  • If an immediate fix is required for data taking, ORM can trigger (via Core) the merging of the PR and building the (patch) release. ORP approval is not explicitly required.

@antoniovilela
Copy link
Contributor Author

antoniovilela commented Mar 19, 2024

Added under HLT integration:

  • Mark the PR as hlt-integration (with type hlt-integration or the shorthand type hlt-int). A PR may be marked as hlt-integration and urgent at the same time.

plus other minor edits.

@antoniovilela
Copy link
Contributor Author

@cms-sw/all-l2

Please note the latest updates in the guidelines, as described in the comments above.

Please mark any PR needed to run the HLT or build the HLT menu for data taking as type hlt-integration (shorthand type hlt-int).

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

No branches or pull requests

5 participants