summaryrefslogtreecommitdiff
path: root/docs/releasing.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/releasing.html')
-rw-r--r--docs/releasing.html423
1 files changed, 0 insertions, 423 deletions
diff --git a/docs/releasing.html b/docs/releasing.html
deleted file mode 100644
index 3d529f889ab..00000000000
--- a/docs/releasing.html
+++ /dev/null
@@ -1,423 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="en">
-<head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8">
- <title>Releasing Process</title>
- <link rel="stylesheet" type="text/css" href="mesa.css">
-</head>
-<body>
-
-<div class="header">
- The Mesa 3D Graphics Library
-</div>
-
-<iframe src="contents.html"></iframe>
-<div class="content">
-
-
-<h1>Releasing Process</h1>
-
-<ul>
-<li><a href="#overview">Overview</a></li>
-<li><a href="#schedule">Release schedule</a></li>
-<li><a href="#pickntest">Cherry-pick and test</a></li>
-<li><a href="#stagingbranch">Staging branch</a></li>
-<li><a href="#branch">Making a branchpoint</a></li>
-<li><a href="#release">Making a new release</a></li>
-<li><a href="#announce">Announce the release</a></li>
-<li><a href="#gitlab">Update Gitlab Issues</a></li>
-</ul>
-
-
-<h2 id="overview">Overview</h2>
-
-<p>
-This document uses the convention X.Y.Z for the release number with X.Y being
-the stable branch name.
-</p>
-
-<p>
-Mesa provides feature and bugfix releases. Former use zero as patch version (Z),
-while the latter have a non-zero one.
-</p>
-
-<p>
-For example:
-</p>
-<pre>
-Mesa 10.1.0 - 10.1 branch, feature
-Mesa 10.1.4 - 10.1 branch, bugfix
-Mesa 12.0.0 - 12.0 branch, feature
-Mesa 12.0.2 - 12.0 branch, bugfix
-</pre>
-
-
-<h2 id="schedule">Release schedule</h2>
-
-<p>
-Releases should happen on Wednesdays. Delays can occur although those
-should be kept to a minimum.
-</p>
-
-<p>
-See our <a href="release-calendar.html" target="_parent">calendar</a>
-for information about how the release schedule is planned, and the
-date and other details for individual releases.
-</p>
-
-<h2>Feature releases</h2>
-<ul>
-<li>Available approximately every three months.</li>
-<li>Initial timeplan available 2-4 weeks before the planned branchpoint (rc1)
-on the mesa-announce@ mailing list.</li>
-<li>Typically, the final release will happen after 4
-candidates. Additional ones may be needed in order to resolve blocking
-regressions, though.</li>
-</ul>
-
-<h2>Stable releases</h2>
-<ul>
-<li>Normally available once every two weeks.</li>
-<li>Only the latest branch has releases. See note below.</li>
-</ul>
-
-<p>
-Note: There is one or two releases overlap when changing branches. For example:
-</p>
-
-<p>
-The final release from the 12.0 series Mesa 12.0.5 will be out around the same
-time (or shortly after) 13.0.1 is out.
-</p>
-
-<p>
-This also involves that, as a final release may be delayed due to the
-need of additional candidates to solve some blocking regression(s),
-the release manager might have to update
-the <a href="release-calendar.html" target="_parent">calendar</a> with
-additional bug fix releases of the current stable branch.
-</p>
-
-
-<h2 id="pickntest">Cherry-picking and testing</h2>
-
-<p>
-Commits nominated for the active branch are picked as based on the
-<a href="submittingpatches.html#criteria" target="_parent">criteria</a> as
-described in the same section.
-</p>
-
-<p>
-Nominations happen via special tags in the commit messages, and via gitlab
-merge requests against the staging branches. There are special scripts used
-to read the tags.
-</p>
-
-<p>
-The maintainer should watch or be in contact with the Intel CI team, as well
-as watch the gitlab CI for regressions.
-</p>
-
-<p>
-Cherry picking should be done with the '-x' switch (to automatically add
-"cherry picked from ..." to the commit message):
-</p>
-
-<code>
-git cherry-pick -x abcdef12345667890
-</code>
-
-<p>
-Developers can request, <em>as an exception</em>, patches to be applied up-to
-the last one hour before the actual release. This is made <strong>only</strong>
-with explicit permission/request, and the patch <strong>must</strong> be very
-well contained. Thus it cannot affect more than one driver/subsystem.
-</p>
-
-<p>Following developers have requested permanent exception</p>
-<ul>
-<li><em>Ilia Mirkin</em></li>
-<li><em>AMD team</em></li>
-</ul>
-
-<p>The gitlab CI must pass.</p>
-
-<p>
-For Windows related changes, the main contact point is Brian
-Paul. Jose Fonseca can also help as a fallback contact.
-</p>
-
-<p>
-For Android related changes, the main contact is Tapani
-P&auml;lli. Mauro Rossi is collaborating with android-x86 and may
-provide feedback about the build status in that project.
-</p>
-
-<p>
-For MacOSX related changes, Jeremy Huddleston Sequoia is currently a
-good contact point.
-</p>
-
-<p>
-<strong>Note:</strong> If a patch in the current queue needs any additional
-fix(es), then they should be squashed together. The commit messages and the
-&quot;<code>cherry picked from</code>&quot;-tags must be preserved.
-</p>
-
-<pre>
-git show b10859ec41d09c57663a258f43fe57c12332698e
-
-commit b10859ec41d09c57663a258f43fe57c12332698e
-Author: Jonas Pfeil &lt;pfeiljonas@gmx.de&gt;
-Date: Wed Mar 1 18:11:10 2017 +0100
-
- ralloc: Make sure ralloc() allocations match malloc()'s alignment.
-
- The header of ralloc needs to be aligned, because the compiler assumes
- ...
-
- (cherry picked from commit cd2b55e536dc806f9358f71db438dd9c246cdb14)
-
- Squashed with commit:
-
- ralloc: don't leave out the alignment factor
-
- Experimentation shows that without alignment factor gcc and clang choose
- ...
-
- (cherry picked from commit ff494fe999510ea40e3ed5827e7818550b6de126)
-</pre>
-
-<h2>Regression/functionality testing</h2>
-
-<ul>
-<li><em>no regressions should be observed for Piglit/dEQP/CTS/Vulkan on Intel platforms</em></li>
-<li><em>no regressions should be observed for Piglit using the swrast, softpipe
-and llvmpipe drivers</em></li>
-</ul>
-
-<h2 id="stagingbranch">Staging branch</h2>
-
-<p>
-A live branch, which contains the currently merge/rejected patches is available
-in the main repository under <code>staging/X.Y</code>. For example:
-</p>
-<pre>
-staging/18.1 - WIP branch for the 18.1 series
-staging/18.2 - WIP branch for the 18.2 series
-</pre>
-
-<p>
-Notes:
-</p>
-<ul>
-<li>People are encouraged to test the staging branch and report regressions.</li>
-<li>The branch history is not stable and it <strong>will</strong> be rebased,</li>
-</ul>
-
-
-<h2 id="branch">Making a branchpoint</h2>
-
-<p>
-A branchpoint is made such that new development can continue in parallel to
-stabilisation and bugfixing.
-</p>
-
-<p>
-Note: Before doing a branch ensure that basic build and <code>meson test</code>
-testing is done and there are little to-no issues. Ideally all of those should
-be tackled already.
-</p>
-
-<p>
-Check if the version number is going to remain as, alternatively
-<code> git mv docs/relnotes/{current,new}.html </code> as appropriate.
-</p>
-
-<p>
-To setup the branchpoint:
-</p>
-<pre>
-git checkout master # make sure we're in master first
-git tag -s X.Y-branchpoint -m "Mesa X.Y branchpoint"
-git checkout -b X.Y
-git checkout master
-$EDITOR VERSION # bump the version number
-git commit -as
-truncate docs/relnotes/new_features.txt
-git commit -a
-git push origin X.Y-branchpoint X.Y
-</pre>
-
-<p>
-Now go to
-<a href="https://gitlab.freedesktop.org/mesa/mesa/-/milestones" target="_parent">gitlab</a> and add the new Mesa version X.Y.
-</p>
-
-<p>
-Check that there are no distribution breaking changes and revert them if needed.
-For example: files being overwritten on install, etc. Happens extremely rarely -
-we had only one case so far (see commit 2ced8eb136528914e1bf4e000dea06a9d53c7e04).
-</p>
-
-<h2 id="release">Making a new release</h2>
-
-<p>
-These are the instructions for making a new Mesa release.
-</p>
-
-<h3>Get latest source files</h3>
-
-<p>
-Ensure the latest code is available - both in your local master and the
-relevant branch.
-</p>
-
-<h3 id="basictesting">Perform basic testing</h3>
-
-<p>
-Most of the testing should already be done during the
-<a href="#pickntest">cherry-pick</a>
-So we do a quick 'touch test'
-</p>
-
-<ul>
-<li>meson dist</li>
-<li>scons (from release tarball)</li>
-<li>the produced binaries work</li>
-</ul>
-
-<p>
- Here is one solution:
-</p>
-
-<pre>
-__glxgears_cmd='glxgears 2&gt;&amp;1 | grep -v "configuration file"'
-__es2info_cmd='es2_info 2&gt;&amp;1 | egrep "GL_VERSION|GL_RENDERER|.*dri\.so"'
-__es2gears_cmd='es2gears_x11 2&gt;&amp;1 | grep -v "configuration file"'
-test "x$LD_LIBRARY_PATH" != 'x' &amp;&amp; __old_ld="$LD_LIBRARY_PATH"
-export LD_LIBRARY_PATH=`pwd`/test/usr/local/lib/:"${__old_ld}"
-export LIBGL_DRIVERS_PATH=`pwd`/test/usr/local/lib/dri/
-export LIBGL_DEBUG=verbose
-eval $__glxinfo_cmd
-eval $__glxgears_cmd
-eval $__es2info_cmd
-eval $__es2gears_cmd
-export LIBGL_ALWAYS_SOFTWARE=true
-eval $__glxinfo_cmd
-eval $__glxgears_cmd
-eval $__es2info_cmd
-eval $__es2gears_cmd
-export LIBGL_ALWAYS_SOFTWARE=true
-export GALLIUM_DRIVER=softpipe
-eval $__glxinfo_cmd
-eval $__glxgears_cmd
-eval $__es2info_cmd
-eval $__es2gears_cmd
-# Smoke test DOTA2
-unset LD_LIBRARY_PATH
-test "x$__old_ld" != 'x' &amp;&amp; export LD_LIBRARY_PATH="$__old_ld" &amp;&amp; unset __old_ld
-unset LIBGL_DRIVERS_PATH
-unset LIBGL_DEBUG
-unset LIBGL_ALWAYS_SOFTWARE
-unset GALLIUM_DRIVER
-export VK_ICD_FILENAMES=`pwd`/test/usr/local/share/vulkan/icd.d/intel_icd.x86_64.json
-steam steam://rungameid/570 -vconsole -vulkan
-unset VK_ICD_FILENAMES
-</pre>
-
-<h3>Create release notes for the new release</h3>
-
-<p>
-The release notes are completely generated by the
-<code>bin/gen_release_notes.py</code> script. Simply run this script before
-bumping the version, and commit the results.
-
-The only thing left to do is add the sha256 sums.
-</p>
-
-<p>
-Increment the version contained in the file VERSION at Mesa's top-level, then
-commit this change.
-</p>
-
-<p>
-Commit these changes and push the branch.
-</p>
-
-<pre>
-git push origin HEAD
-</pre>
-
-
-<h3>Use the release.sh script from xorg <a href="https://cgit.freedesktop.org/xorg/util/modular/">util-modular</a></h3>
-
-<p>
-Start the release process.
-</p>
-
-<pre>
-../relative/path/to/release.sh . # append --dist if you've already done distcheck above
-</pre>
-
-<p>
-Pay close attention to the prompts as you might be required to enter your GPG
-and SSH passphrase(s) to sign and upload the files, respectively.
-</p>
-
-<h3>Add the sha256sums to the release notes</h3>
-
-<p>
-Edit docs/relnotes/X.Y.Z.html to add the sha256sum as available in the mesa-X.Y.Z.announce template. Commit this change.
-</p>
-
-<h3>Back on mesa master, add the new release notes into the tree</h3>
-
-<p>
-Something like the following steps will do the trick:
-</p>
-
-<pre>
-git cherry-pick -x X.Y~1
-git cherry-pick -x X.Y
-</pre>
-
-<p>Then run the <pre>./bin/post_version.py X.Y.Z</pre>, where X.Y.Z is the
-version you just made. This will updated docs/relnotes.html,
-docs/index.html, and docs/release-calendar.html. It will then generate
-a git commit automatically. Check that everything looks correct and push:
-</p>
-
-<pre>
- git push origin master X.Y
-</pre>
-
-
-<h2 id="announce">Announce the release</h2>
-
-<p>
-Use the generated template during the releasing process.
-</p>
-
-<p>
-Again, pay attention to add a note to warn about a final release in a
-series, if that is the case.
-</p>
-
-
-<h2 id="gitlab">Update gitlab issues</h2>
-
-<p>
-Parse through the bug reports as listed in the docs/relnotes/X.Y.Z.html
-document. If there's outstanding action, close the bug referencing the commit
-ID which addresses the bug and mention the Mesa version that has the fix.
-</p>
-
-<p>
-Note: the above is not applicable to all the reports, so use common sense.
-</p>
-
-
-</div>
-</body>
-</html>