All documentation pertaining to how developers can contribute to NDS Labs.

New to NDS Labs?

Start here: New Developer Workflow

Develop Workflows

An Example

https://github.com/bodom0015/developer-workflow

More Detail

Release Workflows

New Unstable "Test" Release

Prerequisites

Developer's Process (Semi-automatic)

  1. "Start Progress" on one of your assigned tickets (assign a new one if you have none assigned)
  2. If you haven't already, fork the upstream repository (you will only need to do this once per repository)
  3. Clone your fork onto your local machine
  4. Create / switch to a development branch (named after one the JIRA ticket associated with the work being done, i.e. NDS-XXX)
  5. Make any necessary changes to fulfill the JIRA ticket
  6. Commit all associated changes and push them to GitHub
  7. Mark ticket as "In Review" and assign to an available Tester
  8. Wait for the ticket to be assigned back to you
  9. Review the Tester's results

Tester's Process (Manual)

New Unstable "Latest" Release

Prerequisites

Process (Automatic)

Official Tagged Version Release (Stable)

Prerequisites

Process (Semi-automatic)

  1. Regenerate Swagger API / Client from spec (if the spec has changed)
  2. Create a new tag from master in GtiHub for the new version (i.e. 1.0.0, 1.0.1, etc)
    1. New versioned Docker images are automatically built from the upstream tags created on GitHub.
    2. All new tags that are created will trigger a build
  3. Roll forward version numbers in source and ensure that all values match on upstream master on GitHub:

Repositories to Tag (in order)

NOTE: ndslabs-devenvs contains a large number of cascading images that will quickly fill up the build queue, that's why we do it last