X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=docs%2Freleasing.html;h=e4c770f9186cc1e78a5833b4b18959e4891b755e;hb=4f5a52678988ba537a38dfa9aeb0eaed7d4a216e;hp=9b5a8b89d9fe23413e7b930af1f746b4811f67f5;hpb=9c70537a52da2455c06c660ef40f20c69b08df16;p=mesa.git diff --git a/docs/releasing.html b/docs/releasing.html index 9b5a8b89d9f..e4c770f9186 100644 --- a/docs/releasing.html +++ b/docs/releasing.html @@ -21,6 +21,7 @@
-Releases should happen on Fridays. Delays can occur although those should be keep
-to a minimum.
+Releases should happen on Wednesdays. Delays can occur although those
+should be keep to a minimum.
See our calendar for the
date and other details for individual releases.
@@ -96,7 +97,7 @@ described in the same section.
Nomination happens in the mesa-stable@ mailing list. However, -maintainer is resposible of checking for forgotten candidates in the +maintainer is responsible of checking for forgotten candidates in the master branch. This is achieved by a combination of ad-hoc scripts and a casual search for terms such as regression, fix, broken and similar.
@@ -111,18 +112,21 @@ the autoconf and scons build.Done continuously up-to the pre-release announcement.
-As an exception, patches can be applied up-to the last ~1h before the actual -release. This is made only with explicit permission/request, -and the patch must be very well contained. Thus it cannot -affect more than one driver/subsystem. +Developers can request, as an exception, patches to be applied up-to +the last one hour before the actual release. This is made only +with explicit permission/request, and the patch must be very +well contained. Thus it cannot affect more than one driver/subsystem.
--Currently Ilia Mirkin and AMD devs have requested "permanent" exception. -
+Following developers have requested permanent exception
+The following must pass:
-Achieved by combination of local ad-hoc scripts, mingw-w64 cross -compilation and AppVeyor plus Travis-CI, the latter as part of their -Github integration. +These are achieved by combination of local testing, +which includes mingw-w64 cross compilation and AppVeyor plus Travis-CI, the +latter two as part of their Github integration.
@@ -209,6 +213,25 @@ system and making some every day's use until the release may be a good idea too.
+
+A live branch, which contains the currently merge/rejected patches is available
+in the main repository under staging/X.Y
. For example:
+
+ staging/18.1 - WIP branch for the 18.1 series + staging/18.2 - WIP branch for the 18.2 series ++ +
+Notes: +
++Be aware to add a note to warn about a final release in a series, if +that is the case. +
+Most of the testing should already be done during the @@ -428,6 +468,7 @@ Here is one solution that I've been using.
+ # Set MAKEFLAGS if you haven't already git clean -fXd; git clean -nxd read # quick cross check any outstanding files export __version=`cat VERSION` @@ -436,7 +477,12 @@ Here is one solution that I've been using. chmod 755 -fR $__build_root; rm -rf $__build_root mkdir -p $__build_root && cd $__build_root - $__mesa_root/autogen.sh && make -j2 distcheck + # For the native builds - such as distcheck, scons, sanity test, you + # may want to specify which LLVM to use: + # export LLVM_CONFIG=/usr/lib/llvm-3.9/bin/llvm-config + + # Do a full distcheck + $__mesa_root/autogen.sh && make distcheck # Build check the tarballs (scons, linux) tar -xaf mesa-$__version.tar.xz && cd mesa-$__version @@ -444,11 +490,15 @@ Here is one solution that I've been using. cd .. && rm -rf mesa-$__version # Build check the tarballs (scons, windows/mingw) + # Temporary drop LLVM_CONFIG, unless you have a Windows/mingw one. + # save_LLVM_CONFIG=`echo $LLVM_CONFIG`; unset LLVM_CONFIG tar -xaf mesa-$__version.tar.xz && cd mesa-$__version scons platform=windows toolchain=crossmingw cd .. && rm -rf mesa-$__version # Test the automake binaries + # Restore LLVM_CONFIG, if applicable: + # export LLVM_CONFIG=`echo $save_LLVM_CONFIG`; unset save_LLVM_CONFIG tar -xaf mesa-$__version.tar.xz && cd mesa-$__version ./configure \ --with-dri-drivers=i965,swrast \ @@ -459,25 +509,30 @@ Here is one solution that I've been using. --enable-glx-tls \ --enable-gbm \ --enable-egl \ - --with-egl-platforms=x11,drm,wayland - make -j2 && DESTDIR=`pwd`/test make -j6 install - __glxinfo_cmd='glxinfo 2>&1 | egrep -o "Mesa.*|Gallium.*|.*dri\.so"' - __glxgears_cmd='glxgears 2>&1 | grep -v "configuration file"' - __es2info_cmd='es2_info 2>&1 | egrep "GL_VERSION|GL_RENDERER|.*dri\.so"' - __es2gears_cmd='es2gears_x11 2>&1 | grep -v "configuration file"' - export LD_LIBRARY_PATH=`pwd`/test/usr/local/lib/ + --with-platforms=x11,drm,wayland,surfaceless + make && DESTDIR=`pwd`/test make install + + # Drop LLVM_CONFIG, if applicable: + # unset LLVM_CONFIG + + __glxinfo_cmd='glxinfo 2>&1 | egrep -o "Mesa.*|Gallium.*|.*dri\.so"' + __glxgears_cmd='glxgears 2>&1 | grep -v "configuration file"' + __es2info_cmd='es2_info 2>&1 | egrep "GL_VERSION|GL_RENDERER|.*dri\.so"' + __es2gears_cmd='es2gears_x11 2>&1 | grep -v "configuration file"' + test "x$LD_LIBRARY_PATH" != 'x' && __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=1 + export LIBGL_ALWAYS_SOFTWARE=true eval $__glxinfo_cmd eval $__glxgears_cmd eval $__es2info_cmd eval $__es2gears_cmd - export LIBGL_ALWAYS_SOFTWARE=1 + export LIBGL_ALWAYS_SOFTWARE=true export GALLIUM_DRIVER=softpipe eval $__glxinfo_cmd eval $__glxgears_cmd @@ -485,11 +540,14 @@ Here is one solution that I've been using. eval $__es2gears_cmd # Smoke test DOTA2 unset LD_LIBRARY_PATH + test "x$__old_ld" != 'x' && export LD_LIBRARY_PATH="$__old_ld" && unset __old_ld unset LIBGL_DRIVERS_PATH unset LIBGL_DEBUG unset LIBGL_ALWAYS_SOFTWARE + unset GALLIUM_DRIVER export VK_ICD_FILENAMES=`pwd`/src/intel/vulkan/dev_icd.json steam steam://rungameid/570 -vconsole -vulkan + unset VK_ICD_FILENAMES
+ # For the dist/distcheck, you may want to specify which LLVM to use: + # export LLVM_CONFIG=/usr/lib/llvm-3.9/bin/llvm-config ../relative/path/to/release.sh . # append --dist if you've already done distcheck above@@ -565,12 +625,14 @@ Something like the following steps will do the trick:
-Also, edit docs/relnotes.html to add a link to the new release notes, and edit -docs/index.html to add a news entry. Then commit and push: +Also, edit docs/relnotes.html to add a link to the new release notes, +edit docs/index.html to add a news entry and a note in case of the +last release in a series, and remove the version from +docs/release-calendar.html. Then commit and push:
- git commit -as -m "docs: add news item and link release notes for X.Y.Z" + git commit -as -m "docs: update calendar, add news item and link release notes for X.Y.Z" git push origin master X.Y@@ -581,6 +643,11 @@ docs/index.html to add a news entry. Then commit and push: Use the generated template during the releasing process. +
+Again, pay attention to add a note to warn about a final release in a +series, if that is the case. +
+