Opened 5 years ago

Last modified 5 years ago

#3367 new defect

TimedScheduler ignoring repository and project.

Reported by: rrlucca Owned by:
Priority: major Milestone: undecided
Version: 0.8.12 Keywords:
Cc:

Description (last modified by sa2ajj)

Hi there,

Since I upgrade to 0.8.12 from 0.8.5, my TimedScheduler is failling. It appears that it is getting the lastest change that the buildslave worked and not the lastest from the repository configured.

An example for clarification:

  • Developer 1, push something to branch 'integration'. It runs fine;
  • Revisor 1, merge in branch 'integration' something else. It runs fine;
  • Developer 2, push something to branch 'integration'. It runs fine.
  • At midnight, the timed scheduler runs because the change of the Revisor 1 and fails! It fails because the revision that the update step get was the commit id from Developer 2 in his private repository and not the main repository.

Is possible I help with extra information?

Change History (6)

comment:1 Changed 5 years ago by rrlucca

  • Type changed from undecided to defect

comment:2 Changed 5 years ago by sa2ajj

  • Description modified (diff)

I'd be nice if you could provide a snippet of your config for TimedScheduler.

comment:3 Changed 5 years ago by sa2ajj

BTW, according to the documentation, Timed is not supposed to be used directly.

comment:4 Changed 5 years ago by rrlucca

I'm proving a snippet from my master.cfg. This is a incomplete code. Every developer has his project name (git<name><lastname>) and git repository is associate with a SingleBranchScheduler that will run on 'torvalds' if something change on 'integration' branch.

from buildbot.schedulers import timed

cfilter=filter.ChangeFilter(
   project="gitricardolucca",
   branch="integration"
   )
c['schedulers'].append(
   SingleBranchScheduler(name="rauco-next",
       change_filter=cfilter,
       treeStableTimer=120,
       builderNames=["torvalds"]
       )
   )

c['schedulers'].append(
   timed.Nightly(
         name="rauco_nightly",
         branch="master",
         builderNames=["torvalds"],
         # day - 0 monday, ..., 6 sunday
         dayOfWeek=6,
         hour=1,
         minute=22,
         onlyIfChanged=True
         )
   )
Last edited 5 years ago by sa2ajj (previous) (diff)

comment:5 Changed 5 years ago by sa2ajj

Thanks for the information.

What is not exactly clear to me is whether each developer has own repository. In case they, I am afraid you'd need to use codebases, otherwise those repositories are indistinguishable from Nightly scheduler point of view.

I'll have a deeper look at the code though.

comment:6 Changed 5 years ago by rrlucca

No no, the nightly scheduler run in a separated repository that is the main trunk and it's only one. The SingleBranchScheduler? that is repeated to each developer. I think the problem is that because the builder is the same, when I updated the main trunk the builder runs fine. After, someone updated the his 'integration' branch and it runs fine too. Finally, when the Nightly scheduler trigger the build on sunday it'll get the changeset more recent that is not correct because it is not the main trunk is a developer trunk.

Last edited 5 years ago by rrlucca (previous) (diff)
Note: See TracTickets for help on using tickets.