-
Notifications
You must be signed in to change notification settings - Fork 183
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Document and Diagram CI/CD Workflows #1121
Comments
@david-waltermire-nist, per conversation today, I thought we would add this here and then work it when we are ready/able. We can definitely talk about this during the week as you see fit, and then bring it into sprint accordingly. |
From discussion with Dave via Gitter, the high-level current overview of our CI/CD processes. OSCAL repository Quality Assurance ChecksProvided by metaschema-artifacts.yml:
Provided by validate-repo-markdown.yml:
Provided by website-artifacts.yml:
Performing a release
|
Is this about the OSCAL project specifically or about using OSCAL in another CI/CD process? |
The former, the OSCAL project specifically. |
@flickerfly, if you are interested in how to use OSCAL in a different CI/CD process, definitely open up a discussion to brainstorm ideas or an issue if you think certain enhancements are in order and/or you found some bugs that need improving! |
I'll still be watching here because I'm curious to see how you folks are thinking about CI/CD. |
NOTE: This is obsolete, see update spec diagram below in #1121 (comment).
I started working a small working example in Mermaid live editor and focused on one workflow so far. How does this look so far, continue? I am trying to write out the conceptual goals of a step (actions with arrow), and I am slowly replacing the subject of that action (usually a shell script) as a box as I figure it out and get closer to ready for one flow. Thoughts? |
Per conversation with Dave have some tweaks and good feedback on next steps. Will bring this into sprint to work and collab with him and work alongside other assigned tasks. |
@aj-stein-nist how about using the Python library |
I will talk to the team about this. A few points.
|
On that note, below is the updated the diagram from yesterday wrapping in Dave's feedback and recommendations. We will sync back up with these on Wednesday when we pair. Rendered image: |
|
This is I want to see, can you point me to the example of how you can orchestrate GitHub Actions steps and trace it with |
You can see it here, it's part of the |
Ah I thought you meant something different with this script. I thought you could write code that already reads GitHub Actions job and tasks steps and diagrams what they call and how the inputs and outputs relate for the CI/CD itself, not as the core development artifact of the repo. That I had seen already. I was curious how it documented its own CI/CD steps. This is still super cool thought! |
Caught up with Dave today during a pairing session. He quickly reviewed the updates in the above comment and likes where they are at so far. He agreed I should continue and then work them into a PR against the |
Also a note for future work and to jog my memory: Dave mentioned how we could compose future workflows that trigger each other, we can find a way to deprecate the |
@aj-stein-nist checkout this announcement from GitHub regarding Mermaid integration with markdown files. |
Oh I saw! haha |
Per conversation with @david-waltermire-nist in weekly sync meeting and the earlier Lunch with Devs, I will touch this up and get it ready for public consumption and to drive discussion around the OSCAL team's developer tooling after Dave gauged a significant amount of interest in today's session. |
@david-waltermire-nist, thanks for merging the PR. In terms of next steps for the work, we close this out and say we are done with documenting the current state of affairs and open new issues around how we would want to make enhancements and improvements? Perhaps we meet and discuss low to high effort changes and what gets us the most rewards the fastest? |
User Story:
As a NIST OSCAL developer, in order to best understand the different logical steps of the development pipeline and their implementation in the OSCAL CI/CD system, I would the logical steps (and their implementation) for different forms of project automation (release management, website updates, and GitHub issue management) diagrammed to understand current state and plan future improvements.
Goals:
Clears docs and diagrams will let us understand what works well, what doesn't, and what gaps we have now, so we can consider updates in the future. This also will help outside contributors understand the workflow from recommendation to getting a change into the next production release of OSCAL.
Dependencies:
N/A
Acceptance Criteria
{The items above are general acceptance criteria for all User Stories. Please describe anything else that must be completed for this issue to be considered resolved.}
The text was updated successfully, but these errors were encountered: