Skip to content

Instantly share code, notes, and snippets.

@vladimir-kotikov
Created May 10, 2016 11:56
Show Gist options
  • Save vladimir-kotikov/a55b0a05c1661dcfaf6c98b4fbbdf912 to your computer and use it in GitHub Desktop.
Save vladimir-kotikov/a55b0a05c1661dcfaf6c98b4fbbdf912 to your computer and use it in GitHub Desktop.
Cordova nightlys proposal

Nightly builds proposal

Notes from previous email conversations

Sergey S:

  • make a prototype,
    • pin master platform versions (publish platforms with nightly tags as well, make the CLI use them),
    • add warnings for nightly and dev builds with commit hash versions,
    • add a proposal to cordova-discuss

Vladimir:

  • Nightlies should be published for platforms as well as for cordova-cli and cordova-lib
  • cordova@nightly should have nightly platforms pinned
  • ‘cordova –version’ and ‘cordova platform ls’ should display the exact nightly version and commit SHA
  • There should be a way to produce an RC build based on particular nightly- We need a proposal to be shared to the community after we get clear picture of how nighty builds will work

To investigate:

  • Where commit SHAs get stored to be displayed on ‘cordova platform ls’

Work plan:

I propose to work on this and add features incrementally in the following order:

  1. Update current nightly code to persist unsaved changes in affected repos and retore them after all the work is done

This would make local development, testing and debugging much easier, because as of now running coho nightly will result in all affected repos reset to their initial state.

  1. Resolve the issues with failing npm test on Apache Jenkins slave - in progress, ~30%

npm test command now failing due to unknown reason

  1. Update (or ensure it works OOB) cordova --version to print nightly version and SHA of commit which nightly has been built from.

This probably could be achieved by having package version formatted as cordova-lib@6.2.0-nightly.05-10-2016+<commit_SHA>. This format is fully semver-compatible (http://semver.org/#spec-item-9 and http://semver.org/#spec-item-10) and contains all necessary information to recreate the development environment based on commit SHAs.

  1. Start publishing nightlys without pinning master platforms' versions

To speed up process of implementing nightly command we might start releasing nightly builds without pinning platforms (use versions that pinned in current master) and add pinning (via commit SHA or 'nightly' dist-tags for platforms) later along with adding other pinning-related functionality (see below)

  1. Extend/update cordova platform ls to print platforms version and SHA of commit which nightly has been built from

  2. Implement nightly routine for platforms and update tools nightlys to pin platforms nightlys

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment