Skip to content
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

Improving release process #12

Merged
merged 4 commits into from
Feb 25, 2014
Merged

Conversation

laughedelic
Copy link
Contributor

Current release process (in the upcoming v0.4.0):

          Seq[ReleaseStep](
            genDocsForRelease
          , checkSnapshotDependencies
          , inquireVersions
          , checkReleaseNotes
          , runTest
          , setReleaseVersion
          , commitReleaseVersion
          , tagRelease
          , publishArtifacts
          , setNextVersion
          , pushChanges
          )

proposed by @evdokim, we should try to publish earlier and fail everything if it fails. Second thing, is that generated docs should be committed (like version):

          Seq[ReleaseStep](
            // check artifact generation, smth like 'package'
          , genDocsForRelease // and commit if it's changed
          , checkSnapshotDependencies
          , inquireVersions
          , checkReleaseNotes
          , runTest
            // do 'set version in ThisBuild := ...' for publishing
          , publishArtifacts // <-- moved here
            // if it succeeds, continue:
          , setReleaseVersion
          , commitReleaseVersion
          , tagRelease
          , setNextVersion
          , pushChanges
          )

@laughedelic laughedelic mentioned this pull request Nov 22, 2013
10 tasks
@laughedelic
Copy link
Contributor Author

So, now release process looks like this:

          checkSnapshotDependencies // no snapshot deps in release
          , checkGHCreds            // check that we can publish Github release
          , checkPackaging          // try to package the artifacts
          , genDocsAndCommit        // generate literator docs and commit if needed
          , runTest                 // compile and test
          , inquireVersions         // ask about release version and the next one
          , tempSetVersion          // set the chosed version for publishing
          , publishArtifacts        // try to publish artifacts
          , setReleaseVersion       // if it was ok, set the version finally
          , commitReleaseVersion    // and commit it
          , tagRelease              // and make a tag
          , releaseOnGHStep         // and publish notes on github
          , setNextVersion          // bump the version
          , commitNextVersion       // commit it
          , pushChanges             // and push everything to github

Guys, @eparejatobes @evdokim, please, check it and give me some feedback — may be something is missing or you think that the order is wrong.
We discussed it some time ago, and I really want to improve it.

@eparejatobes
Copy link
Contributor

First release a working version for Windows, then we will discuss this!

@laughedelic
Copy link
Contributor Author

A working version of what?

@eparejatobes
Copy link
Contributor

Of this

@laughedelic
Copy link
Contributor Author

I don't understand, what is not working here on windows? (I can't check)
(do you mean just this: laughedelic/literator#12 ? then it's fixed and released)

@eparejatobes
Copy link
Contributor

Updating sbt-release etc

@laughedelic
Copy link
Contributor Author

here: #9

@eparejatobes
Copy link
Contributor

@laughedelic what do you mean? that PR is not merged

@laughedelic
Copy link
Contributor Author

yes, because it depends on this PR. I mean that sbt-release and literator are updated to the version with those windows-specific fixes.

@eparejatobes
Copy link
Contributor

@laughedelic really I don't understand what you are saying. This is a really simple thing:

  1. we have issues using this in Windows
  2. they can be fixed by updating some deps

So we just go and update those things and then we can think about all sort of improvements, new features, etc.

I'm missing something?

@laughedelic
Copy link
Contributor Author

thanks for saying it directly. because for me it was not obvious

@eparejatobes
Copy link
Contributor

anyway let's use this for its purpose, discuss the release process/steps

@eparejatobes
Copy link
Contributor

I'm OK with it. @evdokim ?

@laughedelic
Copy link
Contributor Author

@eparejatobes here you go: v0.3.2

@eparejatobes
Copy link
Contributor

cool thanks

@laughedelic laughedelic merged commit 26f0f94 into release/v0.4.0 Feb 25, 2014
@laughedelic laughedelic deleted the improvement/release-process branch February 25, 2014 17:32
laughedelic added a commit that referenced this pull request Feb 26, 2014
* Upgrades:
    - [x] upgrade to [sbt-release](https://github.com/sbt/sbt-release) [`0.8.2`](http://notes.implicit.ly/post/76357095731/sbt-release-0-8-2)
    - [x] upgrade to [sbt-s3-resolver `0.8.0`](https://github.com/ohnosequences/sbt-s3-resolver/releases/tag/v0.8.0)
    - [x] upgrade to [literator `v0.5.0`](https://github.com/laughedelic/literator/releases/tag/v0.5.0)

* New integrations:
    - [x] [sbt-taglist](https://github.com/johanandren/sbt-taglist): for warnings about `TODO` and `FIXME` tags
    - [x] [sbt-github-release](https://github.com/ohnosequences/sbt-github-release): for automated release notes and artifacts on Github
    - [x] javadocs/scaladocs API docs generation as a release process step (#15)

* Improvements:
    - [x] improve release process (#12)
    - [x] adding release notes to the version setting commit message
    - [x] `clean` cleans `project/` folder from sbt-stuff and cleans all generated docs
laughedelic added a commit that referenced this pull request May 2, 2014
This is a huge release, so here are only highlighted changes since the `v0.3.2`. See #9 and release notes for the `v0.4.0`-prereleases.

* New plugin integrations:
    - [sbt-taglist](https://github.com/johanandren/sbt-taglist): for warnings about `TODO` and `FIXME` tags
    - [sbt-github-release](https://github.com/ohnosequences/sbt-github-release): for automated release notes and artifacts on Github
    - [sbt-updates](https://github.com/rtimush/sbt-updates) plugin (#10): for warning about outdated dependencies

* Upgrades:
    - [sbt-release](https://github.com/sbt/sbt-release) -> 0.8.3
    - [sbt-s3-resolver](https://github.com/ohnosequences/sbt-s3-resolver) -> 0.11.0
    - [literator](https://github.com/laughedelic/literator) -> 0.5.1
    - [sbt-assembly](https://github.com/sbt/sbt-assembly) -> 0.11.2

* Improvements:
    - Split everithing on different modules
    - `clean` task now cleans `project/` folder from sbt-stuff
    - A _huge improvement_ of the release process (see #12 and docs)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

2 participants