svn.gnome.org commit notification hooks and Git



I'm trying to sort out notification hooks for svn.gnome.org prior to the
migration to git. If you are receiving the mail, I think you might knows
something about one of the existing mail hooks. Please read this or your
website update may stop working.

My proposal
============

Every module can configure one or more email addresses to receive
notification of branch updates. These mails will have the subject line:

 GNOME_GIT $MODULENAME $BRANCH1 $BRANCH2 ...

The body of the mail will be ref updates in standard git format:

$OLDREV $NEWREV refs/heads/$BRANCH

Either $OLDREV or $NEWREV may be the nil revision
0000000000000000000000000000000000000000 to indicate a branch creation
or deletion. Only branch updates will appear - tags and other refs
will be omitted.

(I don't think the body is needed for anything anybody is doing
currently, but it's there in case you care.)

I'll prime the list of configured recipients from the email addresses
currently getting notification (detailed below). These mails will also
be sent to gnomeweb progress gnome org for all modules.

Current hook details
====================

All Modules
        post-commit-mail-progress.awk $REPOS $REV

    Sends a mail to gnomeweb progress gnome org with a subject of

      POCOMMIT $MODULE [trunk|$BRANCH]

    if a commit changes multiple branches, then the branch is ommitted. The subject is
    duplicated as single line in the body. There is committed out code to only send
    mails for changes to po/, with the comment "danilo said damned-lies needs to regenerate
    a POT file and so it needs to see string changes  easiest is to just send every commit
    msg to progress"

    This is handled by the procmail rule:

        :0 bi
        * ^Subject:.*POCOMMIT.\/[-+a-z0-9A-Z_ ]+
        | cd /var/www/djamnedlies && /usr/bin/python /var/www/djamnedlies/manage.py update-stats $MATCH

    update-stats does not read stdin.

art-web foundation-web glade-web gnome-devel-docs gnome-docu gnome-user-docs gnomebr-web
    gnomefr-web gnomeweb-wml guadec-web gw-web library-web memprof-web planet-web
    porting-doc pygtk-web usability-web wallpaper-web web-devel-2
	echo $REPOS $REV | mail -s "UPDATE $MODULE" gnomeweb www gnome org

  These are handled by the procmail rule:

        :0 b
        * ^Subject.*UPDATE.\/[-a-z0-9A-Z_]+
        | /home/admin/bin/gnomeweb/set_buildflag.py -m $MATCH

  set_buildflag.py (in this usage) doesn't do anything interesting with the contents
  of stdin. It just writes the line to a file for debugging purposes.

svn-web viewcvs-web
	echo $REPOS $REV | mail -s "UPDATE $MODULE" gnomeweb svn gnome org

  Same as above but on svn.gnome.org

mail-web
	echo $REPOS $REV | mail -s "UPDATE $MODULE" gnomeweb mail gnome org

  Same as above but on mail.gnome.org

release-notes
	/svn/bin/post-commit-mail-libgo-tarball.awk $REPOS $REV

  Sends a mail with the subject "BRANCH $MODULE" to gnomeweb www gnome org  The
  contents are a series of lines containing a branch name (or "trunk") per line,
  followed by a line with "$REPOS $REV". This is handled by the procmail rule.

        :0 b
        * ^Subject.*BRANCH.\/[-a-z0-9A-Z_]+
        | /home/admin/bin/gnomeweb/set_buildflag.py -b -m $MATCH

  setbuildflag.py reads the branchnames from stdin and more or less ignores
  the trailing $REPOS $REV.

damned-lies
	echo $REPOS $REV | mail -s "UPDATE damned-lies" gnomeweb progress gnome org

  Used to go to set_buildflag.py but commented out

torrent-web
	echo "$REPOS $REV" | mail -s "UPDATE torrent-web" gnomeweb [140 211 167 166]
	- Why the IP address rather than a hostname?
		$ host 140.211.167.166
		166.167.211.140.in-addr.arpa domain name pointer gnometorrents.osuosl.org.

  Seems to probably bounce - there is no gnomeweb user on this machine and no mail
  alias.

gimp-web gegl-web
	echo $REPOS $REV | mail -s "UPDATE $MODULE" geglweb mmmaybe gimp org

gimp-web-devel
	echo $REPOS $REV | mail -s "UPDATE gimp-web-devel" rss gimp org

gnome-db-web
	echo $REPOS $REV | mail -s "UPDATE gnome-db-web" gnomedb gollum gnome-db org

   I think www.gnome-db.org is now a wiki hosted on label.gnome.org; is this module
   now unused?

gtk-web
	echo $REPOS $REV | mail -s "gtk-web commit <secret key>" timj gtk org

  I think it's really up to the recipient to script things so that someone can't 
  create a horrible DOS by sending malicious mails. (Simply causing a continual
  rebuild doesn't sound very fun.) If needed, though, we can just configure 
  timj+<secret_key>@gtk.org as the recipient. ("secret" ... the git configuration
  won't be protected by any strong measures, though it should be moderately
  hard to get to.)




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]