X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=docs%2Freleasing.html;h=2dbd03bc6f34015787239eaa58727542ea50d156;hb=8a67e4d30adee205d15443bdfe18955fb1a1230b;hp=d105bc96f6a34907acc21d76c3882e9c4f75d409;hpb=7760566ab7e98b3947a4e046a93dcc73ae97bb86;p=mesa.git diff --git a/docs/releasing.html b/docs/releasing.html index d105bc96f6a..2dbd03bc6f3 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,10 +55,11 @@ 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 kept to a minimum.
    -See our calendar for the +See our calendar +for information about how the release schedule is planned, and the date and other details for individual releases.

    @@ -66,6 +68,9 @@ date and other details for individual releases.
  • Available approximately every three months.
  • Initial timeplan available 2-4 weeks before the planned branchpoint (rc1) on the mesa-announce@ mailing list. +
  • Typically, the final release will happen after 4 +candidates. Additional ones may be needed in order to resolve blocking +regressions, though.
  • A pre-release announcement should be available approximately 24 hours before the final (non-rc) release. @@ -83,6 +88,12 @@ Note: There is one or two releases overlap when changing branches. For example:
    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. +
    +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 calendar with +additional bug fix releases of the current stable branch.

    @@ -96,7 +107,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 +122,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 +223,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

    @@ -218,7 +251,7 @@ stabilisation and bugfixing.

    -Note: Before doing a branch ensure that basic build and make check +Note: Before doing a branch ensure that basic build and meson test testing is done and there are little to-no issues.
    Ideally all of those should be tackled already. @@ -425,7 +458,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 @@ -435,96 +468,48 @@ So we do a quick 'touch test'

    -Here is one solution that I've been using. + Here is one solution:

    -	# Set MAKEFLAGS if you haven't already
    -	git clean -fXd; git clean -nxd
    -	read # quick cross check any outstanding files
    -	export __version=`cat VERSION`
    -	export __mesa_root=../
    -	export __build_root=./foo
    -	chmod 755 -fR $__build_root; rm -rf $__build_root
    -	mkdir -p $__build_root && cd $__build_root
    -
    -	# 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
    -	scons
    -	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 \
    -		--with-gallium-drivers=swrast \
    -		--with-vulkan-drivers=intel \
    -		--enable-llvm-shared-libs \
    -		--enable-llvm \
    -		--enable-glx-tls \
    -		--enable-gbm \
    -		--enable-egl \
    -		--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=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' && 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
    +    __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=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' && 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