Continuous Integration Status

17 views
Skip to first unread message

Martin Stannard

unread,
Jan 2, 2012, 11:05:30 PM1/2/12
to ProjectSprouts
Hi,

I tried to reply to the post at
http://groups.google.com/group/projectsprouts/browse_thread/thread/686d09b2f556598b/c5b51d42e9790941?hl=en&lnk=gst&q=Continuous#c5b51d42e9790941
by Luke re: Continuous Integration but apparently you can't reply to
messages over 60 days old in Groups, so I've started a new thread.

We've been using Sprouts for nearly a year now and have found it
really useful. To give our tests a higher visibility we'd love to get
our swfs tested via Continuous Integration. I see there's a CI branch
in the repo, based off the 0.7 release. We had a play with it late
last year but weren't able to get a successful failure on Jenkins
running on our Mac Mini.

Has anyone had any success getting CI up and running for Sprouts swfs?
Are there any plans to merge the CI branch into master and continue
work on it?

thanks,

Martin Stannard

http://readingeggs.com

Luke Bayes

unread,
Jan 5, 2012, 7:12:10 PM1/5/12
to project...@googlegroups.com
Hey Martin,

I've been getting pulled in different directions quite a lot lately and haven't made time to take this on.

If I remember correctly, I do have a local branch around here somewhere that was close - but not quite there, in getting CI support on master. I'll take a look and see if I can push that to the remote and get back to you when I do.

It would be great if someone wanted to take this on and get it fully working.

Thanks,

Luke



--
You received this message because you are subscribed to the Google Groups "ProjectSprouts" group.
To post to this group, send email to project...@googlegroups.com
To unsubscribe from this group, send email to projectsprout...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/projectsprouts?hl=en

For other info you can visit our project at: http://projectsprouts.org, or on Github at: http://github.com/lukebayes/project-sprouts

Martin Stannard

unread,
Jan 5, 2012, 8:25:24 PM1/5/12
to project...@googlegroups.com
Hi Luke,

That'd be great - we'd be willing to take a look at what you've got
and contribute if possible. Any guidance you can give as to what needs
work would be helpful.

regards,

Martin

David Linse

unread,
Jan 6, 2012, 4:44:31 PM1/6/12
to project...@googlegroups.com
i've tried it as well ..
my main issue was the the spawned debug-player instance was not closed
after compiling and running the tests.
i even experimented with 'headless' stuff but no success.

at least i've found a solution to compile multiple swfs in sequence
without the need to manually close the player or "ctrl+c"-ing in the
terminal.

here's what i did:
- cloned, build and installed the "CI branch"
- added a "XMLPrinter"

you can also replace the 'TextCore' with 'AsUnitCore' and add a
XMLPrinter instance to get rid of the 'text print' ..

this setup in combination with the 'CI branch' runs the swf file with
the 'FlexDebugger' and and closes the player
after the test run finished.

hope that helps..
// david

> --
> You received this message because you are subscribed to the Google Groups "ProjectSprouts" group.
> To post to this group, send email to project...@googlegroups.com
> To unsubscribe from this group, send email to projectsprout...@googlegroups.com
> For more options, visit this group at http://groups.google.com/group/projectsprouts?hl=en
>
> For other info you can visit our project at: http://projectsprouts.org, or on Github at: http://github.com/lukebayes/project-sprouts

--
--------------------------------------------------
David Linse
-- freelancing web-developer (retired) --

Jessnerstr. 47
10247 Berlin

phone:    +49 (0) 30 85 71 83 97
mobile:    +49 (0) 179 79 54 469
e-mail:    david...@8ball-media.de
web:        http://8ball-media.de

___
Heute schon was Gutes getan? - www.welpennothilfe.de

Moses Gunesch

unread,
Mar 26, 2012, 4:47:09 PM3/26/12
to project...@googlegroups.com
We're finally getting back around to this need as well.

Anyone have any further status updates on CI & Sprouts?

Thanks,
Moses

Tyler Larson

unread,
Mar 26, 2012, 5:19:35 PM3/26/12
to project...@googlegroups.com

Hey Moses, how's it going?

You can do all of this with Jenkins http://jenkins-ci.org/


Checkout this docs page

https://wiki.jenkins-ci.org/display/JENKINS/Building+a+software+project


You can set it up a million different ways, we have it all hooked into a larger system that manages a few other things but at base it it just watching git commits. 

We compile, test and deploy our ActionScript, JavaScript and Ruby projects with Jenkins and use Sprouts to do the ActionScript part of it.


P.S. I have to add that I work at paperlesspost.com and we are looking to hire like crazy if you are into this stuff we have lots of cool stuff we are working on.

Luke Bayes

unread,
Mar 26, 2012, 7:29:44 PM3/26/12
to project...@googlegroups.com
Hey Tyler,

Thanks for posting info here!

Are you using the 1.0.x.pre version of Sprouts? Or the 0.7.x version?

The problem (as I last remember it), was that the 1.0.x.pre versions don't properly connect fdb to the running player, and then fail to close the running player after tests have finished running.

