Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

cbrooks (3267)

cbrooks
  (email not shown publicly)

Journal of cbrooks (3267)

Wednesday August 28, 2002
10:44 AM

Perl and Daily Builds

[ #7367 ]
I've been reading a few articles on integrating daily builds into the software development process:

It sounds like many folks see substantial benefits, especially on teams.

So, I was wondering what a nightly build process might look like to a team using Perl.
Here are a few thoughts:

  • Do a complete checkout from cvs of html pages and scripts
  • Run a link checker for static html pages
  • Run all unit tests
  • Run all regression tests
  • Any errors break the build
  • tar / gzip everything, and save with a datestamp / build number

The nightly build then becomes the tool for syncing the staging and production servers, rather than using cvs update to sync the servers. The benefit of this is that you can cvs commit files that are not 100% functional / stable, and not worry that they will be released into production on a nightly update, while still maintaining a record of each night's build and smoke test.

Is anyone working on a Perl project and doing nightly builds? Do you find it useful?

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • We use Test::Harness and its supporting tools to test everything. The initiation of the test isn't automatic, but everything else is.

    We have a script called smoke that

    • Runs *.t files
    • Runs *.phpt files, which are PHP versions of *.t files for PHP libraries, and that emits the same style output
    • Syntax checks all *.pl, *.pm and *.php files

    All this is done by creating my own subclass of Test::Harness::Straps which can handle all those other non-*.t files.

    Also, some of the test files are meta-test files

    --

    --
    xoa

    • Cool stuff. What I'm trying to sort out for myself is if there are additional benefits to be found from doing a build on a nightly basis. That is, doing a cvs checkout into a fresh directory, firing up an Apache process which points to that directory, running the automated tests, then (assuming everything passes) tar'ing up the directory and storing it away.

      The tests that you are doing seem to capture a lot of the benefits of a nightly build:
      • Syntax checking of all of your scripts is the equivalen