wiki/sop/sop_release/index.html

1634 lines
41 KiB
HTML

<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content="The wiki for Rocky Linux Release Engineering (SIG/Core)">
<link rel="canonical" href="https://sig-core.rocky.page/sop/sop_release/">
<link rel="prev" href="../">
<link rel="next" href="../sop_compose_8/">
<link rel="icon" href="../../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.31">
<title>Rocky Release Procedures for SIG/Core (RelEng/Infrastructure) - Release Engineering (SIG/Core) Wiki</title>
<link rel="stylesheet" href="../../assets/stylesheets/main.3cba04c6.min.css">
<link rel="stylesheet" href="../../assets/stylesheets/palette.06af60db.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="teal" data-md-color-accent="teal">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#contact-information" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header md-header--shadow" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href="../.." title="Release Engineering (SIG/Core) Wiki" class="md-header__button md-logo" aria-label="Release Engineering (SIG/Core) Wiki" data-md-component="logo">
<img src="../../assets/icon-white.svg" alt="logo">
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
Release Engineering (SIG/Core) Wiki
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Rocky Release Procedures for SIG/Core (RelEng/Infrastructure)
</span>
</div>
</div>
</div>
<form class="md-header__option" data-md-component="palette">
<input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="teal" data-md-color-accent="teal" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_0">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg>
</label>
<input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="teal" data-md-color-accent="teal" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_0" hidden>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg>
</label>
</form>
<script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
</button>
</nav>
<div class="md-search__suggest" data-md-component="search-suggest"></div>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Initializing search
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
<div class="md-header__source">
<a href="https://git.resf.org/sig_core/wiki" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
sig_core/wiki
</div>
</a>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary md-nav--integrated" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href="../.." title="Release Engineering (SIG/Core) Wiki" class="md-nav__button md-logo" aria-label="Release Engineering (SIG/Core) Wiki" data-md-component="logo">
<img src="../../assets/icon-white.svg" alt="logo">
</a>
Release Engineering (SIG/Core) Wiki
</label>
<div class="md-nav__source">
<a href="https://git.resf.org/sig_core/wiki" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
sig_core/wiki
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../.." class="md-nav__link">
<span class="md-ellipsis">
Release Engineering (SIG/Core)
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../members/" class="md-nav__link">
<span class="md-ellipsis">
Members
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../what_we_do/" class="md-nav__link">
<span class="md-ellipsis">
What We Do
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4" >
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
<span class="md-ellipsis">
Documentation
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon"></span>
Documentation
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../documentation/" class="md-nav__link">
<span class="md-ellipsis">
Release General Overview
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_2" >
<label class="md-nav__link" for="__nav_4_2" id="__nav_4_2_label" tabindex="0">
<span class="md-ellipsis">
Guidelines
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_2">
<span class="md-nav__icon md-icon"></span>
Guidelines
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../documentation/guidelines/" class="md-nav__link">
<span class="md-ellipsis">
Guidelines
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../documentation/guidelines/rocky_logos_guidelines/" class="md-nav__link">
<span class="md-ellipsis">
Rocky Logos Package Guidelines
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_3" >
<label class="md-nav__link" for="__nav_4_3" id="__nav_4_3_label" tabindex="0">
<span class="md-ellipsis">
Package Patching
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_3">
<span class="md-nav__icon md-icon"></span>
Package Patching
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../documentation/patching/" class="md-nav__link">
<span class="md-ellipsis">
Rocky Linux Package Patching
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../documentation/patching/changes/" class="md-nav__link">
<span class="md-ellipsis">
Package Changes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../documentation/patching/patching/" class="md-nav__link">
<span class="md-ellipsis">
Patching Guide
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_4" >
<label class="md-nav__link" for="__nav_4_4" id="__nav_4_4_label" tabindex="0">
<span class="md-ellipsis">
Composing Releases
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_4">
<span class="md-nav__icon md-icon"></span>
Composing Releases
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../documentation/compose/" class="md-nav__link">
<span class="md-ellipsis">
Composing and Managing Releases
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../documentation/compose/koji/" class="md-nav__link">
<span class="md-ellipsis">
Manual Updates in Koji
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../documentation/empanadas/" class="md-nav__link">
<span class="md-ellipsis">
Empanadas
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../documentation/peridot/" class="md-nav__link">
<span class="md-ellipsis">
Peridot
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_7" >
<label class="md-nav__link" for="__nav_4_7" id="__nav_4_7_label" tabindex="0">
<span class="md-ellipsis">
References
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_7">
<span class="md-nav__icon md-icon"></span>
References
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../documentation/references/" class="md-nav__link">
<span class="md-ellipsis">
References
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../documentation/references/empanadas_common/" class="md-nav__link">
<span class="md-ellipsis">
Empanadas common.py Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../documentation/references/empanadas_config/" class="md-nav__link">
<span class="md-ellipsis">
Empanadas config yaml Configuration
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../../documentation/references/empanadas_sig_config/" class="md-nav__link">
<span class="md-ellipsis">
Empanadas SIG yaml Configuration
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" checked>
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
<span class="md-ellipsis">
SOP
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon"></span>
SOP
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../" class="md-nav__link">
<span class="md-ellipsis">
SOP (Standard Operationg Procedures)
</span>
</a>
</li>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
<span class="md-ellipsis">
Release Procedures
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
<span class="md-ellipsis">
Release Procedures
</span>
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#contact-information" class="md-nav__link">
<span class="md-ellipsis">
Contact Information
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#preparation" class="md-nav__link">
<span class="md-ellipsis">
Preparation
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#notes-about-release-day" class="md-nav__link">
<span class="md-ellipsis">
Notes about Release Day
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#notes-about-patch-days" class="md-nav__link">
<span class="md-ellipsis">
Notes about Patch Days
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#prior-to-release-day-notes" class="md-nav__link">
<span class="md-ellipsis">
Prior to Release Day notes
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#release-day" class="md-nav__link">
<span class="md-ellipsis">
Release Day
</span>
</a>
<nav class="md-nav" aria-label="Release Day">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#priorities" class="md-nav__link">
<span class="md-ellipsis">
Priorities
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#resources" class="md-nav__link">
<span class="md-ellipsis">
Resources
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#sigcore-checklist" class="md-nav__link">
<span class="md-ellipsis">
SIG/Core Checklist
</span>
</a>
<nav class="md-nav" aria-label="SIG/Core Checklist">
<ul class="md-nav__list">
<li class="md-nav__item">
<a href="#beta" class="md-nav__link">
<span class="md-ellipsis">
Beta
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#release-candidate" class="md-nav__link">
<span class="md-ellipsis">
Release Candidate
</span>
</a>
</li>
<li class="md-nav__item">
<a href="#final" class="md-nav__link">
<span class="md-ellipsis">
Final
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../sop_compose_8/" class="md-nav__link">
<span class="md-ellipsis">
Compose and Repo Sync for Rocky Linux 8
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../sop_compose/" class="md-nav__link">
<span class="md-ellipsis">
Compose and Repo Sync for Rocky Linux and Peridot
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../sop_compose_sig/" class="md-nav__link">
<span class="md-ellipsis">
Compose and Repo Sync for Rocky Linux Special Interest Groups
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../sop_upstream_prep_checklist/" class="md-nav__link">
<span class="md-ellipsis">
Generalized Prep Checklist for Upcoming Releases
</span>
</a>
</li>
<li class="md-nav__item">
<a href="../sop_mirrormanager2/" class="md-nav__link">
<span class="md-ellipsis">
Mirror Manager
</span>
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
<span class="md-ellipsis">
Events
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon"></span>
Events
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6_1" >
<label class="md-nav__link" for="__nav_6_1" id="__nav_6_1_label" tabindex="0">
<span class="md-ellipsis">
Meeting notes
</span>
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_6_1_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6_1">
<span class="md-nav__icon md-icon"></span>
Meeting notes
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../events/meeting-notes/2024-03-18/" class="md-nav__link">
<span class="md-ellipsis">
Release Engineering (SIG/Core) Meeting 2024-03-18
</span>
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1>Release Procedures</h1>
<p>This SOP contains all the steps required by SIG/Core (a mix of Release
Engineering and Infrastructure) to perform releases of all Rocky Linux
versions. Work is in all collaboration within the entire group of
engineerings.</p>
<h2 id="contact-information">Contact Information<a class="headerlink" href="#contact-information" title="Permanent link">&para;</a></h2>
<table>
<thead>
<tr>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Owner</strong></td>
<td>SIG/Core (Release Engineering &amp; Infrastructure)</td>
</tr>
<tr>
<td><strong>Email Contact</strong></td>
<td>infrastructure@rockylinux.org</td>
</tr>
<tr>
<td><strong>Email Contact</strong></td>
<td>releng@rockylinux.org</td>
</tr>
<tr>
<td><strong>Mattermost Contacts</strong></td>
<td><code>@label</code> <code>@neil</code> <code>@tgo</code> <code>@skip77</code> <code>@mustafa</code> <code>@sherif</code> <code>@pgreco</code></td>
</tr>
<tr>
<td><strong>Mattermost Channels</strong></td>
<td><code>~Infrastructure</code></td>
</tr>
</tbody>
</table>
<h2 id="preparation">Preparation<a class="headerlink" href="#preparation" title="Permanent link">&para;</a></h2>
<h2 id="notes-about-release-day">Notes about Release Day<a class="headerlink" href="#notes-about-release-day" title="Permanent link">&para;</a></h2>
<p>Within a minimum of two (2) days, the following should be true:</p>
<ol>
<li>
<p>Torrents should be setup. All files can be synced with the seed box(es) but
not yet published. The data should be verified using sha256sum and compared to
the CHECKSUM files provided with the files.</p>
</li>
<li>
<p>Website should be ready (typically with an open PR in github). The content
should be verified that the design and content are correct and finalized.</p>
</li>
<li>
<p>Enough mirrors should be setup. This essentially means that all content for
a release should be synced to our primary mirror with the executable bit turned
off, and the content should also be hard linked. In theory, mirror manager can
be queried to verify if mirrors are or appear to be in sync.</p>
</li>
</ol>
<h2 id="notes-about-patch-days">Notes about Patch Days<a class="headerlink" href="#notes-about-patch-days" title="Permanent link">&para;</a></h2>
<p>Within a minimum of one (1) to two (2) days, the following should be true:</p>
<ol>
<li>
<p>Updates should be completed in the build system, and verified in staging.</p>
</li>
<li>
<p>Updates should be sent to production and file lists updated to allow mirrors
to sync.</p>
</li>
</ol>
<h2 id="prior-to-release-day-notes">Prior to Release Day notes<a class="headerlink" href="#prior-to-release-day-notes" title="Permanent link">&para;</a></h2>
<p>Ensure the SIG/Core Checklist is read thoroughly and executed as listed.</p>
<h2 id="release-day">Release Day<a class="headerlink" href="#release-day" title="Permanent link">&para;</a></h2>
<h3 id="priorities">Priorities<a class="headerlink" href="#priorities" title="Permanent link">&para;</a></h3>
<p>During release day, these should be verified/completed in order:</p>
<ol>
<li>
<p>Website - The primary website and user landing at rockylinux.org should allow
the user to efficiently click through to a download link of an ISO, image, or
torrent. It must be kept up.</p>
</li>
<li>
<p>Torrent - The seed box(es) should be primed and ready to go for users
downloading via torrent.</p>
</li>
<li>
<p>Release Notes &amp; Documentation - The release notes are often on the same
website as the documentation. The main website and where applicable in the docs
should refer to the Release Notes of Rocky Linux.</p>
</li>
<li>
<p>Wiki - If applicable, the necessary changes and resources should be available
for a release. In particular, if a major release has new repos, changed repo names,
this should be documented.</p>
</li>
<li>
<p>Everything else!</p>
</li>
</ol>
<h2 id="resources">Resources<a class="headerlink" href="#resources" title="Permanent link">&para;</a></h2>
<h2 id="sigcore-checklist">SIG/Core Checklist<a class="headerlink" href="#sigcore-checklist" title="Permanent link">&para;</a></h2>
<h3 id="beta">Beta<a class="headerlink" href="#beta" title="Permanent link">&para;</a></h3>
<ul>
<li>Compose Completed</li>
<li>Repoclosure must be checked and pass</li>
<li>Lorax Run</li>
<li>ISO's are built</li>
<li>Cloud Images built</li>
<li>Live Images built</li>
<li>Compose Synced to Staging</li>
<li>AWS/Azure Images in Marketplace</li>
<li>Vagrant Images</li>
<li>Container Images</li>
<li>
<p>Mirror Manager</p>
<ul>
<li>Ready to Migrate from previous beta release (rltype=beta)</li>
<li>Boot image install migration from previous beta release</li>
</ul>
</li>
<li>
<p>Pass image to Testing Team for final validation</p>
</li>
</ul>
<h3 id="release-candidate">Release Candidate<a class="headerlink" href="#release-candidate" title="Permanent link">&para;</a></h3>
<ul>
<li>Compose Completed</li>
<li>Repoclosure must be checked and pass</li>
<li>Lorax Run</li>
<li>ISO's are built</li>
<li>Cloud Images built</li>
<li>Live Images built</li>
<li>Compose Synced to Staging</li>
<li>AWS/Azure Images in Marketplace</li>
<li>Vagrant Images</li>
<li>Container Images</li>
<li>
<p>Mirror Manager</p>
<ul>
<li>Ready to Migrate from previous release</li>
<li>Boot image install migration from previous release</li>
</ul>
</li>
<li>
<p>Pass image to Testing Team for validation</p>
</li>
</ul>
<h3 id="final">Final<a class="headerlink" href="#final" title="Permanent link">&para;</a></h3>
<ul>
<li>Compose Completed</li>
<li>Repoclosure must be checked and pass</li>
<li>Lorax Run</li>
<li>ISO's are built</li>
<li>Cloud Images built</li>
<li>Live Images built</li>
<li>Compose Synced to Staging</li>
<li>AWS/Azure Images in Marketplace</li>
<li>Vagrant Images</li>
<li>Container Images</li>
<li>
<p>Mirror Manager</p>
<ul>
<li>Ready to Migrate from previous release</li>
<li>Boot image install migration from previous release</li>
</ul>
</li>
<li>
<p>Pass image to Testing Team for final validation</p>
</li>
<li>Sync to Production</li>
<li>Sync to Europe Mirror if applicable</li>
<li>Hardlink Run</li>
<li>Bitflip after 24-48 Hours</li>
</ul>
<h4>Resources</h4>
<div class="tabbed-set tabbed-alternate" data-tabs="1:6"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><input id="__tabbed_1_4" name="__tabbed_1" type="radio" /><input id="__tabbed_1_5" name="__tabbed_1" type="radio" /><input id="__tabbed_1_6" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Account Services</label><label for="__tabbed_1_2">Git (RESF Git Service)</label><label for="__tabbed_1_3">Git (Rocky Linux GitHub)</label><label for="__tabbed_1_4">Git (Rocky Linux GitLab)</label><label for="__tabbed_1_5">Mail Lists</label><label for="__tabbed_1_6">Contacts</label></div>
<div class="tabbed-content">
<div class="tabbed-block">
<p><strong>URL</strong>: <a href="https://accounts.rockylinux.org">https://accounts.rockylinux.org</a></p>
<p><strong>Purpose</strong>: Account Services maintains the accounts for almost all components of the Rocky ecosystem</p>
<p><strong>Technology</strong>: Noggin used by Fedora Infrastructure</p>
<p><strong>Contact</strong>: <code>~Infrastructure</code> in Mattermost and <code>#rockylinux-infra</code> in Libera IRC</p>
</div>
<div class="tabbed-block">
<p><strong>URL</strong>: <a href="https://git.resf.org">https://git.resf.org</a></p>
<p><strong>Purpose</strong>: General projects, code, and so on for the Rocky Enterprise Software Foundation.</p>
<p><strong>Technology</strong>: <a href="https://gitea.io/en-us/">Gitea</a></p>
<p><strong>Contact</strong>: <code>~Infrastructure</code>, <code>~Development</code> in Mattermost and <code>#rockylinux-infra</code>, <code>#rockylinux-devel</code> in Libera IRC</p>
</div>
<div class="tabbed-block">
<p><strong>URL</strong>: <a href="https://github.com/rocky-linux">https://github.com/rocky-linux</a></p>
<p><strong>Purpose</strong>: General purpose code, assets, and so on for Rocky Linux. Some content is mirrored to the RESF Git Service.</p>
<p><strong>Technology</strong>: <a href="https://github.com">GitHub</a></p>
<p><strong>Contact</strong>: <code>~Infrastructure</code>, <code>~Development</code> in Mattermost and <code>#rockylinux-infra</code>, <code>#rockylinux-devel</code> in Libera IRC</p>
</div>
<div class="tabbed-block">
<p><strong>URL</strong>: <a href="https://git.rockylinux.org">https://git.rockylinux.org</a></p>
<p><strong>Purpose</strong>: Packages and light code for the Rocky Linux distribution</p>
<p><strong>Technology</strong>: <a href="https://gitlab.com">GitLab</a></p>
<p><strong>Contact</strong>: <code>~Infrastructure</code>, <code>~Development</code> in Mattermost and <code>#rockylinux-infra</code>, <code>#rockylinux-devel</code> in Libera IRC</p>
</div>
<div class="tabbed-block">
<p><strong>URL</strong>: <a href="https://lists.resf.org">https://lists.resf.org</a></p>
<p><strong>Purpose</strong>: Users can subscribe and interact with various mail lists for the Rocky ecosystem</p>
<p><strong>Technology</strong>: Mailman 3 + Hyper Kitty</p>
<p><strong>Contact</strong>: <code>~Infrastructure</code> in Mattermost and <code>#rockylinux-infra</code> in Libera IRC</p>
</div>
<div class="tabbed-block">
<table>
<thead>
<tr>
<th>Name</th>
<th>Email</th>
<th>Mattermost Name</th>
<th>IRC Name</th>
</tr>
</thead>
<tbody>
<tr>
<td>Louis Abel</td>
<td>label@rockylinux.org</td>
<td>@nazunalika</td>
<td>Sokel/label/Sombra</td>
</tr>
<tr>
<td>Mustafa Gezen</td>
<td>mustafa@rockylinux.org</td>
<td>@mustafa</td>
<td>mstg</td>
</tr>
<tr>
<td>Skip Grube</td>
<td>skip@rockylinux.org</td>
<td>@skip77</td>
<td></td>
</tr>
<tr>
<td>Sherif Nagy</td>
<td>sherif@rockylinux.org</td>
<td>@sherif</td>
<td></td>
</tr>
<tr>
<td>Pablo Greco</td>
<td>pgreco@rockylinux.org</td>
<td>@pgreco</td>
<td>pgreco</td>
</tr>
<tr>
<td>Neil Hanlon</td>
<td>neil@resf.org</td>
<td>@neil</td>
<td>neil</td>
</tr>
<tr>
<td>Taylor Goodwill</td>
<td>tg@resf.org</td>
<td>@tgo</td>
<td>tg</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<aside class="md-source-file">
<span class="md-source-file__fact">
<span class="md-icon" title="Last update">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1-2.1-2M12.5 7v5.2l4 2.4-1 1L11 13V7h1.5M11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2v1.8Z"/></svg>
</span>
2022-10-21
</span>
</aside>
</article>
</div>
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
</div>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
<div class="md-copyright__highlight">
Copyright &copy; 2024 Rocky Enterprise Software Foundation
</div>
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "../..", "features": ["search.highlight", "search.suggest", "toc.integrate"], "search": "../../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
<script src="../../assets/javascripts/bundle.fe8b6f2b.min.js"></script>
</body>
</html>