Benjamin Drung [Mon, 9 Dec 2013 08:28:52 +0000 (09:28 +0100)]
lib/git_buildpackage.py: Fix build failure caused by calling clean target.
We do want to let dpkg-buildpackage call the clean target, because
it can fail if we do not have all build dependencies installed.
Instead we make sure that the git checkout is clean and the clean
target will be called inside the pbuilder chroot (after the
installation of the build dependencies).
Fabian Holler [Thu, 22 Aug 2013 09:34:05 +0000 (11:34 +0200)]
add script to create liveboot kernel debug archives
The script downloads the sources and debug symbols for ethoip6 and the
profitbricks-linux-pserver kernel that are installed on a liveboot.
From the extracted files a tar.xz archive is created that contains
everything what is needed to debug kernel oopses.
The archives is stored at /srv/liveboot/debug_archives on the jenkins
build server
Dongsu Park [Thu, 22 Aug 2013 11:43:43 +0000 (13:43 +0200)]
extract_storage: fix a bug on selecting modules directory name
In the sub-script, which is externally invoked by this script,
there was a little bug like "cd /lib/modules/*storage/".
This has been working if there's only 1 directory under /lib/modules.
But after upgrading kernel 3.4.23 to 3.4.51, there could be 2 different
directories, because ANDBD package could be possibly depending on
the older version.
To avoid such situations, set the kernel modules directory just the
same as its kernel version.
Dongsu Park [Thu, 22 Aug 2013 11:43:43 +0000 (13:43 +0200)]
extract_storage: fix a bug on selecting modules directory name
In the sub-script, which is externally invoked by this script,
there was a little bug like "cd /lib/modules/*storage/".
This has been working if there's only 1 directory under /lib/modules.
But after upgrading kernel 3.4.23 to 3.4.51, there could be 2 different
directories, because ANDBD package could be possibly depending on
the older version.
To avoid such situations, set the kernel modules directory just the
same as its kernel version.
Mathias Klette [Mon, 24 Jun 2013 11:42:33 +0000 (13:42 +0200)]
debian_buid.py: reset new_tag when build with autoincrement
let's assume this:
- user changes files but not version in changelog and commits
- call_jenkins accepts and triggers build
- debian_build.py figures out version / tag to create from changelog
- debian_build.py will incrase version number and pushes new HEAD back to origin
- call_jenkins will not push trigger another jenkins call
- debian_build.py will build with the new version
- tagging must happen when build was successful BUT with the new version number
instead of the one gathered in the very first beginning of the script
Mathias Klette [Sun, 16 Jun 2013 01:49:01 +0000 (03:49 +0200)]
debian_build: when rebase failed use some more actions to recover
-------- Original-Nachricht --------
Betreff: Jenkins Build dev_vdc-bundle - failed rebase not cleaned up correctly
Datum: Fri, 14 Jun 2013 20:33:44 +0200
Von: Ramona Koch <ramona.koch@profitbricks.com>
Antwort an: ramona.koch@profitbricks.com
An: dcops <dcops@profitbricks.com>, Core <core@profitbricks.com>, Mehrdad Arifi <mehrdad.arifi@profitbricks.com>
Hi DC Ops, Hi Core, Hi Mehrdad
I just noticed, that the 'workspace' is not correctly cleaned up, if the rebase had failed.
All builds trying to merge afterwards will also fail during rebase with:
It seems that I cannot create a rebase-apply directory, and I wonder if you are in the middle of patch application or another
rebase. If that is not the case, please
rm -fr /var/lib/jenkins/jobs/dev_vdc-bundles/workspace/.git/rebase-apply
and run me again. I am stopping in case you still have something valuable there.
@DCOps:
I checked your debian_build.py at:
337 try:
338 src_branch = local_branch # save the original branch
339 dst_branch = 'integration' # define the new branch
340 local_branch = dst_branch # reset env for
git-buildpackage
341 gitrepo.git.rebase('origin/' + dst_branch)
342 gitrepo.git.checkout(dst_branch)
343 gitrepo.git.pull()
344 gitrepo.git.merge(src_branch)
345 logger.info('Rebase and merge from branch "{src_branch}"
completed. Now in "{dst_branch}".'.format(
346 dst_branch=dst_branch,
347 src_branch=src_branch,
348 ))
349 except Exception as error:
350 logger.error('Rebase has failed!', exc_info=error)
351 gitrepo.git.reset('--hard',src_branch)
352 exit_error()
and I assume that 'git reset --hard' is not enough. Probably a 'git rebase --abort' needs to be done before. If this does not work - simply removing the mentioned file will work.
Could you check, if my assumption is correct and fix it, please.