jira.codehaus.org

  • Log In Access more options
    • Online Help
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What?s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
Signup
Cargo
  • Cargo
  • CARGO-810 Migrate to the new Nexus instance at ...
  • CARGO-833

Update documentation for the new release process

  • Log In
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: Sub-task Sub-task
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: None
  • Fix Version/s: 1.0.4
  • Component/s: Documentation
  • Labels:
    None
  • Environment:
    n/a
  • Complexity:
    Intermediate
  • Number of attachments :
    0

Description

The instruction at http://cargo.codehaus.org/Release+procedure needs to be updated.

Some key things that, off the top of my head, I think need to go in there (needs to be verified):

  • we need to sign the release
  • (alitokmen: this is not needed afterall) settings.xml needs to include the staging repo so that the new parent can be found

Lots of info here:
https://docs.codehaus.org/display/HAUSMATES/Codehaus+Maven+Repository+Usage+Guide

Activity

Ascending order - Click to sort in descending order
  • All
  • Comments
  • Work Log
  • History
  • Activity
Hide
Permalink
Savas Ali Tokmen added a comment - 22/Aug/10 3:19 AM

Done

Show
Savas Ali Tokmen added a comment - 22/Aug/10 3:19 AM Done
Hide
Permalink
Anders Hammar added a comment - 22/Aug/10 7:12 AM

Reopening as I don't think the docs is complete. For example, it does not mention the staging process which we now use.
Also, I'm wondering how we are going to handle the cargo-parent. Are we to release that first (and wait for it to get to central) before releasing the other parts? If we don't, we'll include the cargo-parent in the staging and then we need to update settings.xml so that it can be found when building the rest.

Show
Anders Hammar added a comment - 22/Aug/10 7:12 AM Reopening as I don't think the docs is complete. For example, it does not mention the staging process which we now use. Also, I'm wondering how we are going to handle the cargo-parent. Are we to release that first (and wait for it to get to central) before releasing the other parts? If we don't, we'll include the cargo-parent in the staging and then we need to update settings.xml so that it can be found when building the rest.
Hide
Permalink
Savas Ali Tokmen added a comment - 22/Aug/10 9:28 AM

What is a staging process?

I think, We are going to handle CARGO-parent (and all other CARGO modules, by the way) like before: since the released versions of artifacts are present on the developer's machine, everything should compile successfully. Maven central will get them rapidly, but meanwhile weird things wilk sure happen. CI will probably not be very happy.

The alternative is to wait for the Maven central repo to get the artifacts and then release each submodule. That might be time consuming.

Show
Savas Ali Tokmen added a comment - 22/Aug/10 9:28 AM What is a staging process? I think, We are going to handle CARGO-parent (and all other CARGO modules, by the way) like before: since the released versions of artifacts are present on the developer's machine, everything should compile successfully. Maven central will get them rapidly, but meanwhile weird things wilk sure happen. CI will probably not be very happy. The alternative is to wait for the Maven central repo to get the artifacts and then release each submodule. That might be time consuming.
Hide
Permalink
Anders Hammar added a comment - 22/Aug/10 1:08 PM

