ZhuoX Li [Wed, 19 Mar 2014 05:50:28 +0000 (13:50 +0800)]
Catch buildservice ObsError exception
When modify the meta conf to unlink raise ObsError exception,
it should be catched.
Fixes: #1726
Change-Id: Icf7602ba813db5a3c0ca9ead4171dd2072b767d5
Lin Yang [Wed, 26 Mar 2014 07:49:36 +0000 (15:49 +0800)]
Escape < > to fix xml syntax
The prerelease project description contains < and > in submitter email address.
When update project meta in xml meta, it break xml syntax. So escape them when
format the meta.
Fixes: #1754
Change-Id: Ic623959270e2b4ab4ccd207710c4901c86810b70
Signed-off-by: Lin Yang <lin.a.yang@intel.com>
ZhuoX Li [Mon, 10 Mar 2014 12:21:39 +0000 (20:21 +0800)]
Pylint for job_submitobs.py
C:543,0: Line too long (83/80)
C:294,8:check_sync_pattern: Invalid name "p" (should match [a-z_][a-z0-9_]{2,30}$)
Change-Id: If1ce83ae16bb4bc18b28bfca42b27d2c4616c510
ZhuoX Li [Thu, 6 Mar 2014 10:22:31 +0000 (18:22 +0800)]
pylint for common/manifest.py
C: 1,0: Missing docstring
F: 22,0: Unable to import 'common.utils'
C: 24,0: Operator not preceded by a space
HEADER="""<?xml version="1.0" encoding="UTF-8"?>
^
"""
C: 29,0: Operator not preceded by a space
XML_ITEM="""<project name="%s" path="%s" revision="%s"/>\n"""
^
C: 30,0: Operator not preceded by a space
FOOTER="""</manifest>"""
^
C: 35,4:gen_repo_manifest: Operator not followed by a space
manifest_head = HEADER %(fetch_url, review_url)
^
C: 40,8:gen_repo_manifest: Operator not followed by a space
manifest_body +=XML_ITEM %(prj_name, prj_path, revision)
^^
C: 67,4:get_repo_primary_md: Operator not preceded by a space
ret_data= {}
^
Change-Id: I1e6b6255fdfd814518adbb4d08e3a484b0f91d2a
ZhuoX Li [Thu, 6 Mar 2014 10:10:53 +0000 (18:10 +0800)]
Pylint for common/utils.py
C:196,0: Line too long (83/80)
C:254,0: Line too long (81/80)
F: 27,0: Unable to import 'common'
R: 34,0:Workdir: Too few public methods (0/2)
C: 53,4:retry.deco_retry: Missing docstring
C: 54,8:retry.deco_retry.f_retry: Missing docstring
C: 56,12:retry.deco_retry.f_retry: Invalid name "f" (should match [a-z_][a-z0-9_]{2,30}$)
Change-Id: I24b4185632a1dda96faa3d47e09f3e4724cb5ca0
ZhuoX Li [Wed, 5 Mar 2014 11:52:43 +0000 (19:52 +0800)]
Pylint for common/repomaker.py
C: 82,4:create_dirs: Operator not preceded by a space
repo_dirs=set([])
^
C:102,8:gen_target_dirs: Comma not followed by a space
return [os.path.join(repo_dir,["packages", "debug"][is_debug], ftype)]
^^
Change-Id: I0d2c1f634f66a8d08f10ad79923ed53e40d62830
ZhuoX Li [Wed, 5 Mar 2014 07:10:03 +0000 (15:10 +0800)]
Pylint for job_policycheck.py
Change-Id: Ic7a8080056f3a936d1de8c9ec43b4a08490c0b67
W:195,23:main: Unused variable 'obs_stg_prj'
ZhuoX Li [Wed, 5 Mar 2014 02:31:34 +0000 (10:31 +0800)]
Pylint for job_buildcheck_post.py
C:100,0: Line too long
Change-Id: If51d9bab7adf6172d254b39fe175a51a6149035b
ZhuoX Li [Tue, 4 Mar 2014 10:44:31 +0000 (18:44 +0800)]
Pylint for job_pre_release_obs.py
C:115,0: Line too long (81/80)
Change-Id: I4daeeb6d744c9ee72187694ea3853c8bf7b8a56a
ZhuoX Li [Tue, 4 Mar 2014 10:42:56 +0000 (18:42 +0800)]
Pylint for job_request.py
C:202,0: Line too long (82/80)
C:332,0: Line too long (85/80)
C:310,8:main: Operator not followed by a space
print >>sys.stderr, err
^ '
Change-Id: I85b24bc05cdeb25dc7c327c98e038399a56f26d3
ZhuoX Li [Mon, 24 Mar 2014 07:55:04 +0000 (15:55 +0800)]
Catch HTTPError:bad request for submit_req
After upload _service, if catches 'Bad Request',
Obs service should enough time to execute.
Change-Id: Ib52d1439ea3969d3f0d2021d4f8f12e86e32f5f9
ZhuoX Li [Fri, 21 Mar 2014 06:35:44 +0000 (14:35 +0800)]
Fix bug that package name causes for _service
some 'package name' is different from 'spec name'.
When use 'package nam'e from gerrit to create package,
upload _service file is failed.So here use 'spec name'
to create package and upload _service file.
Change-Id: If9a49591edf6c4cf1ff9dc13170a8ee7b7a61ca0
Ed Bartosh [Fri, 21 Mar 2014 00:32:58 +0000 (02:32 +0200)]
submitobs: Do not submit to projects using prerelease workflow
Submitobs job should skip submission If staging project is set to
'prerelease' in git-obs mapping.
Fixes: #1744
Change-Id: I13b6b761e53337ce5afe3df1b93ef58a5c848c44
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Thu, 20 Mar 2014 23:59:47 +0000 (01:59 +0200)]
Pylinted
Fixed potential crash because of undefined variable 'name'.
Change-Id: I98d15460b846f31630a1f15a386d3105555ad7e6
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Thu, 20 Mar 2014 23:53:27 +0000 (01:53 +0200)]
job_submit: Added commit id and submitter to meta
Repa will add commit id and submitter to SR, which is requested by
release engineers in this bug:
https://bugs.tizen.org/jira/browse/TINF-468
Fixes: #1679
Fixes: #TINF-468
Change-Id: I3c6e578eafc5f1c0e7e3194b27511fbc87d5a455
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Sat, 15 Mar 2014 13:47:52 +0000 (15:47 +0200)]
Do not notify submitter about revoked SRs
This is a follow-up fix for previously 'fixed' issue. Second try to
disable notifications about 'revoked' SRs from build projects.
Developers are still getting those confusing emails.
Change-Id: I666713f407ebc0e164dc45e3802349cb6d390bbf
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Hasan Wan [Tue, 11 Mar 2014 08:28:16 +0000 (10:28 +0200)]
Trigger post-image-creation job only for pre-release images
Fixes: 1678
Change-Id: I1f8c0a208e1d0e00763dc037dd613dd1d8697ebd
Signed-off-by: Hasan Wan <hasan.wan@intel.com>
ZhuoX Li [Mon, 10 Mar 2014 11:00:17 +0000 (19:00 +0800)]
Use utils.upload_obs_service to replace the method of upload
Change-Id: I46e6f04043dca6d1aaf5db5e395e599a0d5722f8
ZhuoX Li [Thu, 27 Feb 2014 10:57:26 +0000 (18:57 +0800)]
Change the method of updating package in job_submitobs.py by using _service
Fixes: #1353
Change-Id: Iee9bbf8906a71a68e829618ee32537731921ad4a
ZhuoX Li [Tue, 4 Mar 2014 10:40:29 +0000 (18:40 +0800)]
Pylint for job_update_local_git.py
C: 28,0: Line too long (83/80)
Change-Id: I18160bbea39ce5262935f4fb1b08bdcade435228
Lingchaox Xin [Wed, 5 Mar 2014 03:05:08 +0000 (11:05 +0800)]
Pylint for common/runner.py
C: 87, 0: Exactly one space required after assignment
msg = 'running command: "%s"' % cmd
^ (bad-whitespace)
W: 80, 4: Attempting to unpack a non-sequence defined at line 40 (unpacking-non-sequence)
Change-Id: I30de9764b6df5792f6c0fff297b71e7ad09df361
Lingchaox Xin [Tue, 4 Mar 2014 09:57:18 +0000 (17:57 +0800)]
Pylint for common/mapping.py
C: 36, 0: No space allowed around keyword argument assignment
def __get_mapping(self, obj, branch = None):
^ (bad-whitespace)
C: 66, 0: No space allowed around keyword argument assignment
def get_submit_mapping(self, project, branch = None):
^ (bad-whitespace)
C: 11, 0: Old-style class defined. (old-style-class)
Change-Id: I399144061a1c564344cad68438fbb596b132da6d
Lingchaox Xin [Tue, 4 Mar 2014 08:32:16 +0000 (16:32 +0800)]
Pylint common/git.py
Change-Id: I410c4f48a7d75a261b5d2a45685aa57a8cefa2d9
Lingchaox Xin [Fri, 28 Feb 2014 09:09:25 +0000 (17:09 +0800)]
Codes pylinted
This patch just contains some of them, the rest will be fixed later.
Change-Id: I437f9622ccd812d0c3389d2cfbd970303e5eaa2c
Ed Bartosh [Wed, 26 Feb 2014 13:09:25 +0000 (15:09 +0200)]
Updated comment about accepted branches
Change-Id: I56cea82d3c47724b6ed115e460a10eb1e597c25a
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Tue, 25 Feb 2014 11:25:30 +0000 (13:25 +0200)]
Fixed naming of accepted branches
Name of accepted branches were made by replacing ':' to '/' in OBS
project name. That caused conflict between branches for subprojects and
main project, e.g. Tizen:IVI and Tizen:IVI:Genivi. For this pair of
projects accepted branches were named as accepted/tizen/ivi and
accepted/tizen/ivi/genivi. This naming approach creates a conflict as
.git/refs/accepted/tizen/ivi can't be directory (for
accepted/tizen/ivi/genivi) and file (for accepted/tizen/ivi) branches at
the same time.
This issue caused failures on backend to update accepted branches.
Fixed by using '_' instead of '/' in branch names, so above 2 example
branches are named as accepted/tizen_ivi and accepted/tizen_ivi_genivi
now and do not conflict with each other.
Fixes: #1435
Change-Id: I3f253f0d438bf9b455a4fc24de151eefa1903ae5
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Lin Yang [Mon, 24 Feb 2014 03:48:04 +0000 (11:48 +0800)]
Remove duplicate function call for SR revoke event
Change-Id: Ie4898a1f0abc62830e344c57851c0b998954b309
Signed-off-by: Lin Yang <lin.a.yang@intel.com>
Ed Bartosh [Thu, 13 Feb 2014 11:57:10 +0000 (13:57 +0200)]
Fixed bug in cleanup job
Cleanup job now takes project name either from 'project' or 'sourceproject'
field of the event structure, passed from OBS.
Previously it was taking project name only from 'project' field, which is set
for OBS_REPO_PUBLISHED event and is not set for SR_ACCEPTED event.
This was the reason for not removing prerelease projects when SR is accepted.
Fixes: #1649
Change-Id: Ie9d37f0dbba7e9d92a436e755ec0a32d636f7d3c
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Alexander Kanevskiy [Sat, 14 Dec 2013 21:34:04 +0000 (23:34 +0200)]
Removing unused imports from common/prerelease.py
Change-Id: I1a5bfe5b390d0ee01bebb3e155565d2064b3d39a
Ed Bartosh [Sat, 15 Feb 2014 16:09:58 +0000 (18:09 +0200)]
Remove prerelease project when SR is accepted
Prerelease projects should be removed from OBS when their SRs are
accepted as they're not needed anymore.
Fixes: #1649
Change-Id: I7563e19ac2c4be21b1530d110ff771fd996ba7cc
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Sat, 15 Feb 2014 15:34:53 +0000 (17:34 +0200)]
Fixed crash in job_requests
job_requests code assumes that GIT_AUTHOR_EMAIL is set and crashes when
SR is created by repa:
info sending mail for OBS_SRCSRV_REQUEST_ACCEPTED obs_request_accept
Traceback (most recent call last):
File "/var/lib/jenkins/jenkins-scripts/job_request.py", line 342,
sys.exit(main())
File "/var/lib/jenkins/jenkins-scripts/job_request.py", line 307, in
notify_submiter(event_fields, data)
File "/var/lib/jenkins/jenkins-scripts/job_request.py", line 281, in
os.getenv('EMAIL_TEMPLATES_DIR'))
File "/var/lib/jenkins/jenkins-scripts/requests/mailer.py", line 267,
if isinstance(request_data[_to], list):
KeyError: 'GIT_AUTHOR_EMAIL'
The reason for this is that repa's SRs don't have 'Submitter' field,
which is used to set GIT_AUTHOR_EMAIL. However, it's not mandatory as
even current code gets submitter name and email from git.
This change sets GIT_AUTHOR_EMAIL using information from git.
Fixes: #1653
Change-Id: I4349687d04717e11f0cbe42819a75356fd029a61
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Sat, 15 Feb 2014 15:10:42 +0000 (17:10 +0200)]
Skipped notification about SR creation for prerelease projects
As repa creates SRs and immediately accepts/rejects them there is no
need to notify submitter about SR creation as he/she will be anyway
notified about SR acceptance or rejection.
Fixes: #1655
Change-Id: Ice23ca4338c1b5de0e64117abec10b4ed5d167b0
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Sat, 15 Feb 2014 13:02:21 +0000 (15:02 +0200)]
Do not notify submitter when SR is revoked
This is done to stop confusing developers by sending them notifications
about revoked SRs. SRs are revoked because submissions are accepted by
repa tool.
Fixes: #1652
Change-Id: I2663899ef9a90538c89fc4f485ef34e6cacd2203
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Sat, 15 Feb 2014 12:53:54 +0000 (14:53 +0200)]
Delete package when SR is revoked
OBS event OBS_SRCSRV_REQUEST_REVOKED was not processed correctly in
job_requests and projects were not deleted.
Fixes: #1654
Change-Id: I92e47978e20c7e111af332e7a082037f3d8eb140
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Hasan Wan [Tue, 18 Feb 2014 03:00:50 +0000 (05:00 +0200)]
Fix the prerelease repo inconsistent with new repo structure issues
Fixes: #1658
Change-Id: If66d81ec1ceeebd4438c20c9251be5fc73d56892
Signed-off-by: Hasan Wan <hasan.wan@intel.com>
Hasan Wan [Tue, 18 Feb 2014 02:53:11 +0000 (04:53 +0200)]
use modifyrepo_c to modify repo
keep the groups.xml and patterns.xml in repo to avoid the patterns
not found issues
Fixes: #1657
Change-Id: Ia5701206386ae056ba2a735048336b22dae24aab
Signed-off-by: Hasan Wan <hasan.wan@intel.com>
Lingchaox Xin [Tue, 11 Feb 2014 09:10:46 +0000 (17:10 +0800)]
Limit python-requests version 2.0.1+ to have a good no_proxy support
Since python-requests in our Service Repo is 1.1.0 version, we need
upgrade it to a higher version(now the latest is 2.2.1).
Change-Id: I1bfcf1c5de2b0c7998d3615bb5b7fc658b88bd97
Lingchaox Xin [Mon, 10 Feb 2014 09:23:23 +0000 (17:23 +0800)]
Fix `IOError: [Errno 2] No such file or directory` when sync diff
Change-Id: I1c128842679e7c6f220103dc929055fb8210a8bc
Alexander Kanevskiy [Sat, 14 Dec 2013 21:32:05 +0000 (23:32 +0200)]
Fix pylint warning: redefining build-in function 'map'
W: 44, 8: Redefining built-in 'map' (redefined-builtin)
Change-Id: Ia657e719a565c3924c8505c3e9be910ea1e039c9
JF Ding [Sat, 8 Feb 2014 09:04:16 +0000 (17:04 +0800)]
Added GPLv2 COPYING file and correct the License in spec
Because we have passed the company's open-sourcing approval long before,
we need to align the license description in spec file accordingly.
And added the license file for GPLv2 by the way, the source of copy:
http://www.gnu.org/licenses/gpl-2.0.txt
Change-Id: Ibb49999d8fca9f5eeb234fc5372f016d387e0fbc
Signed-off-by: JF Ding <jian-feng.ding@intel.com>
Ed Bartosh [Fri, 24 Jan 2014 15:30:55 +0000 (17:30 +0200)]
job_policycheck: Check if packaging directory exists
Check if packaging/ directory exists before running gbs export.
Otherwize it will crash this way:
running command: "git clone
ssh://tizenrobot@review.tizen.org:29418/sdk/ide/webapp-eplugin
--reference /var/lib/jenkins/git/sdk/ide/webapp-eplugin.git
/var/lib/jenkins/jobs/policy-check/workspace/_wBiPn/sdk/ide/webapp-eplugin
", with output::
+-------------- | Cloning into
/var/lib/jenkins/jobs/policy-check/workspace/_wBiPn/sdk/ide/webapp-eplugin...
+--------------
gbp:debug: git fetch --quiet --tags origin refs/changes/29/13329/2
gbp:debug: git checkout --quiet FETCH_HEAD
packaging dir is
/var/lib/jenkins/jobs/policy-check/workspace/_wBiPn/sdk/ide/webapp-eplugin/packaging
gbp:debug: git checkout --quiet FETCH_HEAD
Traceback (most recent call last):
File "jenkins-scripts/job_policycheck.py", line 196, in <module>
sys.exit(main())
File "jenkins-scripts/job_policycheck.py", line 172, in main
if not export(prjdir, packagingdir, mygit, events, mygerrit):
File "jenkins-scripts/job_policycheck.py", line 62, in export
tempd = tempfile.mkdtemp(dir=os.path.join(prjdir, packagingdir))
File "/usr/lib64/python2.7/tempfile.py", line 318, in mkdtemp
_os.mkdir(file, 0700)
OSError: [Errno 2] No such file or directory:
'/var/lib/jenkins/jobs/policy-check/workspace/_wBiPn/sdk/ide/webapp-eplugin/packaging/tmpG92RZU'
Fixes: #1506
Change-Id: Ib73b64724ad60358328243f346a04331429327ef
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Fri, 24 Jan 2014 12:34:00 +0000 (14:34 +0200)]
common/mapping.py: Improve xml parsing error handling
Added local exception MappingError and properly process it in
policycheck job.
Fixes: #1541
Change-Id: I3e4ab8a7ec150933876ecb4f02461406833b8e6d
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Lingchaox Xin [Fri, 24 Jan 2014 07:43:52 +0000 (15:43 +0800)]
Add index.html in templates in spec
This will fix `jinja2.exceptions.TemplateNotFound: index.html` error.
Change-Id: Ic73be70bedb67372c7cd414f123375894b4c90b5
Lingchaox Xin [Thu, 23 Jan 2014 09:56:41 +0000 (17:56 +0800)]
Fix IndexError when repo info has no element
Change-Id: Id2764928ab6ca99c88f5ad330e1bcf1c023159c8
Lingchaox Xin [Thu, 23 Jan 2014 09:43:10 +0000 (17:43 +0800)]
Adapt for new interface in python-snapdiff
Change-Id: I46725b4ee8caeb1de0488c32091ed11a0af1e36a
Lingchaox Xin [Thu, 9 Jan 2014 07:55:38 +0000 (15:55 +0800)]
Split trigger_image_creation function into two parts
From now on, triggering jobs and preparing trigger data are
independent, and it is more readable.
Change-Id: Ie2ab0a9cec388751b6805f2ec6cdbaf63ae2b5f7
Hasan Wan [Fri, 13 Dec 2013 07:30:19 +0000 (07:30 +0000)]
use the new repo structure
Change-Id: Ideebe8d0bcf0deeaa6988fd5e921f4c031bf5183
Signed-off-by: Hasan Wan <hasan.wan@intel.com>
Hasan Wan [Mon, 6 Jan 2014 03:11:53 +0000 (03:11 +0000)]
create the latest repo link
Change-Id: I6ab84a1c80a1881e243b096c964bad0c6cd80929
Signed-off-by: Hasan Wan <hasan.wan@intel.com>
Hasan Wan [Mon, 6 Jan 2014 02:57:00 +0000 (02:57 +0000)]
remove unused function
Change-Id: I99a3c65d00163b78df2885d1850c6f4e94b99c2d
Signed-off-by: Hasan Wan <hasan.wan@intel.com>
Lingchaox Xin [Tue, 24 Dec 2013 10:02:40 +0000 (18:02 +0800)]
Integrate snapdiff into jenkins-scripts
Change-Id: Idaf2791be10ab1d0e72536200c11c065692024f2
Hasan Wan [Fri, 13 Dec 2013 07:34:46 +0000 (07:34 +0000)]
fix a potenntial bug about find package-groups package
Change-Id: Id9857210eb1561fbf8a4ce77ddd27dcd1b1f274f
Signed-off-by: Hasan Wan <hasan.wan@intel.com>
Alexander Kanevskiy [Sat, 14 Dec 2013 21:15:11 +0000 (23:15 +0200)]
Fix format string operation
Change-Id: I9e4ee98e51e22d3e82e6147af344d03b4529caf1
ZhuoX Li [Fri, 13 Dec 2013 09:34:31 +0000 (17:34 +0800)]
Add unitest testcase for gbs interface
Change-Id: Ia8eb7d35ac9c7478433acb5a8052c2a5f840faa6
ZhuoX Li [Fri, 13 Dec 2013 09:33:45 +0000 (17:33 +0800)]
Add unitest testcase for gbp interface
Change-Id: I362d3e0563d56b5dfc7df4fd8a2285b9bb243772
Lin Yang [Tue, 10 Dec 2013 08:55:40 +0000 (16:55 +0800)]
Combine all repos build result into one comments
Change-Id: I565f3856072776f20505411e83ec21eafc848104
Signed-off-by: Lin Yang <lin.a.yang@intel.com>
Lin Yang [Tue, 10 Dec 2013 12:00:33 +0000 (20:00 +0800)]
Add profile info into accept tag name
Change accept tag name format to accept/{OBS_PRJ_NAME}/{DATE.TIME} to insert
profile info.
Fixes: #1511
Change-Id: I1d1e5087e3966e4ec52b804c631037c7cfef8093
Signed-off-by: Lin Yang <lin.a.yang@intel.com>
Ed Bartosh [Sun, 8 Dec 2013 11:37:35 +0000 (13:37 +0200)]
policycheck: Check if specs found in packaging/ directory
If there is no spec files in packaging/ directory job should fail and
send message back to gerrit informing submitter about the issue.
Change-Id: Ib6a129fe94fc9e011fd9b33be31f4083b6d73bc2
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Sun, 8 Dec 2013 11:41:46 +0000 (13:41 +0200)]
policycheck: fail the job if gbs export fails
If gbs export fails job should fail as this is definitely policy issue.
Ignoring this doesn't make sense.
Change-Id: Ibf377af948e229d6c01f5cb3bda7bdeba83ea07e
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Sun, 8 Dec 2013 11:30:23 +0000 (13:30 +0200)]
policycheck: Check if packaging/ directory exist
if there is no packaging/ directory in the project policycheck should
fail and send message back to Gerrit.
Currently if project doesn't have packaging directory job produces
non-informative traceback:
Traceback (most recent call last):
File "jenkins-scripts/job_policycheck.py", line 196, in <module>
sys.exit(main())
File "jenkins-scripts/job_policycheck.py", line 172, in main
if not export(prjdir, packagingdir, mygit, events, mygerrit):
File "jenkins-scripts/job_policycheck.py", line 62, in export
tempd = tempfile.mkdtemp(dir=os.path.join(prjdir, packagingdir))
File "/usr/lib64/python2.7/tempfile.py", line 318, in mkdtemp
_os.mkdir(file, 0700)
and doesn't report anything back to submitter.
Fixes: #1526
Change-Id: Ic98c26e04c45ff22eeb9136acfe006159d9eff5c
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Sun, 8 Dec 2013 13:06:11 +0000 (15:06 +0200)]
Catch backenddb EntityError exception
When there is no map for some OBS project backenddb API raises
EntityError exception. It should be catched.
Fixes: #1528
Change-Id: I4c7fa8c5562c4d01a5d9b67e9a4a5d1d38e4b082
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Sun, 8 Dec 2013 10:15:03 +0000 (12:15 +0200)]
Check if key is in mapping to avoid KeyError
This change should fix KeyError traceback in parsing description. In
current code everything with ':' is considered as key:value, which is
incorrect assumption as ':' is a very common symbol.
Fixes: #1524
Change-Id: I29deb4e410ba820535e09d8c4808894296c40cda
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Mon, 9 Dec 2013 18:17:08 +0000 (20:17 +0200)]
job_pre_release_gerrit: Check if prerelease enabled for OBS project
To avoid triggering workflow for all projects prerelease_enabled
function is implemented and used in job_pre_release_gerrit to filter out
unrelated projects.
Fixes: #1531
Change-Id: I65f3cd98bedacf61e7dae769b94f4c7091c52d4a
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Mon, 9 Dec 2013 09:32:41 +0000 (11:32 +0200)]
Fixed linking and unlinking repositories
Linking and unlinking was changing only first repository in the project.
The rest repos were left unchanged.
Fixes: #1530
Change-Id: Ia40fc6249f244644375a1b71f2c9a8ddfccc2067
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Wed, 4 Dec 2013 12:26:29 +0000 (14:26 +0200)]
Check return code of sync function
When sync filed job_imager should also fail.
Fixes: #1513
Change-Id: I261b6c1844f1c2aa2e19e8b968f08a39d4b93e96
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Hasan Wan [Wed, 4 Dec 2013 06:44:22 +0000 (08:44 +0200)]
fix the releaesid key name mistake when update value
Change-Id: I08168e89393b7d49e4b20bd49fe4931257d61119
Signed-off-by: Hasan Wan <hasan.wan@intel.com>
Hasan Wan [Wed, 4 Dec 2013 06:42:22 +0000 (08:42 +0200)]
Fix a typo when get exception
Change-Id: I9761ec87c71684b0c060f75d4e906bff8388bdca
Signed-off-by: Hasan Wan <hasan.wan@intel.com>
Hasan Wan [Wed, 4 Dec 2013 06:15:40 +0000 (08:15 +0200)]
enable createrepo_c for repomaker
Change-Id: I53166ed7cace598b7b7e569f9c9fa425d148560f
Signed-off-by: Hasan Wan <hasan.wan@intel.com>
Ed Bartosh [Mon, 2 Dec 2013 16:39:22 +0000 (18:39 +0200)]
Code cleanup of job_pre_release_obs
Pylinted + code cleanup.
Change-Id: Ifaa2adb1cd57d5dcaeee5f0abf7e4871266960d2
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Sun, 1 Dec 2013 21:17:07 +0000 (23:17 +0200)]
Cleanup prerelese repos from all snapshots
When cleaning up prerelease repos we should consider all snapshots, not
just the latest one.
Change-Id: I85b2d1dfedeb979eaf135ca5f4416ef54c3fbb93
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Sun, 1 Dec 2013 20:16:56 +0000 (22:16 +0200)]
Reimplemented logic of finding published repos
Current logic assumes that all repos of one OBS projects have the same
snapshot id, which is not always true. First of all due to the bug in
boss-repomaker they're always different. Second, for one OBS project
some repos can be published, but some can't because of package build
failures, so snapshot ids can be different for different repos in the
same project and they has to be found and cleaned up.
As it's impossible to find repo only by OBS project name more
sophisticated logic should be used:
- Find all keys, starting from OBS prject name
- Part after colon may be repo name
- Repo name should not contain colon as some projects may have the same
prefix, e.g. Tizen:IVI and Tizen:IVI:Release
Change-Id: I018105dc52244d8530b26daa5a4b47bf6cc6ea1a
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Mon, 2 Dec 2013 16:11:11 +0000 (18:11 +0200)]
Used repo name as a part of release key
PartOf and Release keys in repos.yaml are not uniq. Using them as a
uniq identifier leads to breakage of workflow as they're continuously
rewritten by repomaker for every snapshot for the repos with the
same PartOf and Release keys in repos.yaml
This change uses repo name instead of PartOf and Release. Name is
uniq in repos.yaml, so this should hopefully fix the issue.
Note, that this change requires repomaker to store release ids using
repo name. This is done in this change:
https://otctools.jf.intel.com/review/#/c/8189/
Change-Id: I63e033bff640ec2ae93e1d522dce55758aff2acd
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Mon, 2 Dec 2013 16:06:38 +0000 (18:06 +0200)]
Pylinted job_pre_release_obs.py
Change-Id: I65f7ff443ecfbb941f91cd8bf2e92ada2d6f82fc
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Sat, 30 Nov 2013 15:34:37 +0000 (17:34 +0200)]
Refined warning message
This is quite important message. Let's make it a bit more clear.
Change-Id: I3653a702511d06e1e93e7697cab5ea3e7cfd85f4
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Mon, 2 Dec 2013 15:57:39 +0000 (17:57 +0200)]
Used OBS repo to find repo name from repos.yaml
This is an adaptation of job_pre_release_obs and job_create_snapshot to
the change in the key format for obs -> repo mappings. Now OBS repository
is also used to find repo name. This change passes OBS repository to
Snapshot class to find repo name properly.
Change-Id: I30adf0c8f3efceaabeec77a468613cacf2ec1e23
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Sat, 30 Nov 2013 14:59:25 +0000 (16:59 +0200)]
Added obs repository as a part of obs->repo mapping
OBS project can be mapped to multiple repo names in repos.yaml depending
on obs repository, for example:
Tizen:Mobile OBS project currently maps to 3 repos:
Tizen-mobile for OBS repo atom,
Tizen-mobile-rd-pq for OBS repo arm,
Tizen-emulator for OBS repo emulator.
so, it's not possible to find repo name by using OBS project.
OBS repository should be taken into consideration as well.
This is a serious design fault in the current code.
This change is trying to fix this by using <OBS project>:<OBS repository>
key in obs->repo mapping API.
Change-Id: Ibfb7b77b3efbbbde65d8deeff1b90e08e0695977
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Lin Yang [Thu, 28 Nov 2013 03:39:53 +0000 (11:39 +0800)]
Clean up use obsolete function end()
Because end() function has been already removed, should not use it any more.
Change-Id: Id02d2e7aaec145236557b8fa228098e818e2aeb1
Signed-off-by: Lin Yang <lin.a.yang@intel.com>
Lin Yang [Thu, 28 Nov 2013 03:24:11 +0000 (11:24 +0800)]
Change return code when init TempPackage exception
One buildcheck project will send out multiply OBS_REPO_PUBLISH_STATE events, the
first build will delete this project, the following builds will rasie this
exception. In this case, it should return 0.
Change-Id: I6816b9fe61cb9b4e9a6baaae9b415587795fccfc
Signed-off-by: Lin Yang <lin.a.yang@intel.com>
Lingchaox Xin [Wed, 27 Nov 2013 02:58:18 +0000 (10:58 +0800)]
Fix is_new_package method not found
It is not fixed completely in 9340906 commit
Change-Id: I862e941d0b78f4cb8b68818da59d924335f3cb71
Lin Yang [Wed, 27 Nov 2013 06:34:39 +0000 (14:34 +0800)]
Return directly if post comment to gerrit failed
Change-Id: I3f4c7c5da7089645caaecfb49970ce60d5da656b
Signed-off-by: Lin Yang <lin.a.yang@intel.com>
Hasan Wan [Fri, 22 Nov 2013 03:25:24 +0000 (03:25 +0000)]
Trigger the next job with project name info
Change-Id: I5b8e1534a445fb340f9ffdad38bc02cb32f4e109
Signed-off-by: Hasan Wan <hasan.wan@intel.com>
Lin Yang [Thu, 21 Nov 2013 07:06:50 +0000 (15:06 +0800)]
Catch GerritError when post comment back to gerrit
Change-Id: Ie00925f18f10cca8560e65e45f934758f2395cb7
Signed-off-by: Lin Yang <lin.a.yang@intel.com>
Lin Yang [Tue, 26 Nov 2013 07:03:28 +0000 (15:03 +0800)]
Enable more flexible pattern to sync code
When sync code from outside to inside gerrit, need more flexible pattern to
control which refname need to be synced, like only sync one branch.
Change-Id: I65bafca9574c7d7a0a89d728fefc4b08e4132a0a
Signed-off-by: Lin Yang <lin.a.yang@intel.com>
Lin Yang [Wed, 20 Nov 2013 06:15:51 +0000 (14:15 +0800)]
Split the output of _git_inout to lines
Change-Id: I93f4ff3bd892137806e151015d841e29ae21cb81
Signed-off-by: Lin Yang <lin.a.yang@intel.com>
Hasan Wan [Fri, 15 Nov 2013 07:24:26 +0000 (09:24 +0200)]
Fix the image creation job not trigger issues
Fixes: #1462
Change-Id: Ia07fdf3132a7a61b65df622ef9b289931d5691a0
Signed-off-by: Hasan Wan <hasan.wan@intel.com>
Change-Id: I3b35bf56963106674e46c49c5c485a9d9b76d4fb
Hasan Wan [Fri, 15 Nov 2013 04:21:02 +0000 (06:21 +0200)]
job_submit.py are required in jenkins-scripts package
Change-Id: I7e40d106cd74fb3199d4e49c7f423401eef0aea3
Signed-off-by: Hasan Wan <hasan.wan@intel.com>
Lin Yang [Wed, 13 Nov 2013 07:15:43 +0000 (15:15 +0800)]
Do not need to specify specfile when gbs rb
Because gbs can automatically handle multiply specfile issue, don't need to
specify specfile in gbs command any more.
Change-Id: I09707dc3f66302a4362dea5057743314d59aa1b9
Signed-off-by: Lin Yang <lin.a.yang@intel.com>
Ed Bartosh [Tue, 12 Nov 2013 15:30:45 +0000 (17:30 +0200)]
Used atexit to remove temporary directories
Change-Id: I171819fa87dea5933bbbe1592a6ffd759683b410
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Tue, 12 Nov 2013 12:39:24 +0000 (14:39 +0200)]
job_submitobs: Pylinted
Change-Id: Ic250816f3d8a091f37d8d30bc448180fb518a927
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Tue, 12 Nov 2013 11:53:44 +0000 (13:53 +0200)]
Moved ref sync from job_sync_git to job_submitobs
This is done to avoid submitting to obs on sync instance if sync fails.
It's impossible to do when jobs are running asynchronously.
This change also reduces amount of code as it removes duplication
code used in both jobs.
Fixes: #1437
Change-Id: Iba10ec0126963b65296ba516cc7215a86212db36
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Mon, 11 Nov 2013 19:24:08 +0000 (21:24 +0200)]
Catch git errors, print error message.
Fixes: #1407
Change-Id: Ifaa3dc82da2d094582c075b49905138ec6813997
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Lin Yang [Wed, 13 Nov 2013 06:51:36 +0000 (14:51 +0800)]
No need to checkout upstream pristine-tar branch
Because gbs new version can automatically checkout upstream and pristine-tar
branch before gbs export, don't need to checkout these branches manually.
Change-Id: I477070020fa38e1651a46a6727b9d366045b1ad0
Signed-off-by: Lin Yang <lin.a.yang@intel.com>
Ed Bartosh [Mon, 11 Nov 2013 19:06:24 +0000 (21:06 +0200)]
Catched git errors
Used _git_inout instead of deprecated _git_getoutput.
Catched errors and raised local exception.
Change-Id: Ib7e844a0740e1215c18e8862dabedd0a5add5307
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Tue, 12 Nov 2013 16:16:56 +0000 (18:16 +0200)]
Pylinted common/buildservice.py
Fixed one typo. Got rid of unused variables.
Change-Id: Icf597b912100dd0f6e60b88dca990d87b55cc678
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Ed Bartosh [Tue, 12 Nov 2013 16:02:56 +0000 (18:02 +0200)]
Catch urllib2.URLError
Caught urllib2.URLError exception. Included more info into error
message.
Fixes: #1408
Change-Id: Ib86635c50e305e8228cf62840c9cee527bc42bc8
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Lingchaox Xin [Thu, 14 Nov 2013 05:42:45 +0000 (13:42 +0800)]
Fix rpm packaging bug
Remove `/var/lib/jenkins/userContent/jenkins-scripts' link only when
uninstall the package.
Change-Id: I8fffb85cb60b6b5bd0f12796281404b4d50fdb6b
Lingchaox Xin [Wed, 13 Nov 2013 07:00:02 +0000 (15:00 +0800)]
Fix creating temp workspace since packaging dir is a relative path
Change-Id: I362547d80ea7537fd5cd0c2b8a2dbf7fb3c86de0
Lingchaox Xin [Tue, 29 Oct 2013 08:54:04 +0000 (16:54 +0800)]
Check whether `gbs export` succeeds before remote building
Feature #1396
Change-Id: Iedfadd42d40e759dafdcb16d9d221890270b24f1
Lin Yang [Mon, 11 Nov 2013 14:08:24 +0000 (22:08 +0800)]
Check whether need to sync project to inside obs
For sync instance, need to check whether this project match the regular
expression in jobs/configuration to sync this submission to inside obs.
Fixes: #1426
Change-Id: Ide8addde38a40dab1487d7d97f1a477dc6dbdbff
Signed-off-by: Lin Yang <lin.a.yang@intel.com>
Hasan Wan [Mon, 11 Nov 2013 06:26:17 +0000 (06:26 +0000)]
Generate repo manifest file
Fixes: #1392
Change-Id: I1f6b055ec59ad8bc5caaef681ff09bc08bd5c9d3
Signed-off-by: Hasan Wan <hasan.wan@intel.com>
Hasan Wan [Wed, 6 Nov 2013 03:17:34 +0000 (03:17 +0000)]
Keep another copy of buildconf in repodata
Change-Id: I530a4287b8bd692bbf065244cb4367211b729ed1
Signed-off-by: Hasan Wan <hasan.wan@intel.com>