RCL App Development Process

Development Workflow

Problem:

Needed changes are identified for an app, but the changes involve both the app and dependencies (RCLs) used by the app.

Solution:

  1. Based on the issue description make up a feature name for the solution. This name will be used to create a “feature” branch in all the affected repos as well as a “solution” folder name locally. The convention for the branch name is the word “feature” followed by one’s initials or moniker, followed by the issue number, followed by a one or two word description, all of which are delimited by dashes. For example, suppose the issue is about tooltips and the issue is #22. Then the branch name might be feature-cn-22-tooltips.

  2. Create a local folder for the solution that matches the branch name. Let’s call this the solution folder.

  3. Clone all the repositories needed into the solution folder.

  4. Create the feature branch in the repos before you make changes:


$ git checkout -b feature-cn-22-tooltips

  1. In the below, italicized steps are not done by developer.

  2. For RCLs:

    • Make changes to code, Styleguidist, etc.

    • Update Cypress tests as needed

    • Commit and push changes

    • Create a PR, which creates a preview for QA

    • Once QA signs off, change pipeline to “in review”

    • Once reviews are completed and all comments resolved, merge code, publish RCL to NPM with new version

    • Delete the feature branch

  3. For App:

    • Source dependent RCLs locally (I don’t know how to do this)

    • Make changes to code

    • Update Cypress tests as needed

    • Commit and push changes

    • Wait for dependencies to be republished

    • Update package.json with new dependency version and update (yarn install)

    • Create a PR, which creates a preview for QA

    • Once QA signs off, change pipeline to “in review”

    • Once reviews are completed and all comments resolved, publish app

    • Delete the feature branch

Consider:

  • adding role of person who performs the step
  • adding examples of how to perform the stop (for the rote parts at least); such as:
    • the git command needed
    • the buttons on github to click.
  • rationale or reasoning behind the step

Development Workflow

Problem:

Needed changes are identified for an app, but the changes involve both the app and dependencies (RCLs) used by the app.

Solution:

  1. Based on the issue description make up a feature name for the solution.

This name will be used to create a “feature” branch in all the affected repos

as well as a “solution” folder name locally.

The convention for the branch name is the word “feature” followed by one’s

initials or moniker, followed by the issue number, followed by a one or two

word description, all of which are delimited by dashes.

For example, suppose the issue is about tooltips and the issue is #22. Then

the branch name might be feature-cn-22-tooltips.

  1. Create a local folder for the solution that matches the branch name.

Let’s call this the solution folder.

  1. Clone all the repositories needed into the solution folder.

  2. Create the feature branch in the repos before you make changes:


$ git checkout -b feature-cn-22-tooltips

  1. In the below, italicized steps are not done by developer.

  2. For RCLs:

    • Make changes to code, Styleguidist, etc.

    • Update Cypress tests as needed

    • Commit and push changes

    • Create a PR, which creates a preview for QA

    • Once QA signs off, change pipeline to “in review”

    • Once reviews are completed and all comments resolved, merge code, publish RCL to NPM with new version

    • Delete the feature branch

  3. For App:

    • Source RCLs locally (I don’t know how to do this)

    • Make changes to code

    • Update Cypress tests as needed

    • Commit and push changes

    • Wait for dependencies to be republished

    • Update package.json with new dependency version and update (yarn install)

    • Create a PR, which creates a preview for QA

    • Once QA signs off, change pipeline to “in review”

    • Once reviews are completed and all comments resolved, publish app

    • Delete the feature branch