cmssw icon indicating copy to clipboard operation
cmssw copied to clipboard

Guidelines for PR integration

Open antoniovilela opened this issue 11 months ago • 11 comments

@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).

  • 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 and integration, namely 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.
  • For HLT integration:

    • Be sure to list the PRs that are needed for integration in a given week in the ORP meeting.
    • During data taking, and preparations before data taking, brief ORM on the weekly plan, and time-critical updates. ORM will assist the release managers in streamlining the more time-sensitive updates.

antoniovilela avatar Mar 01 '24 14:03 antoniovilela

cms-bot internal usage

cmsbuild avatar Mar 01 '24 14:03 cmsbuild

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

cmsbuild avatar Mar 01 '24 14:03 cmsbuild

type documentation

mmusich avatar Mar 01 '24 14:03 mmusich

@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.

fwyzard avatar Mar 01 '24 14:03 fwyzard

@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 avatar Mar 01 '24 16:03 antoniovilela

@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.

antoniovilela avatar Mar 01 '24 16:03 antoniovilela

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

Martin-Grunewald avatar Mar 01 '24 18:03 Martin-Grunewald

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

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

mmusich avatar Mar 01 '24 18:03 mmusich

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 avatar Mar 04 '24 18:03 antoniovilela

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 avatar Mar 05 '24 14:03 antoniovilela

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 avatar Mar 06 '24 16:03 antoniovilela

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 avatar Mar 19 '24 17:03 antoniovilela

@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).

antoniovilela avatar Mar 19 '24 17:03 antoniovilela