Honestly, we're not doing continuous build. Yes, there are 3 repos that build 
within their own scope, but we aren't building end-to-end. I think we need to 
be building continuously end-to-end. 

Here are some thoughts:

- goal should be to have an automated system that generates nightly builds. The 
build includes everything end-to-end (i.e.: cli+lib+js dependency tree, 
platforms, plugins). All that is left to promote a build artifact to an RC is 
signing and copying to dist-dev. 
- as much as possible, no input should be required outside of what is in the 
git repos - commit to git and go.
- publishes nightly builds to a test npm registry, so you can do "npm install 
[email protected]" while pointing to this test registry.
- does some end-to-end smoke testing such as creating projects, adding and 
removing plugins, adding platforms and generating an app
- shrinkwrap is generated (for those modules that need shrinkwrap)

Bonus points for the following:
- runs unit tests of all components
- uncurated release notes are automatically collected
- generates reports from audit-license-headers and license-check (hey, maybe 
even fail the build)

As far as our release process, one gap I suggest we fill is that branches get 
created for all repos when the first RC is created from master. Not just 
platforms. If there is a need to spin another RC with a modification, this 
makes it much more predictable and easier (no winding back the version bump, 
and then putting it back in after we apply our mod).

Coho is a big help, but there still is way too much manual glue and steps. 
Maybe I'm incompetent, but the 3.6 platforms/tools release has been very 
painful.

Now this I think would accelerate our release pace.

Whaddya think?

Reply via email to