Ticket #953 (closed defect: worksforme)

Opened 3 years ago

Last modified 8 months ago

Bad interaction between (contrib) darcs_buildbot.py and buildmaster >= 0.7.12.

Reported by: mornfall Owned by:
Priority: major Milestone: 0.8.+
Version: 0.7.12 Keywords: darcs
Cc:

Description

It seems that since 0.7.12 or so (I only tried 0.7.8, 0.7.12 and 0.8.1) the buildmaster, when using darcs for source control, sends a patch hash instead of a context file, when using the Darcs step to check out sources. This confuses the buildslave into passing the hash as if it was a context to darcs, which fails with "darcs: Bad context".

This only happens in doVCSFull.

I am attaching a non-backward-compatible fix for the buildslave (patch against 0.7.12). To do this in a backward-compatible fashion, one option would be to look at how the version ID looks at the buildslave and decide if it's a hash or a context. Another may be to find out what the master is using and decide based on that. However I don't know anything about python nor buildbot internals, so either may as well be beyond me.

Attachments

bot.diff Download (1.1 KB) - added by mornfall 3 years ago.

Change History

Changed 3 years ago by mornfall

comment:1 Changed 3 years ago by dustin

  • Keywords darcs added
  • Priority changed from major to blocker
  • Milestone changed from undecided to 0.8.2

comment:2 Changed 3 years ago by mornfall

  • Priority changed from blocker to major
  • Summary changed from Checking out source from darcs is broken with (at least) master >= 0.7.12. to Checking out source from darcs is broken with (at lesat) master = 0.7.12.
  • Version changed from 0.8.1 to 0.7.12
  • Milestone changed from 0.8.2 to undecided

I am taking this back. It seems the master behaviour was flipped again somewhere after 0.7.12 -- with a 0.8.1 master, things are back to normal (and broken with the above patch). It may still be worth a fix on the slave end (so that things work even with 0.7.12 master) but far less important I guess. I'll report back if I run into further problems.

(I can't say for sure that this is not a problem in 0.8.1 -- the problem is not happening on a different buildbot on a different project, so I am assuming that 0.8.1 works and the problem with 0.8.1 was a glitch in my testing.)

comment:3 Changed 3 years ago by mornfall

  • Summary changed from Checking out source from darcs is broken with (at lesat) master = 0.7.12. to Bad interaction between (contrib) darcs_buildbot.py and buildmaster >= 0.7.12.

Ok, it turns out this is a problem with all versions of buildmaster above 0.7.12, but it is only triggered when using old darcs_buildbot.py from contrib (0.7.8, presumably). I don't know what the right fix is here...

comment:4 Changed 3 years ago by zooko

Add doc warning people to upgrade their darcs_buildbot.py?

comment:5 Changed 3 years ago by dustin

Hey, Zooko - thanks for chiming in. So if I understand correctly: darcs_buildbot.py and the buildbot step code both changed to use hashes in 0.7.12?

comment:6 Changed 3 years ago by dustin

By the way, I added DarcsProject to track Darcs-related bugs.

comment:7 Changed 2 years ago by dustin

  • Milestone changed from undecided to 0.8.+

still need more input..

comment:8 Changed 2 years ago by zooko

dustin: I *think* that both darcs_buildbot.py and the buildbot step code both changed to use hashes in 0.7.12. I don't remember for certain, and it doesn't seem easy to peruse history that old through github:  https://github.com/buildbot/buildbot

comment:9 Changed 8 months ago by tom.prince

  • Status changed from new to closed
  • Resolution set to worksforme

Closing this, as it appears that the only issue is that darcs_buildbot.py isn't compatible across versions. We don't guarantee that contrib scripts (or any clients) are compatible across arbitrary version.

Note: See TracTickets for help on using tickets.