Nort TODO: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
No edit summary
No edit summary
 
(10 intermediate revisions by the same user not shown)
Line 10: Line 10:


=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]]
* '''Manual''' - clean up and coalesce [[Nort_User_Manual]]

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.