Script

On Feb 16, 2017 11:14 PM, "Warren Young" <[email protected]> wrote:

> On Feb 16, 2017, at 6:39 PM, Zoltán Kócsi <[email protected]> wrote:
> >
> > The itch I want to scratch is what I described: automated generation of
> > binaries and documentation on the server at certain points in time.
>
> See attached existence proof. :)
>
> It’s not exactly Jenkins, but whadda ya want for a shell script hacked
> together in a couple of hours?
>
> Notes for adapting this to your unique purposes:
>
> 1. Adjust the variables at the top of the file to suit:
>
> 1a. checkouts: where you keep the Fossil checkouts corresponding to the
> RSS events we’ll be parsing.
>
> 1b. repo: HTTP URL of the server that will produce the RSS feed.  Give it
> everything short of the “/timeline.rss…” bits.  It builds and appends the
> rest.
>
> 1c. user & pass: user name and password of a user with permission to
> retrieve the RSS feed.  As the script says, this user needs at least
> “checkout” privilege, since for no clear reason that’s the permission used
> for pulling the full RSS feed.  If you expand this script to do fresh
> clones and such, the user will need those privs as well.  I do recommend
> using a low-privilege special user with an impossible to guess random
> password for this.
>
> 2. Modify the list in the “for tag in...” loop to include the tags you
> want it to monitor.
>
> 3. It doesn’t try to cope with the possibility that multiple events have
> occurred since the last time it looked.  It will only do the first event
> matching the tag.  If you can check two releases in that both need a
> rebuild in the time it takes one build to complete, you’ll need to change
> the n=1 bit and make it smart enough to iterate through the set of matches
> returned by timeline.rss.  This should be straightforward.
>
> 4. It purposely doesn’t remove the ~/.builder/$tag.event file on build
> failure, since I don’t want a failed build to be retried until another
> build comes along and fixes it.  But, you might want to do something more
> intelligent here than just scream-and-die.
>
> 5. You’ll need xmllint from the libxml2 project installed on your system
> to parse the retrieved RSS feed.
>
> 6. You’ll need to adjust the <title> tag parser to extract the bits you
> care about.  The script as shown expects the checkin comment format we use
> here for our “make release” process.
>
> 7. You’ll probably have to adjust the core “make rpm” command, unless by
> some odd chance that’s how you build your packages, too.
>
> More complex needs should be straightforward to add, given this as your
> shell. For instance, here we have sub-projects underneath each monitored
> tag, so we need to figure out which sub-project to build, which modifies
> the generation of cdir and other things.
>
>
>
> _______________________________________________
> fossil-users mailing list
> [email protected]
> http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
>
>
_______________________________________________
fossil-users mailing list
[email protected]
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to