How-to: generate nightly builds from a SVN repository

As you might know, YOURLS development is now hosted on Github. It's now easy to download the current development snapshot, since Github provides an archive/master.zip.

But not so long ago, YOURLS dev was hosted on Google Code, where there is no such convenient way to download the current SVN trunk as a .zip archive. To generate "nightly builds", I wrote this little script:

  1. #!/bin/bash
  2. # Simple bash script to generate YOURLS nightly builds
  3.  
  4. # Export in a year-month-day directory
  5. PWD="/home/ozh/yourls.org/nightly-builds"
  6. BUILD=$(date +%Y-%m-%d)
  7. svn -q export http://yourls.googlecode.com/svn/trunk/ $PWD/$BUILD
  8.  
  9. # Make package and remove dir
  10. cd $PWD
  11. zip -r -q yourls-$BUILD.zip $BUILD
  12. rm -rf $BUILD
  13.  
  14. # Remove old (>7 days) builds
  15. find $PWD/*zip -mtime +7 -exec rm {} \;

Now you just need to add the script to your cron jobs and call it every night.