wiki/sop/sop_release/index.html

1056 lines
No EOL
31 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 Core SIG.">
<link rel="canonical" href="https://sig-core.rocky.page/sop/sop_release/">
<link rel="prev" href="../">
<link rel="next" href="../sop_upstream_prep_checklist/">
<link rel="icon" href="../../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.4.2, mkdocs-material-9.1.5">
<title>Rocky Release Procedures for SIG/Core (RelEng/Infrastructure) - SIG/Core Wiki</title>
<link rel="stylesheet" href="../../assets/stylesheets/main.7a7fce14.min.css">
<link rel="stylesheet" href="../../assets/stylesheets/palette.a0c5b2b5.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="" data-md-color-accent="">
<script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
<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="SIG/Core Wiki" class="md-header__button md-logo" aria-label="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">
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="" data-md-color-accent="" 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_2" 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="" data-md-color-accent="" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_2">
<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>
</form>
<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" 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.3.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 2023 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="SIG/Core Wiki" class="md-nav__button md-logo" aria-label="SIG/Core Wiki" data-md-component="logo">
<img src="../../assets/icon-white.svg" alt="logo">
</a>
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.3.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 2023 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">
SIG/Core
</a>
</li>
<li class="md-nav__item">
<a href="../../members/" class="md-nav__link">
Members
</a>
</li>
<li class="md-nav__item">
<a href="../../what_we_do/" class="md-nav__link">
What We Do
</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">
Documentation
<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">
Composing Releases
</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">
Composing Releases
<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>
Composing Releases
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../documentation/compose/" class="md-nav__link">
Composing Releases
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../../documentation/empanadas/" class="md-nav__link">
Empanadas
</a>
</li>
<li class="md-nav__item">
<a href="../../documentation/peridot/" class="md-nav__link">
Peridot
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_4_5" >
<label class="md-nav__link" for="__nav_4_5" id="__nav_4_5_label" tabindex="0">
References
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="2" aria-labelledby="__nav_4_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4_5">
<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">
References
</a>
</li>
<li class="md-nav__item">
<a href="../../documentation/references/empanadas_common/" class="md-nav__link">
Empanadas common.py Configuration
</a>
</li>
<li class="md-nav__item">
<a href="../../documentation/references/empanadas_config/" class="md-nav__link">
Empanadas config yaml Configuration
</a>
</li>
<li class="md-nav__item">
<a href="../../documentation/references/empanadas_sig_config/" class="md-nav__link">
Empanadas SIG yaml Configuration
</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">
SOP
<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">
SOP (Standard Operationg Procedures)
</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">
Release Procedures
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
Release Procedures
</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">
Contact Information
</a>
</li>
<li class="md-nav__item">
<a href="#preparation" class="md-nav__link">
Preparation
</a>
</li>
<li class="md-nav__item">
<a href="#notes-about-release-day" class="md-nav__link">
Notes about Release Day
</a>
</li>
<li class="md-nav__item">
<a href="#notes-about-patch-days" class="md-nav__link">
Notes about Patch Days
</a>
</li>
<li class="md-nav__item">
<a href="#prior-to-release-day-notes" class="md-nav__link">
Prior to Release Day notes
</a>
</li>
<li class="md-nav__item">
<a href="#release-day" class="md-nav__link">
Release Day
</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">
Priorities
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="#resources" class="md-nav__link">
Resources
</a>
</li>
<li class="md-nav__item">
<a href="#sigcore-checklist" class="md-nav__link">
SIG/Core Checklist
</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">
Beta
</a>
</li>
<li class="md-nav__item">
<a href="#release-candidate" class="md-nav__link">
Release Candidate
</a>
</li>
<li class="md-nav__item">
<a href="#final" class="md-nav__link">
Final
</a>
</li>
</ul>
</nav>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../sop_upstream_prep_checklist/" class="md-nav__link">
Generalized Prep Checklist for Upcoming Releases
</a>
</li>
<li class="md-nav__item">
<a href="../sop_mirrormanager2/" class="md-nav__link">
Mirror Manager
</a>
</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>
<hr>
<div class="md-source-file">
<small>
Last update:
2022-10-21
</small>
</div>
</article>
</div>
</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; 2022 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.208ed371.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.407015b8.min.js"></script>
</body>
</html>