Allow Travis to publish to rubygems.org #543

Closed
tigrish opened this Issue May 18, 2012 · 6 comments

Comments

Projects
None yet
4 participants
@tigrish

tigrish commented May 18, 2012

Trying to improve my workflow on a couple of projects with continuous deployment.

Specifically, translation projects often have tiny commits (sometimes literally 1 character change), so version bumping, building and packaging a new gem is at least 2 commands that I can do without running every friggin' time. A push to Github is already enough work as it is :)

I can specify an after_script that will bump and release for me but I would need a couple of things for user credentials to work properly :

  1. For Travis to have a rubygems.org account and to make its email address publicly known.
  2. For the build servers to include a ~/.gem/credentials file with the account's rubygems api key.

With this, I could run something like

gem owner my_project -a gem_publisher@travisci.org

and have Travis publish my gems directly, yay!

@sarahhodne

This comment has been minimized.

Show comment Hide comment
@sarahhodne

sarahhodne May 18, 2012

Contributor

What if I do cat ~/.gem/credentials as my test script? Oops.

Neat idea, but I think we need to think about the security behind this first.

Contributor

sarahhodne commented May 18, 2012

What if I do cat ~/.gem/credentials as my test script? Oops.

Neat idea, but I think we need to think about the security behind this first.

@joshk

This comment has been minimized.

Show comment Hide comment
@joshk

joshk May 18, 2012

Member

Hi Chris,

Actually we are looking into how to achieve this in a more generic manor so you can use your own rubygems account.

There should be a PR in travis-core for secure env vars. (cc/@laserlemon)

Hopefully this should become a reality in the next month, although there is one issue, not having each matrix item run the rubygems upload.

I think what we need is a simple build pipeline approach where you can specify a number of tasks to run after all builds succeed.

hmmmmm, might need to think about this.

Josh

On 18/05/2012, at 2:08 PM, Christopher Dell wrote:

Trying to improve my workflow on a couple of projects with continuous deployment.

Specifically, translation projects often have tiny commits (sometimes literally 1 character change), so version bumping, building and packaging a new gem is at least 2 commands that I can do without running every friggin' time. A push to Github is already enough work as it is :)

I can specify an after_script that will bump and release for me but I would need a couple of things for user credentials to work properly :

  1. For Travis to have a rubygems.org account and to make its email address publicly known.
  2. For the build servers to include a ~/.gem/credentials file with the account's rubygems api key.

With this, I could run something like

gem owner my_project -a gem_publisher@travisci.org

and have Travis publish my gems directly, yay!


Reply to this email directly or view it on GitHub:
#543

Member

joshk commented May 18, 2012

Hi Chris,

Actually we are looking into how to achieve this in a more generic manor so you can use your own rubygems account.

There should be a PR in travis-core for secure env vars. (cc/@laserlemon)

Hopefully this should become a reality in the next month, although there is one issue, not having each matrix item run the rubygems upload.

I think what we need is a simple build pipeline approach where you can specify a number of tasks to run after all builds succeed.

hmmmmm, might need to think about this.

Josh

On 18/05/2012, at 2:08 PM, Christopher Dell wrote:

Trying to improve my workflow on a couple of projects with continuous deployment.

Specifically, translation projects often have tiny commits (sometimes literally 1 character change), so version bumping, building and packaging a new gem is at least 2 commands that I can do without running every friggin' time. A push to Github is already enough work as it is :)

I can specify an after_script that will bump and release for me but I would need a couple of things for user credentials to work properly :

  1. For Travis to have a rubygems.org account and to make its email address publicly known.
  2. For the build servers to include a ~/.gem/credentials file with the account's rubygems api key.

With this, I could run something like

gem owner my_project -a gem_publisher@travisci.org

and have Travis publish my gems directly, yay!


Reply to this email directly or view it on GitHub:
#543

@svenfuchs

This comment has been minimized.

Show comment Hide comment
@svenfuchs

svenfuchs May 21, 2012

Member

I frickin love this idea. Plz make it happen :D

Member

svenfuchs commented May 21, 2012

I frickin love this idea. Plz make it happen :D

@joshk

This comment has been minimized.

Show comment Hide comment
@joshk

joshk May 21, 2012

Member

Once @laserlemon s PR for secure ENV vars is done then we are part way there.

Ideally we need a concept of a build pipeline so tasks/jobs can be specified which only run once per build instead of after each job.

On 21/05/2012, at 12:22 PM, Sven Fuchs wrote:

I frickin love this idea. Plz make it happen :D


Reply to this email directly or view it on GitHub:
#543 (comment)

Member

joshk commented May 21, 2012

Once @laserlemon s PR for secure ENV vars is done then we are part way there.

Ideally we need a concept of a build pipeline so tasks/jobs can be specified which only run once per build instead of after each job.

On 21/05/2012, at 12:22 PM, Sven Fuchs wrote:

I frickin love this idea. Plz make it happen :D


Reply to this email directly or view it on GitHub:
#543 (comment)

@sarahhodne

This comment has been minimized.

Show comment Hide comment
@sarahhodne

sarahhodne Dec 31, 2012

Contributor

Secure environment variables are now implemented, so this should be possible to do. Maybe an example for how to do this should be added to the docs? See travis-ci/travis-ci.github.com#168. Closing this for now.

Contributor

sarahhodne commented Dec 31, 2012

Secure environment variables are now implemented, so this should be possible to do. Maybe an example for how to do this should be added to the docs? See travis-ci/travis-ci.github.com#168. Closing this for now.

@sarahhodne sarahhodne closed this Dec 31, 2012

@svenfuchs

This comment has been minimized.

Show comment Hide comment
@svenfuchs

svenfuchs Dec 31, 2012

Member

@henrikhodne you're such a hero for gardening our tickets!

❤️

Member

svenfuchs commented Dec 31, 2012

@henrikhodne you're such a hero for gardening our tickets!

❤️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment