tilemill-project/tilemill-builder-osx

coordinate dev Sparkle updates

incanus opened this issue · 6 comments

We need to figure out if and by what system we would auto-update a dev Sparkle feed for testers. Currently this URL is defined in the first dev build of 0.7.0 I posted as http://mapbox.com/tilemill/platforms/osx/appcast-dev.xml, which doesn't exist yet.

While we might auto-upload nightly builds automatically, we probably don't want to push every one of these to Sparkle or that would be turbo-annoying.

Maybe something like tabs with a b in them, like 0.7.0b1?

/cc @willwhite

Feed gets updated in the build script now: 19650f2

Bringing over some previous discussion:

Outlining some details to start:

  • Setup a second target in the Xcode project for dev builds.
  • Tag dev builds like v0.7.0b1.
  • Dev target will pay attention only to b1-style tags and include them in the about box.
  • Dev target will use alternate Sparkle feed in Info.plist.
  • On stable releases, add them to the dev Sparkle feed as well. Dev feed will recognize that they are stable and clearly mark them as "release".

I'd like to avoid tagging dev builds for now. Instead we can just use the output of git describe --tags to decide if we are between tags and thus working on a dev version.

Ok, so how do we decide what to push to dev Sparkle then? Couple ideas:

  • Automatically on, say, Wednesday, push the latest master build.
  • Start a new branch for dev releases and update Sparkle whenever that is pushed to. Danger could be multiple quick releases if someone forgets this, though.
  • Manually update Sparkle with a build hash, perhaps with an easy script. e.g. make sparkle c8cba5 && git commit -a -m 'push dev release' && git push

Latest thinking from #mapbox:

incanus77: another way might be a text file where we add a line to the top
incanus77: even scripted
incanus77: something like "###### 0.7.1 <sig> <date>
springmeyer joined the chat room.
incanus77: commit hash, version we are working towards, sig for that hash build, date
incanus77: that triggers a jekyll rebuild of dev appcast
willwhite: that sounds fine to start
willwhite: a separate yaml file
ericg left the chat room. (Quit: Leaving.)
mattgreene left the chat room. (Quit: Leaving.)
incanus77: yeah that's sounding good

This is done for now as a dev flag in the tilemill changelog.