-
Notifications
You must be signed in to change notification settings - Fork 598
Automate GEP TOC generation and validate #4075
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
Conversation
I am intentionally sending a broken PR to show how the CI will reflect the miss of GEP update, and then I will commit the changes to the TOC for the next run |
An execution with the GEP outdated: https://github.com/kubernetes-sigs/gateway-api/actions/runs/17567348361/job/49896745290?pr=4075 |
e52feef
to
20f6dcd
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @rikatz!
@rikatz This looks great after the extends stanza are dealt with -- thanks much!! 🙂 |
Two things I'd like to see here, as discussed in the community meeting:
I think once my mistake about the json tags is fixed, and the second bullet point is done, this is good to merge. If exploring includes will take a long time, I think it's better to get this change in and iterate. I'll approve, so that someone else can LGTM later. /approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: rikatz, youngnick The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/hold I will just fix these commits to separate what's mkdocs fixes from what's GEP API fixes |
The GEP API is using a wrong structure/tag name for some fields, so this PR fixes the markers. Additionally the metadata.yaml files from some GEPs are fixed to reflect the right GEP API structure
This change makes the navigation section of GW API website to be generated. The modification adds a new Go program that is able to transverse the GEP directory and generate a navigation section correctly from the existing GEPs. Additionally, some scripts and Makefiles are added to verify if the generated nav.yml file reflects the current state of GEPs, a Github Action that fails in case nav.yml is outdated
/hold cancel The changes are splitted on 3 commits:
|
@youngnick I have fixed to use an external nav.yml :) All good for now. My only comment is that to keep it "simple" (for the verification, etc) I am adding the "Warning" about generated file on the nav.yml.tmpl letting the user know if they are editting nav.yml they shouldn't. But I can also add it to the go program, tho the program is effectively a template parser, and not a file generator :) lmk what you think |
Thanks @rikatz! I compared the generated /lgtm |
* Fix GEP API and geps metadata The GEP API is using a wrong structure/tag name for some fields, so this PR fixes the markers. Additionally the metadata.yaml files from some GEPs are fixed to reflect the right GEP API structure * Implement automatic NAV generation This change makes the navigation section of GW API website to be generated. The modification adds a new Go program that is able to transverse the GEP directory and generate a navigation section correctly from the existing GEPs. Additionally, some scripts and Makefiles are added to verify if the generated nav.yml file reflects the current state of GEPs, a Github Action that fails in case nav.yml is outdated * Add the new generated nav file
Was excluding |
yeah it was, look: #4075 (comment) |
What type of PR is this?
/kind documentation
What this PR does / why we need it:
This PR adds a new program capable of reading the GEPs and generating the proper TOC file for the website.
Additionally it adds some shellscripts to help verifying and generating/updating the TOC accordingly.
To keep the consistency, the GEP TOC is ordered Alphabetically, on the first level being the GEP type, and on the second level by the GEP number.
To be able to use the GEP API, some GEPs had to be fixed to proper represent an empty array of string, that is different from an empty object
The changes are splitted on 3 commits:
Does this PR introduce a user-facing change?: