Ticket #941 (closed defect: fixed)

Opened 6 weeks ago

Last modified 3 weeks ago

sendchange sets revision='None'

Reported by: bsavelev Owned by:
Priority: major Milestone: 0.8.2
Version: 0.8.1 Keywords:
Cc: boris.savelev@…

Description

each builder have scheduler with fake ImportantFiles? that equal name of builder

for 0.8.1 it look like that: {{{ cschedulers?.append(buildbot.schedulers.basic.AnyBranchScheduler?(

name = 'cron_' + builder.fullname(), builderNames = (builder.fullname(),), treeStableTimer = 60, branches = None, properties = {'forgetsource': 'yes'}, fileIsImportant = lambda c, builder = "cron_%s" % builder.fullname(): builder in c.files

))

}}} when I send change, for example,

buildbot sendchange --username 'test' --master buildbot.i.drweb.ru:9989 --comments 'test' cron_drweb-common_6.0.0_drweb_solaris_all

build fail on git step with log:

...skip...
 argv: ['/opt/csw/bin/git', 'reset', '--hard', 'None']
 environment:
  CVS_RSH=ssh
  DOMAIN_USER=a.nikolov
  LC_COLLATE=ru_RU.UTF-8
  LC_CTYPE=ru_RU.UTF-8
  LC_MESSAGES=C
  LC_MONETARY=ru_RU.UTF-8
  LC_NUMERIC=ru_RU.UTF-8
  LC_TIME=ru_RU.UTF-8
  PATH=/opt/csw/bin:/opt/csw/gcc4/bin:/usr/xpg4/bin:/usr/local/bin:/usr/openwin/bin:/usr/sfw/bin:/usr/sbin:/usr/bin:/usr/ucb:/usr/ccs/bin
  PWD=/srv/slaves/al/solaris10-gcc44/BUILDDIR-drweb-common_6.0.0_drweb_solaris_all/build
  TZ=Europe/Moscow
  _INIT_PREV_LEVEL=S
  _INIT_RUN_LEVEL=3
  _INIT_RUN_NPREV=0
  _INIT_UTS_ISA=i386
  _INIT_UTS_MACHINE=i86pc
  _INIT_UTS_NODENAME=solaris10
  _INIT_UTS_PLATFORM=i86pc
  _INIT_UTS_RELEASE=5.10
  _INIT_UTS_SYSNAME=SunOS
  _INIT_UTS_VERSION=Generic_139556-08
  _INIT_ZONENAME=solaris10
 closing stdin
 using PTY: False
fatal: ambiguous argument 'None': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions

so, I see that '/opt/csw/bin/git reset --hard None' is wrong In forced build it was '/opt/csw/bin/git reset --hard FETCH_HEAD'

I can't understand what is different from 'force build' and 'build form scheduler'

Change History

in reply to: ↑ description   Changed 6 weeks ago by bsavelev

buildbot have several builders with Git step:

factory.addStep(buildbot.steps.source.Git(                                                                                              
      timeout       = 3600,                                                                                                                 
      repourl       = builder.branch or 'git://url/repo.git',                               
      branch        = builder.release.fullname(),                                                                                           
      haltOnFailure = True                                                                                                                  
    ))  

when I click button 'Force build' all is ok.

each builder have scheduler with fake ImportantFiles? that equal name of builder

for 0.8.1 it look like that:

c['schedulers'].append(buildbot.schedulers.basic.AnyBranchScheduler(                                                                      
    name = 'cron_' + builder.fullname(),                                                                                                    
    builderNames = (builder.fullname(),),                                                                                                   
    treeStableTimer = 60,                                                                                                                   
    branches = None,                                                                                                                        
    properties = {'forgetsource': 'yes'},                                                                                                   
    fileIsImportant = lambda c, builder = "cron_%s" % builder.fullname(): builder in c.files                                                
  ))

  Changed 5 weeks ago by dustin

  • keywords git added
  • milestone changed from undecided to 0.8.2

What is the revision of the SourceStamp? that it's trying to build? None? Perhaps 'None'?

  Changed 5 weeks ago by bsavelev

  • cc boris.savelev@… added

yes, after build fail via scheduler build properties are: Build Properties:

Name Value Source
branch None Build
buildername drweb-common_6.0.0_drweb_solaris_all Builder
buildnumber 11 Build
forgetsource yes Scheduler
project Build
repository Build
revision None Build
scheduler cron_drweb-common_6.0.0_drweb_solaris_all Scheduler
slavename solaris10-gcc44 BuildSlave
uniquebuildnumber 1007281800 Step

build properies after succes build via 'force button'

Name Value Source
branch None Build
buildername drweb-common_6.0.0_drweb_solaris_all Builder
buildnumber 7 Build
forgetsource yes Force Build Form
got_revision 50e95bff249248ea61e07beb1da1f634f9fc41c1 Source
project Build
repository Build
revision None Source
slavename solaris10-gcc44 BuildSlave
uniquebuildnumber 1007281513 Step
warnings-count 0 WarningCountingShellCommand?

  Changed 5 weeks ago by dustin

  • keywords git removed
  • summary changed from Loose branch in builder with AnyBranchScheduler to sendchange sets revision='None'

Ah, I think that the problem is that sendchange is sending revision='None', while the force build is correctly setting revision=None.

  Changed 4 weeks ago by bsavelev

  • status changed from new to closed
  • resolution set to fixed

  Changed 3 weeks ago by dustin

Really? That's a change to the gitpoller, and as such doesn't affect forced builds *or* sendchange..

Note: See TracTickets for help on using tickets.