Last updated

Project 15: CICD

ScheduleFlex Meld
Time allowed3 hours

Update Realm

Update to the latest minor version of Realm.

At the time I write this, it's 0.92.1.

Cheat: How to do this

Edit the package.json and replace the version of Realm with 0.91.5 (or any other latest version).

package.json
 "dependencies": {
    "@redocly/realm": "0.92.1"
  }

CICD

We've hired a contractor. The boss doesn't want them to have direct access to the project repo. They discussed using CICD to sync their changes into the project.

They are going to be making a Learning API to add to the API Hub part of the website.

We know their repo is going to consist of at least one YAML file and Markdown file.

You can use these files for testing (right-click and save-as or copy/paste the contents):

Testing script setup

Use GitHub Actions.

Put these test files in a separate repository and set up the CICD remote content script.

Testing changes

You don't want these contractors to contact you nonstop. So you want to check what the feedback is for both good and bad changes and standard and non-standard workflows.

  1. Follow a standard GitHub flow change process:
    • Make a branch
    • Make a good change
    • Review and merge change
  2. Follow a standard GitHub flow change process:
    • Make a branch
    • Make a bad change (something you know breaks the OpenAPI)
    • Review and see how good the feedback is for troubleshooting.
  3. Follow a non-standard GitHub flow change process:
    • Forget to make a branch and commit a good change directly to the main branch.
  4. Follow a non-standard GitHub flow change process:
    • Forget to make a branch and commit a bad change directly to the main branch.

Brief recommendation for boss

Is the CICD viable for this purpose?

How would credentials be transmitted to the contractor?

Is that secure?

Do you see any potential pitfalls?

Debrief

Debrief on your experience.

  • What made you smile?
  • What did you find confusing?