Admittedly, it's been a long time since I dug into that code, but I'm pretty sure that's where I left it.

The 0.7.x release worked just fine with any CI environment that had a running window manager (X11 for *nix works fine). Most sys-admins don't automatically spin up a window manager for their CI box, since they're historically used to build and non-visual test server code.

I think this thread was mostly about trying to be 1.0.x.pre up to speed with that support and I've basically dropped the ball on it.

While I'm deeply ashamed for dropping the ball, I am also open to pull requests....

:-)


Thanks,

Luke

--

Moses Gunesch

unread,
Mar 28, 2012, 11:27:21 AM3/28/12
to project...@googlegroups.com
Thanks for the replies – Tyler are you using Sprouts 1.0 to compile and run tests on Jenkins? Or as Luke is suggesting are you using the older version? We definitely need to use 1.0...

The stumbling blocks for us so far have been that Sprouts doesn't seem to have an SDK selector, which is pretty huge since we have to publish to Flash 10.1, then this CI issue about automating the startup and shut-down of a headless player. But, if we could just get to the point where we could compile builds on Jenkins (using our preferred Flex SDK), that'd be progress, and that might not require the player bit. We can get unit tests working later.

So the immediate question is, is this easily doable:
  • install the flash_sdk gem on the Jenkins box
  • set it to use the Flex SDK of our choice (flex_sdk_4.1.0.16076A)
  • automate our main build task
?

Luke Bayes

unread,
Mar 28, 2012, 2:04:15 PM3/28/12
to project...@googlegroups.com
Hey Moses,

My hope with Sprouts 1.x, was that one would select the appropriate SDK version by updating your Gemfile to load the appropriately packaged flashsdk gem. Unfortunately, it's exceedingly difficult to figure out which Gem version correlates to which SDK version. The problem is compounded because a particular Flash Player version is also bundled with those gems.

Fortunately, there are few simple ways to specify a different set of SDK SWC files.

1) Manually download the SDK you want, and put their SWCs into your project and add them to your tasks library_path parameters.

2) I'm pretty sure there's a way to set an environment variable in the shell to override the SDK location on disk, but I'm not in front of the right computer to verify this at the moment. If this is true, the environment variable would most likely be:

FLEX4

or

SPROUT_FLEX4

You should be able to check your project into version control and have Jenkins pull from version control, run your rake task and report on success/failure. That functionality is pretty standard for any CI environment and at that point, we're not doing anything especially different. The main idea, is that you probably want to run the Rake task manually - under the account that runs your Jenkins instance - before Jenkins does, so that you can ensure everything installs correctly.

Let us know if that works or if you have any other questions getting to that point.


Thanks,

Luke

mosesoak

unread,
Mar 29, 2012, 11:39:20 AM3/29/12
to ProjectSprouts
Okay we'll give it a whirl, thanks Luke
> >    - install the flash_sdk gem on the Jenkins box
> >    - set it to use the Flex SDK of our choice (flex_sdk_4.1.0.16076A)
> >    - automate our main build task
>
> > ?
>
> > On Mon, Mar 26, 2012 at 4:29 PM, Luke Bayes <lba...@google.com> wrote:
>
> >> Hey Tyler,
>
> >> Thanks for posting info here!
>
> >> Are you using the 1.0.x.pre version of Sprouts? Or the 0.7.x version?
>
> >> The problem (as I last remember it), was that the 1.0.x.pre versions
> >> don't properly connect fdb to the running player, and then fail to close
> >> the running player after tests have finished running.
>
> >> Admittedly, it's been a long time since I dug into that code, but I'm
> >> pretty sure that's where I left it.
>
> >> The 0.7.x release worked just fine with any CI environment that had a
> >> running window manager (X11 for *nix works fine). Most sys-admins don't
> >> automatically spin up a window manager for their CI box, since they're
> >> historically used to build and non-visual test server code.
>
> >> I think this thread was mostly about trying to be 1.0.x.pre up to speed
> >> with that support and I've basically dropped the ball on it.
>
> >> While I'm deeply ashamed for dropping the ball, I am also open to pull
> >> requests....
>
> >> :-)
>
> >> Thanks,
>
> >> Luke
>
> >> On Mon, Mar 26, 2012 at 2:19 PM, Tyler Larson <tallty...@gmail.com>wrote:
>
> >>> Hey Moses, how's it going?
>
> >>> You can do all of this with Jenkinshttp://jenkins-ci.org/

Tyler Larson

unread,
Mar 29, 2012, 11:53:47 AM3/29/12
to project...@googlegroups.com

We are using 1 but we rap all of our sprout calls in other ruby processes. The ADL that is started to run the tests outputs info to a log that is watched but the Ruby process and when everything is done it kills the ADL instance. The processes flow is all managed in ruby scripts outside of sprouts, sprouts is mainly used as a way to compile and talk to the mxmlc in our setup.
-Tyler
Reply all
Reply to author
Forward
0 new messages