Front page | perl.perl5.porters |
Postings from July 2010
From: George Greer
July 26, 2010 16:18
Message ID: alpine.LFD.firstname.lastname@example.org
I finally got around to writing a wrapper for Test::Smoke that will look
for any smoke-me/* branches in the official perl git repository and smoke
them. Probably some day Test::Smoke should learn how to do this itself,
but in the meantime, enjoy the smoke signals.
How it works:
- It might not. If so I'll fix it. :)
- Winner is the oldest most recent commit on a branch that hasn't been
smoked. (In other words: who has the oldest branch tip?)
- E-mail is sent to email@example.com and the e-mail address of the
most recent committer on the branch, whether pass or fail. I also get a
Bcc: for QA purposes. If the committer doesn't have an e-mail address...
so sorry, but see below.
- Reports are (will be) available at
http://m-l.org/~perl/smoke/linux/smoke-me/Craig A. Berry/ (for example),
using the name of the most recent comitter to each branch. I considered
using the branch name but thought this may be easier for bookmarking
purposes. Feel free to evangelize.
- I'd like to have some way of specifying a "smoke set", like
"smoke-me/dual:fast" gets the "fast" configuration set while
"smoke-me/dual:g++" gets only a "g++" test set or "smoke-me/dual:thorough"
gets as many tests as possible. I haven't actually implemented that
though. Currently my smokes will get whatever I'm using for blead on my
Linux smoker at the time (~18 hour cycle).
- Only one 'smoke-me' branch will run at a time. There is no delay
between smokes when it is behind but it will sleep for one hour if it has
nothing yet to do.
- If my desktop's wireless decides to take a nap and my 5-minute cron job
doesn't kick it back awake fast enough, the smoke-me script will probably
die from a no-DNS error. I'll restart it whenever I'm
awake/home/paying-attention in that case.
- Currently, up-to-date is determined by comparing git's remote branch
head versus my smoker's git repository local tracking branch head.
Downside is that it has to advance the local head before it can do the
smoke so dying in the middle may prevent a smoke. I'll try to whack the
local branch if I notice this happen.
- My smoke-me script does "git remote prune" before every cycle so if you
change your mind you may be able to remove the branch before it gets
I'll release the script if there is interest, after I make it use
Test::Smoke's config hash rather than having a bunch of hard-coded 'my'
variables at the top.
by George Greer