build server: fixed a bug about transferred job 79/12579/1
authordonghee yang <donghee.yang@samsung.com>
Tue, 19 Nov 2013 08:47:15 +0000 (17:47 +0900)
committerdonghee yang <donghee.yang@samsung.com>
Tue, 19 Nov 2013 08:47:15 +0000 (17:47 +0900)
[Description]  transferred job failed when no "master"

Change-Id: Ice9b6d1e4a94fe11555471cdf5d29a002ebae746
Signed-off-by: donghee yang <donghee.yang@samsung.com>
package/changelog
package/pkginfo.manifest
src/build_server/CommonProject.rb
src/build_server/ProjectManager.rb
src/build_server/RemoteBuilder.rb
src/build_server/SocketJobRequestListener.rb
test/build-server.multi-svr1/01.testcase
test/build-server.multi-svr1/02.testcase

index 2ce84e4e7606ed563d09ed6f8f4a948bf3b2763d..ea275d5cb64561444d9386caf6c9586ecf96dac2 100644 (file)
@@ -1,3 +1,6 @@
+* 2.1.53
+- Fixed bug that transferred job failed when it has no "master" branch
+== donghee yang <donghee.yang@samsung.com> 2013-11-19
 * 2.1.52
 - support ftp as a package server
 == hyoun jiil <jiil.hyoun@samsung.com> 2013-11-18
index 7a16447ebb6a2ee9b5f5054684de556da5580a5f..2a8669408717a095adee5a22c5ccd3e5dcbbf09a 100644 (file)
@@ -1,5 +1,5 @@
 Source : dibs
-Version :2.1.52
+Version :2.1.53
 Maintainer : taejun ha<taejun.ha@samsung.com>, jiil hyoun <jiil.hyoun@samsung.com>, donghyuk yang <donghyouk.yang@samsung.com>, donghee yang <donghee.yang@samsung.com>, sungmin kim <dev.sungmin.kim@samsung.com
 
 Package : tizen-dibs-test
index f8928df102134bce55279d444608f8408024e872..390f6b8d529d6f42146b4d7e7fff97ab37b19f32 100644 (file)
@@ -48,6 +48,7 @@ class CommonProject
                @status = status
                @source_info = {}
                @package_info = {}
+               @is_transferred = false
                if @dist_name == "BASE" then
                        @path = "#{@server.path}/projects/#{@name}"
                else
@@ -67,11 +68,17 @@ class CommonProject
        end
 
 
+    def set_transferred()
+        @is_transferred = true
+    end
+
+
        def is_transferred? 
-               return @name == "TRANSFERRED"
+               return @is_transferred
        end
 
 
+
        def set_source_info(info)
                @source_info = info
        end
index aab83f40abedd4c98aef3734ff4e1e674fa45900..720a93ce011f6c380830083938078c44219e23c6 100644 (file)
@@ -385,8 +385,11 @@ class ProjectManager
 
 
        # this project will not be saved on DB
-       def create_transferred_git_project(repos, dist_name, os)
-               return GitBuildProject.new(nil, @server, [os], dist_name, repos, "master")
+       def create_transferred_git_project(repos, dist_name, os, project_name, git_branch)
+               newPrj = GitBuildProject.new(project_name, @server, [os], dist_name, repos, git_branch)
+        newPrj.set_transferred()
+
+        return newPrj
        end
 
 
index a960a1ecfe81e02a0d67109707e96bdcf78ecaaa..90a5267719c9c711e8c8e48ad41bc2ef7e93ea22 100644 (file)
@@ -81,6 +81,8 @@ class RemoteBuilder
                options[:dock] = Utils.create_uniq_name()
                options[:save] = @job.is_rev_build_check_job() ? false : true
                options[:pkgsvr_url] = @job.server.distmgr.get_distribution(options[:dist]).pkgsvr_url
+        options[:project_name] = @job.get_project().name
+        options[:git_branch] = @job.get_project().branch
                ret = build( options )
 
                # reset job
@@ -199,6 +201,8 @@ class RemoteBuilder
                options[:async] = false
                options[:monitor_level] = Log::LV_NORMAL
                options[:pkgsvr_url] = nil
+        options[:project_name] = nil
+        options[:git_branch] = nil
 
                return options
        end
@@ -307,7 +311,8 @@ class RemoteBuilder
                                msg = "BUILD|GIT|#{options[:git_repos]}||#{options[:os]}|NO|"+
                                        "#{options[:noreverse] ? "YES" : "NO"}|#{options[:dist]}|"+
                                        "#{options[:user]}|NO|YES|#{options[:is_rev_build] ? "YES":"NO"}|"+