Now when we are using the Nexus instance, the release will be deployed to a so-called staging repository first. We can then verify the release (there are also some automatic checks being done) before we promote it. When it has been promoted, it will be added to the Codehaus release repo and synced to central. The steps are described Codehaus Maven Repository Usage Guide (see link in this jira's description). There is also more details regarding Nexus Staging in the Nexus Book: http://www.sonatype.com/books/nexus-book/reference/staging.html
This will allow us to verify a release (within the Cargo team) before we actually promote it. Very handy. We just need to discuss how we are to do this (or if we are not).

Show
Anders Hammar added a comment - 22/Aug/10 1:08 PM Now when we are using the Nexus instance, the release will be deployed to a so-called staging repository first. We can then verify the release (there are also some automatic checks being done) before we promote it. When it has been promoted, it will be added to the Codehaus release repo and synced to central. The steps are described Codehaus Maven Repository Usage Guide (see link in this jira's description). There is also more details regarding Nexus Staging in the Nexus Book: http://www.sonatype.com/books/nexus-book/reference/staging.html This will allow us to verify a release (within the Cargo team) before we actually promote it. Very handy. We just need to discuss how we are to do this (or if we are not).
Hide
Permalink
Savas Ali Tokmen added a comment - 22/Aug/10 3:44 PM

Aaahhh ok..

How does staging work? Do I just tag a version, say, 1.0.3, it will be tagged in the SVN but appear in staging; and if we see it has issues we fix them and tag again 1.0.3?

Show
Savas Ali Tokmen added a comment - 22/Aug/10 3:44 PM Aaahhh ok.. How does staging work? Do I just tag a version, say, 1.0.3, it will be tagged in the SVN but appear in staging; and if we see it has issues we fix them and tag again 1.0.3?
Hide
Permalink
Anders Hammar added a comment - 23/Aug/10 1:22 AM

Yes, that would be the standard way. How we tag and handle scm is up to us to decide. If we want to redo the release, we could either remove the tag in svn or we could use a new tag (like 1.0.3-build2 or whatever). For us, I think we should just remove the old tag, but for enterprises they often want to keep all tags (for testing history).

Show
Anders Hammar added a comment - 23/Aug/10 1:22 AM Yes, that would be the standard way. How we tag and handle scm is up to us to decide. If we want to redo the release, we could either remove the tag in svn or we could use a new tag (like 1.0.3-build2 or whatever). For us, I think we should just remove the old tag, but for enterprises they often want to keep all tags (for testing history).
Hide
Permalink
Savas Ali Tokmen added a comment - 24/Aug/10 4:31 PM

I've just managed to release the parent and completed documentation.

Once the new parent pom makes it into the central, I will also tag resources, core and and extensions.

Show
Savas Ali Tokmen added a comment - 24/Aug/10 4:31 PM I've just managed to release the parent and completed documentation. Once the new parent pom makes it into the central, I will also tag resources, core and and extensions.
Hide
Permalink
Anders Hammar added a comment - 25/Aug/10 12:45 AM

Why are you releasing the parent in advance? I suggest we do one staged release for everything.

Show
Anders Hammar added a comment - 25/Aug/10 12:45 AM Why are you releasing the parent in advance? I suggest we do one staged release for everything.
Hide
Permalink
Anders Hammar added a comment - 25/Aug/10 12:57 AM

I still don't think the release process docs are good enough. It should explain the staging in more details. Especially, it should explain that there should be one staging for the entire Cargo release. Also, I'd like a step where all devs get the opportunity to verify the staged release. This would ensure that it works as expected.

Show
Anders Hammar added a comment - 25/Aug/10 12:57 AM I still don't think the release process docs are good enough. It should explain the staging in more details. Especially, it should explain that there should be one staging for the entire Cargo release. Also, I'd like a step where all devs get the opportunity to verify the staged release. This would ensure that it works as expected.
Hide
Permalink
Savas Ali Tokmen added a comment - 25/Aug/10 7:17 AM

Please see my e-mail on the dev list, deferring the good documentation to 1.0.4.

Show
Savas Ali Tokmen added a comment - 25/Aug/10 7:17 AM Please see my e-mail on the dev list, deferring the good documentation to 1.0.4.
Hide
Permalink
Savas Ali Tokmen added a comment - 23/Oct/10 10:02 AM

I've changed part of the documentation, reorganized it and added some basic rules (like "wait 72 hours between staging and release for people to comment)

Show
Savas Ali Tokmen added a comment - 23/Oct/10 10:02 AM I've changed part of the documentation, reorganized it and added some basic rules (like "wait 72 hours between staging and release for people to comment)
Hide
Permalink
Anders Hammar added a comment - 02/Nov/10 2:15 AM

I did some fine tuning the other day to correctly reflect that the three main code trunks are released/staged together.
This ticket should be fine to close now.

Show
Anders Hammar added a comment - 02/Nov/10 2:15 AM I did some fine tuning the other day to correctly reflect that the three main code trunks are released/staged together. This ticket should be fine to close now.
Hide
Permalink
Savas Ali Tokmen added a comment - 02/Nov/10 1:50 PM

Finished

Show
Savas Ali Tokmen added a comment - 02/Nov/10 1:50 PM Finished

People

  • Assignee:
    Savas Ali Tokmen
    Reporter:
    Anders Hammar
Vote (0)
Watch (0)

Dates

  • Created:
    20/Aug/10 8:05 AM
    Updated:
    02/Nov/10 1:50 PM
    Resolved:
    02/Nov/10 1:50 PM
  • Atlassian JIRA (v5.2.7#850-sha1:b2af0c8)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for Codehaus. Try JIRA - bug tracking software for your team.