Skip to content
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

Remove documentation site and GitHub Action, update README references #3047

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

ADubhlaoich
Copy link
Contributor

Proposed changes

As of late December, NGINX has open sourced its documentation repository. The next stage of this effort is to consolidate all of the existing documentation into the single repository.

This commit removes the entire /site folder that was being used to manage the documentation for NGINX Gateway Fabric separately from the main pipeline, as well as the GitHub action used for deployment.

It also updates references to the folder to instead point towards the documentation repository, where all updates will be made in the future.

Paired with nginx/documentation#81

Checklist

Before creating a PR, run through this checklist and mark each as complete.

  • I have read the CONTRIBUTING doc
  • I have added tests that prove my fix is effective or that my feature works
  • I have checked that all unit tests pass after adding my changes
  • I have updated necessary documentation
  • I have rebased my branch onto main
  • I will ensure my PR is targeting the main branch and pulling from my branch from my own fork

Release notes

If this PR introduces a change that affects users and needs to be mentioned in the release notes,
please add a brief note that summarizes the change.

Migrated the documentation website into the NGINX documentation repository.

As of late December, NGINX has open sourced its documentation
repository. The next stage of this effort is to consolidate all of the
existing documentation into the single repository.

This commit removes the entire `/site` folder that was being used to
manage the documentation for NGINX Gateway Fabric separately from the
main pipeline, as well as the GitHub action used for deployment.

It also updates references to the folder to instead point towards the
documentation repository, where all updates will be made in the future.
@github-actions github-actions bot added the documentation Improvements or additions to documentation label Jan 22, 2025
@ADubhlaoich
Copy link
Contributor Author

Throwing this up as a draft to ensure nobody fires the gun on this early - the main repository PR to migrate this content hasn't been merged, and I will not put this out of draft until then.

@ADubhlaoich
Copy link
Contributor Author

The migration has occurred in the main documentation repository: we're testing the deployment in development and staging before trying production.

@ADubhlaoich ADubhlaoich marked this pull request as ready for review January 27, 2025 11:20
@ADubhlaoich ADubhlaoich requested review from a team as code owners January 27, 2025 11:20
@sjberman
Copy link
Collaborator

https://github.com/nginx/nginx-gateway-fabric/blob/main/site/content/reference/api.md is currently an autogenerated file based on some Go code in this repo, using this command.

Not sure how we're going to sync this with the docs repo.

@ADubhlaoich
Copy link
Contributor Author

@sjberman For the time being it looks like it might have to be a manual move: I don't mind taking responsibility for it when it needs to happen.

@nginx-jack Tagging you for visibility since "solving" generated documentation for single sources of truth is one of the engineering buckets.

@sjberman
Copy link
Collaborator

@ADubhlaoich some sort of automation will be key, because it's inevitable that a developer will change the Go API in our repo, and forget to update the docs to match that. For now we can ensure it's a manual process, but that should be short term if possible.

The benefit we have with it living in our repo is our pipeline will fail if the doc isn't updated when it needs to be.

@@ -1,28 +0,0 @@
{
Copy link
Collaborator

@sjberman sjberman Jan 27, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This site/config/api directory needs to remain in some capacity because it's used to autogenerate our API reference doc. If moved, then the Makefile target generate-api-docs should reference the new location of the config.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it'll be somewhat odd to have an otherwise empty folder left for the API reference document: I'll examine the Makefile target and think of a higher-level folder to keep it in.

@sjberman
Copy link
Collaborator

https://github.com/nginx/nginx-gateway-fabric/blob/main/docs/developer/release-process.md also needs to be updated for whatever the new docs process will be. Specifically step 8.

Something to do with merging docs into main in the docs repo, and then creating a branch for our next release for unreleased docs.

@sjberman
Copy link
Collaborator

sjberman commented Jan 27, 2025

Shoot, I also just realized we have a whole automation setup that updates our docs with new version info before a release. None of that automation is going to work now that we're migrating. This will also now have to be a manual process added to the release process doc to occur before the release.

https://github.com/nginx/nginx-gateway-fabric/blob/main/.github/workflows/release-pr.yml

@ADubhlaoich
Copy link
Contributor Author

Shoot, I also just realized we have a whole automation setup that updates our docs with new version info before a release. None of that automation is going to work now that we're migrating. This will also now have to be a manual process added to the release process doc to occur before the release.

https://github.com/nginx/nginx-gateway-fabric/blob/main/.github/workflows/release-pr.yml

@nginx-jack , something to look at - NGINX Ingress Controller also has some release version automation.

NGINX Ingress Controller actually uses a Hugo shortcode as a sort of pseudo-variable to simplify version updates for documentation: might be a pattern worth adopting?

@nginx-jack
Copy link
Contributor

One option would be to update this action to clone the documentation repo, and perform the same steps against content/ngf/, and create a PR against the documentation repo.
Also, is this process useful for other projects? Ideally we can follow the same documentation release process for all the OSS projects 🤞 .

@sjberman
Copy link
Collaborator

In the meantime the find and replace step in that action for the site/ folder can be removed as part of this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation release-notes
Projects
Status: 🆕 New
Development

Successfully merging this pull request may close these issues.

3 participants