Skip to content

Support for tag-driven publishing on Travis. #39

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Dec 4, 2014

Conversation

adriaanm
Copy link
Contributor

@adriaanm adriaanm commented Dec 4, 2014

Modify travis build to derive the project version from TRAVIS_TAG (when
set). as well as to have sbt run the publish-signed task if the
environment is right. The tag must match the semver regex
^v[0-9]+\.[0-9]+\.[0-9]+(-[A-Za-z0-9-]+)?, and the jdk we're running on
must match PUBLISH_JDK (set in .travis.yml).

For every repo, you must create the following files (not included here)
according to the instructions in admin/gpg.sbt:

  • admin/pubring.asc (commit)
  • admin/secring.asc (DO NOT COMMIT)
  • sensitive.sbt (DO NOT COMMIT)
    • passphrase for secring.asc
    • api token for staging to sonatype

Generate these using admin/encryptAll.sh:

  • admin/secring.asc.enc (commit)
  • sensitive.sbt.enc (commit)

Note that encryptAll.sh spits out a "- secure .... " line, that you need
to add to .travis.yml's env section, so that travis can supply the
SECRET env variable, which is used to decrypt the sensitive files above.

Modify travis build to derive the project version from TRAVIS_TAG (when set).
as well as to have sbt run the `publish-signed` task if the environment is right.
The tag must match the semver regex `^v[0-9]+\.[0-9]+\.[0-9]+(-[A-Za-z0-9-]+)?`,
and the jdk we're running on must match PUBLISH_JDK (set in .travis.yml).

For every repo, you must create the following files (not included here)
according to the instructions in admin/gpg.sbt:
 - admin/pubring.asc      (commit)
 - admin/secring.asc      (DO NOT COMMIT)
 - sensitive.sbt          (DO NOT COMMIT)
    - passphrase for secring.asc
	- api token for staging to sonatype

Generate these using `admin/encryptAll.sh`:
 - admin/secring.asc.enc  (commit)
 - sensitive.sbt.enc      (commit)

Note that `encryptAll.sh` spits out a "- secure .... " line,
that you need to add to `.travis.yml`'s `env` section, so that
travis can supply the SECRET env variable, which is used to
decrypt the sensitive files above.
@adriaanm
Copy link
Contributor Author

adriaanm commented Dec 4, 2014

This will need to be tested by creating an RC tag.

adriaanm added a commit that referenced this pull request Dec 4, 2014
Support for tag-driven publishing on Travis.
@adriaanm adriaanm merged commit fd7bde6 into scala:master Dec 4, 2014
@adriaanm
Copy link
Contributor Author

adriaanm commented Dec 4, 2014

@gourlaysama, you can now stage a release on sonatype simply by creating a tag in the GitHub interface! Someone on the core team still needs to close and promote the staging repo on sonatype. To ping us for that, I suggest creating an issue here and assigning to one of us once the Travis build is done.

@adriaanm
Copy link
Contributor Author

adriaanm commented Dec 4, 2014

PS: I had to upgrade to sbt 0.13.7 for the script to work. I hope that's ok.

@gourlaysama
Copy link
Contributor

This is great! I'm slightly late to the party, but I'll push a tag ASAP.

@adriaanm
Copy link
Contributor Author

Ok!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants