Hi,

On Mar 6, 2009, at 5:21 PM, Daniel Spiewak wrote:

Perhaps a quick-and-dirty script to edit the gemspec and increment the
version number? Or, actually what would be better is to have a script which would query Git and append the first 5 digits of the SHA1 revision. So, something like "1.3.4.f0210". This way GitHub isn't wiping out our gems with *every* push, but we can very easily specify that the next build should
take precedence.

I think this might not work because gem wouldn't be able to tell the order of the versions. If you have 1.3.4.f0210 installed, then you try to push a new gemspec for commit c420d, gem's comparison operators are going to think you already have the most recent version when you go to update.

Rhett

Alternatively, gemspec is actually a Ruby script, isn't it? The version itself could be computed based on the Git revision, though then we're back
to the "wiping out with every push".

Daniel

On Fri, Mar 6, 2009 at 4:57 PM, Assaf Arkin <[email protected]> wrote:

On Fri, Mar 6, 2009 at 12:05 PM, Daniel Spiewak <[email protected]>
wrote:

Well that's annoying! :-S I wonder if there is any way that I can force GitHub to delete its cache for Gem rebuilding. It's odd that deleting
the
project wasn't enough, but maybe there is some sort of timeout.


No timeout. Their, not so new, idea is to use gems.github.com the way we
use
rubyforge. So once you release a gem you don't want the next git push to overwrite it with new stuff or broken code. Github will forever build a
given gem version from a single git version.

Before they made that change I used it as a snapshot gem server, which was
pretty awesome, with rubyforge being the release gem server.


We could start using build numbers. If you push a new buildr.gemspec with version 1.3.4.1, github will build you a new gem, and you can upgrade your local installation just by running gem update. But we'll need to figure a
scheme that will work well when distributed.

Assaf





Daniel

On Thu, Mar 5, 2009 at 9:57 PM, Assaf Arkin <[email protected]> wrote:

On Thu, Mar 5, 2009 at 7:53 PM, Assaf Arkin <[email protected]> wrote:

On Thu, Mar 5, 2009 at 8:03 AM, Daniel Spiewak <[email protected]
wrote:

dan...@synapse:~$ sudo env JAVA_HOME=$JAVA_HOME gem install
djspiewak-buildr
Building native extensions.  This could take a while...
Successfully installed rjb-1.1.6
Successfully installed Antwrap-0.7.0
Successfully installed rspec-1.1.4
Successfully installed xml-simple-1.0.11
Successfully installed archive-tar-minitar-0.5.2
Successfully installed djspiewak-buildr-1.3.4
6 gems installed
Installing ri documentation for Antwrap-0.7.0...
Installing ri documentation for rspec-1.1.4...
Installing ri documentation for archive-tar-minitar-0.5.2...
Installing ri documentation for djspiewak-buildr-1.3.4...
File not found: lib
dan...@synapse:~$ buildr --help
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in
`gem_original_require': no such file to load -- buildr (LoadError)
  from
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in
`require'
  from
/usr/lib/ruby/gems/1.8/gems/djspiewak-buildr-1.3.4/bin/buildr:18
  from /usr/bin/buildr:19:in `load'
  from /usr/bin/buildr:19

This is completely fresh, no gems installed.
http://gems.github.comis
in
the sources.  OS: Ubuntu 8.10, Java 6u12


$ gem spec djspiewak-buildr -v 1.3.4 --source
http://gems.github.com-u
-r | grep date
date: 2009-02-13 00:00:00 -08:00

So whatever got fixed in buildr.gemspec won't show up in your build.
I
have:

$ gem spec assaf-buildr -v 1.3.4 --source http://gems.github.com -u
-r
|
grep date
date: 2008-10-27 00:00:00 -07:00

So my Gem still reads incubator.


Apparently Github will rebuild the ... exact same Gem they built last
time:



http://support.github.com/discussions/gems/32-updated-gemspec-but-gem-has-not-rebuilt

So you can keep pushing updates and it will keep e-mailing you that
your
gem
has been built and you'll keep loading the Feb 13th one, until we up to
1.3.5.

Assaf



Assaf



Daniel







Reply via email to