Smoketesting

Before we do an actual GNOME release, we always build and test it a bit to verify there's no huge crasher. That's what we call smoketesting. It's really easy: just follow the instructions on this page.

Before each release, the release team issues some module sets for jhbuild. Everyone can then build what will be the next GNOME release and verify it compiles fine and works. If it doesn't compile (and it's not due to missing the necessary pre-requisite packages on your end or something similar) or if there's a showstopper bug, then contact the maintainer of the relevant module or the contacts at the end of the relevant section. It should help make our releases be more solid. And with more people smoketesting, the releases should be rock solid!

We use jhbuild to build the release. The jhbuild moduleset is a minimal but official set of tarballs meant exclusively for smoketesting.

Build the GNOME release, using jhbuild

Note that you need 2-3 GB free disk space to build the whole GNOME stack. And several hours, though you can usually do something else after starting it and come back after it has finished. :-) This is the most time consuming part.

  1. Make sure you have the necessary pre-requisite packages. See JhbuildDependencies. Note that it is okay to wait until you run into an error and then install the necessary package to avoid it, but it sometimes saves some headache to do it up front.

  2. Download jhbuild
  3. Install jhbuild
  4. Create your ~/.jhbuildrc (or copy it from elsewhere)
  5. Build it

Here's a small transcript that should work for everyone. Make sure to change the variables at the beginning to suit your needs.

 $ export RELEASE=3.7.90
 $ # Here, we download jhbuild.
 $ mkdir -p ~/releases/checkoutroot
 $ cd ~/releases/checkoutroot
 $ git clone --depth 1 git://git.gnome.org/jhbuild
 $ # Let's install jhbuild.
 $ cd jhbuild
 $ ./autogen.sh
 $ make
 $ make install
 $ # Fetch the jhbuild configuration file.
 $ wget -O ~/.jhbuildrc http://download.gnome.org/teams/releng/${RELEASE}/sample-tarball.jhbuildrc
 $ # And start building.
 $ ~/.local/bin/jhbuild -m http://download.gnome.org/teams/releng/${RELEASE}/gnome-apps-${RELEASE}.modules build meta-gnome-core meta-gnome-apps-tested

Once the build is finished, there are still a few steps before you can start testing the release:

  1. if you don't have a test user, create one. You don't want to test this build of GNOME and lose all your settings, do you? ;-)

  2. copy your .jhbuildrc in the test user home directory,
  3. create a .xsession file for the test user containing exec /path/to/jhbuild run gnome-session, where /path/to is the path where you installed jhbuild (ie, ~/.local/bin by default; you might want to just reinstall it in the same for the test user).

Here are commands to do the two last steps (provided that the environment variables are still set):

 $ export MYOLDHOME=${HOME}
 $ su mytestuser
 $ cp ${MYOLDHOME}/.jhbuildrc ~/
 $ echo "#!/bin/sh" > ~/.xsession
 $ echo "exec ${MYOLDHOME}/.local/bin/jhbuild run gnome-session" >> ~/.xsession
 $ chmod u+x .xsession

Test the GNOME release

You can then log in as the test user into your newly-built GNOME and verify that everything is working fine. This involves launching all programs and using them. You're of course encouraged to play the games ;-)

If you find some big issues, please contact the release team.

ReleasePlanning/Smoketesting (last edited 2013-11-27 14:23:32 by WilliamJonMcCann)