mutter/doc/RELEASING
Neil Roberts addf48f62f doc/RELEASING: Add a note to test with all pipeline backends and GLES2
This adds a test step to test all of the pipeline backends and GLES2.
GLES2 is currently known to fail for a few tests so it is recommended
to test it with a for loop and make a note of the list of failed
tests.
2012-02-21 18:23:23 +00:00

114 lines
3.1 KiB
Plaintext

RELEASING
=========
When making a new release;
- Verify that you don't have uncommitted changes; both:
$ git diff HEAD
and:
$ git diff --stat master origin/master
should be empty.
- Clean your work directory:
$ git clean -xdf
This ensures that you don't have stale files lying around.
- Run:
$ ./autogen.sh --enable-gtk-doc --enable-profile --enable-gles1 --enable-gles2 --enable-gl --enable-xlib-egl-platform --enable-glx
$ make all
$ make install
And verify that the code builds and installs from a clean Git snapshot.
- Run checks including running the conformance tests:
$ make check
- Test with all of the pipeline backends:
$ COGL_DEBUG=disable-arbfp make check
$ COGL_DEBUG=disable-arbfp,disable-fixed make check
- Test with the GLES2 driver:
$ COGL_RENDERER=EGL_XLIB COGL_DRIVER=gles2 \
bash -c 'for x in `./tests/conform/test-conformance -l`;
do ./tests/conform/test-conformance -p $x > /dev/null \
|| echo "FAILED: $x"; done'
Note that some of these tests are currently known to fail. Please
make a note of these failures in the release notes and verify that
no new failures have appeared since the last release.
- Test with Clutter:
Since we haven't migrated all the Cogl unit tests from Clutter yet, you
should now build Clutter against Cogl and run the conformance tests:
$ ./autogen.sh
$ make all
$ make test
- Test cross-compiling for Windows:
Please use the build/mingw/mingw-fetch-dependencies.sh with a fresh
build directory to make sure that all of the download links still
work.
- Update the release documentation:
- NEWS: new feature details, bugs fixed, acknowledgements
- Use git shortlog -n -s to get the list of authors
- The following bash snippet may help with extracting the list of
bugs closed:
URLS=$(git log $1|grep bugzilla|sort|uniq)
for i in $URLS
do
ID=$(echo $i|cut -d'=' -f2)
TITLE=$(wget --quiet -O - $i|grep -e '<title>.*</title>'|sed -e 's/<title>Bug [0-9]\+ &ndash; \(.*\)<\/title>/\1/')
echo " #$ID - $TITLE"
done
- README: dependencies, any behavioural changes relevant to
developers;
then commit the changes.
- Read the release comments in configure.ac
- Bump cogl_1_minor_version to the next even number
- Don't change the 2.0 version number
- Update the libtool versioning
- Update the cogl_release_status status to "release" or "snapshot"
as appropriate.
- commit the changes.
- Run:
$ make release-publish
which will:
- do sanity checks on the build
- distcheck the release
- tag the repository with the version number
- upload the tarball to the remote server (needs SSH account)
- Bump cogl_1_micro_version to the next odd number
- Revert cogl_release_status to "git"
- Push the branch and then the tag, e.g.:
$ git push origin master
$ git push origin 1.7.0
- Announce release to the waiting world on the blog and mailing lists. Use
the template printed by `make release-publish`.