Nort TODO: Difference between revisions
Jump to navigation
Jump to search
m (Ovidiu moved page Novaordis-release-tools TODO to Nort TODO without leaving a redirect) |
No edit summary |
||
(15 intermediate revisions by the same user not shown) | |||
Line 11: | Line 11: | ||
=TODO= | =TODO= | ||
* | * We named the root module “root” and I got this from nort: | ||
<pre> | |||
NOMBP2:core ovidiu$ release patch | |||
[warn]: cannot get the version of currently installed root: command to read it is not configured | |||
</pre> | |||
Use a configuration element to read “gld” instead of “root”. Probably we need to define something like “application.name” that can be configured in project.yaml. | |||
* Attempted to release gld after I deleted $RUNTIME_DIR/gld link and the release directory. I got this: | |||
<pre> | |||
NOMBP2:core ovidiu$ release patch | |||
[warn]: failed to execute the command that gets the version of the already installed release (gld version) | |||
[warn]: null | |||
[warn]: Cannot run program "gld" (in directory "."): error=2, No such file or directory | |||
</pre> | |||
I worked around by commenting out the command that reads the version but it should be more graceful. | |||
* The possibility to install the last (released) artifact, one more time: | |||
<pre> | |||
install last|<version> | |||
</pre> | |||
* (.) 01/10/17 a successful release sequence should also check in the modified POM files, so they won't show up in the git status command. | |||
* jboss-datagrid-7 installation fails because there is no .install | |||
<pre> | |||
NOMBP2:jboss-datagrid-7 ovidiu$ release snapshot | |||
no changes added to commit | |||
[warn]: commit did not succeed, maybe because there was nothing to commit | |||
1.0.0-SNAPSHOT-1 source push ok | |||
WARN SequenceController: failed to undo publish sequence: undo() NOT YET IMPLEMENTED | |||
WARN SequenceController: failed to undo build sequence: undo() NOT YET IMPLEMENTED | |||
[error]: no installation script /Users/ovidiu/runtime/jboss-datagrid-7/bin/.install found or the file is not executable | |||
</pre> | |||
* I need the rollback functionality working to trust the tool. | |||
* after release, implicitly report the current version (essentially executing the equivalent of release info) | |||
* 12/15/16 Attempted to run release --help and got error. Help should work. | |||
<pre> | |||
NOMBP2:gld ovidiu$ release --help | |||
ERROR CommandLineApplication: internal error | |||
java.lang.NullPointerException | |||
at io.novaordis.release.ReleaseCommand.execute(ReleaseCommand.java:173) | |||
at io.novaordis.clad.CommandLineApplication.run(CommandLineApplication.java:381) | |||
at io.novaordis.clad.CommandLineApplication.main(CommandLineApplication.java:60) | |||
</pre> | |||
* '''Manual''' - clean up and coalesce [[Nort_User_Manual]] | |||
* '''Installation Sequence''' | |||
** Implement the equivalent of install -f (I can avoid it if I simply create a new snapshot), it should be easy now | |||
** If the installation directory exists, unzip will ask for options, and I can’t see that so it will look like the program blocked. | |||
* '''undo/rollback functionality''': | |||
** undo functionality in the JVM shutdown hook. | |||
** Sequences should have "rollback()" methods, not undo(). | |||
** Test MavenProject.undo(), MavenModule.undo(). | |||
** Rollback Git tagging: | |||
<pre> | |||
4.2.2 source commit ok | |||
fatal: tag 'release-4.2.2' already exists | |||
WARN SequenceController: failed to undo build sequence: undo() NOT YET IMPLEMENTED | |||
[error]: failed to tag the local source repository | |||
</pre> | |||
The undo solution for git tagging is: | |||
<pre> | |||
git tag -d release-4.2.2 | |||
git push origin :refs/tags/release-4.2.2 | |||
</pre> | |||
* '''model''' | |||
** A BINARY_DISTRIBUTION can have multiple extensions, not just one (“zip”) – refactor ArtifactType, see where we’re using extension and see what we can replace with. | |||
* 11/26/16 prevent the embedded installation script .install to accidentally overwrite the installation it is part of. Probably the best protection is to delete it. | |||
* '''GitHub Release''' | |||
** For non-snapshot releases, collect release-notes.md, query if they’re fine and make a GitHub release via API. It should be part of the publish sequence. Then clean release-notes.md. |
Latest revision as of 15:40, 20 January 2017
Internal
Testing
mvn -Dmaven.surefire.debug="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005" -Dtest=ReleaseCommandTest clean test
TODO
- We named the root module “root” and I got this from nort:
NOMBP2:core ovidiu$ release patch [warn]: cannot get the version of currently installed root: command to read it is not configured
Use a configuration element to read “gld” instead of “root”. Probably we need to define something like “application.name” that can be configured in project.yaml.
- Attempted to release gld after I deleted $RUNTIME_DIR/gld link and the release directory. I got this:
NOMBP2:core ovidiu$ release patch [warn]: failed to execute the command that gets the version of the already installed release (gld version) [warn]: null [warn]: Cannot run program "gld" (in directory "."): error=2, No such file or directory
I worked around by commenting out the command that reads the version but it should be more graceful.
- The possibility to install the last (released) artifact, one more time:
install last|<version>
- (.) 01/10/17 a successful release sequence should also check in the modified POM files, so they won't show up in the git status command.
- jboss-datagrid-7 installation fails because there is no .install
NOMBP2:jboss-datagrid-7 ovidiu$ release snapshot no changes added to commit [warn]: commit did not succeed, maybe because there was nothing to commit 1.0.0-SNAPSHOT-1 source push ok WARN SequenceController: failed to undo publish sequence: undo() NOT YET IMPLEMENTED WARN SequenceController: failed to undo build sequence: undo() NOT YET IMPLEMENTED [error]: no installation script /Users/ovidiu/runtime/jboss-datagrid-7/bin/.install found or the file is not executable
- I need the rollback functionality working to trust the tool.
- after release, implicitly report the current version (essentially executing the equivalent of release info)
- 12/15/16 Attempted to run release --help and got error. Help should work.
NOMBP2:gld ovidiu$ release --help ERROR CommandLineApplication: internal error java.lang.NullPointerException at io.novaordis.release.ReleaseCommand.execute(ReleaseCommand.java:173) at io.novaordis.clad.CommandLineApplication.run(CommandLineApplication.java:381) at io.novaordis.clad.CommandLineApplication.main(CommandLineApplication.java:60)
- Manual - clean up and coalesce Nort_User_Manual
- Installation Sequence
- Implement the equivalent of install -f (I can avoid it if I simply create a new snapshot), it should be easy now
- If the installation directory exists, unzip will ask for options, and I can’t see that so it will look like the program blocked.
- undo/rollback functionality:
- undo functionality in the JVM shutdown hook.
- Sequences should have "rollback()" methods, not undo().
- Test MavenProject.undo(), MavenModule.undo().
- Rollback Git tagging:
4.2.2 source commit ok fatal: tag 'release-4.2.2' already exists WARN SequenceController: failed to undo build sequence: undo() NOT YET IMPLEMENTED [error]: failed to tag the local source repository
The undo solution for git tagging is:
git tag -d release-4.2.2 git push origin :refs/tags/release-4.2.2
- model
- A BINARY_DISTRIBUTION can have multiple extensions, not just one (“zip”) – refactor ArtifactType, see where we’re using extension and see what we can replace with.
- 11/26/16 prevent the embedded installation script .install to accidentally overwrite the installation it is part of. Probably the best protection is to delete it.
- GitHub Release
- For non-snapshot releases, collect release-notes.md, query if they’re fine and make a GitHub release via API. It should be part of the publish sequence. Then clean release-notes.md.