-                                       "#{commit}|#{pkg_list}|#{options[:dock]}|#{options[:pkgsvr_url]}"
+                                       "#{commit}|#{pkg_list}|#{options[:dock]}|#{options[:pkgsvr_url]}|"+
+                    "#{options[:project_name]}|#{options[:git_branch]}"
                        else
                                # format: BUILD|GIT|project_list|passwd|
                                #         os|async|
index 5a1644dd47d08fb0d68c60cceb8c08cb21b7e8a1..d6d0e1f9cf00d1639fc8270694e07ebd51d53baa 100644 (file)
@@ -205,7 +205,7 @@ class SocketJobRequestListener
 
                #          0  | 1 |     2      |  3   |  4    |  5  |     6    |    7    |   8      |   9   |   10   |    11   |  12  | 13 |   14
                # Case1. BUILD|GIT|project_name|passwd|os_list|async|no_reverse|dist_name|user_email|rebuild
-               # Case2. BUILD|GIT|git_repos   |      |os     |async|no_reverse|dist_name|user_email|rebuild|internal|rev_build|commit|pkgs|dock_num
+               # Case2. BUILD|GIT|git_repos   |      |os     |async|no_reverse|dist_name|user_email|rebuild|internal|rev_build|commit|pkgs|dock_num|pkgsvr_url|project_name|git_branch
 
                # parse
                project_name_list = tok[2].split(",")
@@ -222,6 +222,8 @@ class SocketJobRequestListener
                pkg_files = (not tok[13].nil? and not tok[13].empty?) ? tok[13].split(",") : []
                dock_num = (not tok[14].nil? and not tok[14].empty?) ? tok[14].strip : "0"
                pkgsvr_url = (not tok[15].nil? and not tok[15].empty?) ? tok[15].strip : nil
+               project_name = (not tok[16].nil? and not tok[16].empty?) ? tok[16].strip : nil
+               git_branch = (not tok[17].nil? and not tok[17].empty?) ? tok[17].strip : nil
                if (dist_name.nil? or dist_name.empty?) then
                        dist_name = @parent_server.distmgr.get_default_distribution_name()
                end
@@ -291,7 +293,7 @@ class SocketJobRequestListener
                        git_repos = project_name_list[0]
                        os = os_list[0]
 
-                       new_job = create_new_transferred_job(git_repos, os, git_commit, pkg_files, dock_num, dist_name, pkgsvr_url )
+                       new_job = create_new_transferred_job(git_repos, os, git_commit, pkg_files, dock_num, dist_name, pkgsvr_url, project_name, git_branch )
                        if new_job.nil? then
                                raise BuildServerException.new("ERR006"),"Transfered-Build job"
                        else
@@ -1007,8 +1009,8 @@ class SocketJobRequestListener
 
 
        private
-       def create_new_transferred_job( git_repos, os, git_commit, pkg_files, dock_num, dist_name, pkgsvr_url )
-               prj = @parent_server.prjmgr.create_transferred_git_project( git_repos, dist_name, os )
+       def create_new_transferred_job( git_repos, os, git_commit, pkg_files, dock_num, dist_name, pkgsvr_url, project_name, git_branch )
+               prj = @parent_server.prjmgr.create_transferred_git_project( git_repos, dist_name, os, project_name, git_branch )
                new_job = prj.create_new_job(os)
                new_job.set_package_server_url(pkgsvr_url)
                new_job.set_verified( true )
index 384b21bf80415745d7225d99e20bc9fa7d69df4e..1aec4dbf83a9b114b38b86df35983ce51f687776 100644 (file)
@@ -31,7 +31,7 @@ Info: Copying result files to
 Info:  *
 Info: Job is completed!
 Info: Job is FINISHED successfully!
-Info: Updating the source info for project "TRANSFERRED"
+Info: Updating the source info for project "testa"
 Info: Receiving file from remote server : a_0.0.1_ubuntu-32.zip
 Info: Checking reverse build dependency ...
 Info: Uploading ...
index 40c07a45e925e4ab0f2c966881092605420e5c43..721dee7dfff78f97a56025ee6e9c77181b533d34 100644 (file)
@@ -35,7 +35,7 @@ Info: Copying result files to
 Info:  *
 Info: Job is completed!
 Info: Job is FINISHED successfully!
-Info: Updating the source info for project "TRANSFERRED"
+Info: Updating the source info for project "testb"
 Info: Receiving file from remote server : b_0.0.1_ubuntu-32.zip
 Info: Checking reverse build dependency ...
 Info: Uploading ...