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 @@
  • Overview
  • Release schedule
  • Cherry-pick and test +
  • Staging branch
  • Making a branchpoint
  • Pre-release announcement
  • Making a new release @@ -54,8 +55,8 @@ For example:

    Release schedule

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

    +

    Staging branch

    + +

    +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: +

    + +

    Making a branchpoint

    @@ -272,6 +295,11 @@ It is followed by a brief period (normally 24 or 48 hours) before the actual release is made.

    +

    +Be aware to add a note to warn about a final release in a series, if +that is the case. +

    +

    Terminology used

    @@ -311,6 +339,10 @@ The candidate for the Mesa X.Y.Z is now available. Currently we have: - NUMBER nominated (outstanding) - and NUMBER rejected patches +[If applicable: +Note: this is the final anticipated release in the SERIES series. Users are +encouraged to migrate to the NEXT_SERIES series in order to obtain future fixes.] + BRIEF SUMMARY OF CHANGES Take a look at section "Mesa stable queue" for more information. @@ -374,6 +406,9 @@ Queued (NUMBER) AUTHOR (NUMBER): COMMIT SUMMARY +[If applicable: +Squashed with + COMMIT SUMMARY] For example: @@ -382,16 +417,21 @@ Jonas Pfeil (1): Squashed with ralloc: don't leave out the alignment factor + Rejected (NUMBER) ================= -Rejected (11) -============= - AUTHOR (NUMBER): SHA COMMIT SUMMARY Reason: ... + +For example: + +Emil Velikov (1) + a39ad18 configure.ac: honour LLVM_LIBDIR when linking against LLVM + +Reason: The patch was reverted shortly after it was merged. @@ -408,7 +448,7 @@ Ensure the latest code is available - both in your local master and the relevant branch.

    -

    Perform basic testing

    +

    Perform basic testing

    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
     

    Update version in file VERSION

    @@ -539,6 +597,8 @@ Start the release process.

    +	# 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. +

    +

    Update the mesa3d.org website