Project 15: CICD
Schedule | Flex Meld |
Time allowed | 3 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).
"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.
- Follow a standard GitHub flow change process:
- Make a branch
- Make a good change
- Review and merge change
- 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.
- Follow a non-standard GitHub flow change process:
- Forget to make a branch and commit a good change directly to the main branch.
- 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?