Skip to content
tilboerner edited this page Mar 8, 2013 · 24 revisions

Information, resources and conventions concerning cherrymusic development

Build Status master
Build Status devel

Continuous Integration

[travis-ci] (http://about.travis-ci.org/docs/) tests certain branches after commits to github. .travis.yml contains the relevant configuration.
travis provides browser plugins to display project build status while browsing github. (for firefox, chrome and opera, currently.)
Add [ci skip] to the commit message to skip a CI build for a commit.

Release

Here's the recommended way to create a new release from the current devel branch.

  1. Set up a virtualenv.

     $ virtualenv release
     $ source release/bin/activate
     $ pip install cherrypy
     $ cd release
    
  2. Check out the current devel/HEAD.

     $ git clone --branch devel [email protected]:devsnd/cherrymusic.git
     $ cd cherrymusic
    
  3. Test.

     $ ./runtests
     $ python setup.py -q install
     $ cherrymusic
     $ firefox localhost:8080
    
  4. Fix.

     $ # ...
     $ git commit ...
     $ git push
    
  5. Bump the version.

    • cherrymusicserver/__init__.py
    • CHANGES
    • README.md
  6. Create the release commit.

     $ git status    # only the files above should have changed
     $ git diff      # if you wanna doublecheck
     $ git commit --all -m "version X.Y.Z"
    
  7. Push the release commit

     $ git push
    

    (If upstream has changes, revert them.)

  8. Tag the release commit.

     $ git tag -a -m "X.Y.Z"
    
  9. Bring master up to date.

     $ git checkout master
     $ git merge --ff-only "X.Y.Z"
    

    This should work as a commit-less fast forward merge, since master should be in the history of the tag.

  10. Push.

    $ git push --tags
    

Github RSS Feeds

Useful news feeds to keep up to date

Personal news

After logging in, the github home page shows your personal news feed. On the same page, there's a link to the RSS feed of this stream, currently towards the top right corner. In general, it takes the form of

https://github.com/$USER.private.atom?token=$APITOKEN

There seems to be now way to find out one's API token without finding this RSS link.

Branch commits

generally: https://github.com/$USER/$REPOSITORY/commits/$BRANCH.atom

With diff: http://github-rss.heroku.com/?feed=$FEEDURL

master: https://github.com/devsnd/cherrymusic/commits/master.atom

devel: https://github.com/devsnd/cherrymusic/commits/devel.atom

Since cherrymusic is a public repository, there's no need for authentication.

Wiki

Changes: https://github.com/devsnd/cherrymusic/wiki.atom

API

designing RESTful web services

links about working with git

just some ideas...

Clone this wiki locally