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

Should we-organize our GitHub pages to a directory on main? #3717

Open
handrews opened this issue Apr 18, 2024 · 11 comments · May be fixed by #3868
Open

Should we-organize our GitHub pages to a directory on main? #3717

handrews opened this issue Apr 18, 2024 · 11 comments · May be fixed by #3868
Assignees

Comments

@handrews
Copy link
Member

Splitting this out from #3766, to which it is still somewhat related as we should consider the impact on how many PRs to how many different branches are required for a change that spans the spec and the registries.

Originally, gh-pages sites needed to be on a gh-pages branch that (as ours does) typically has a completely different layout than main. That is no longer required, and it is much more common to deploy from a directory on main. Or at least from a directory on a branch that is no more different from main than any other working branch.

@Bellangelo
Copy link
Member

I totally agree with this one. This might be a personal preference but I usually find it confusing when each branch is a different project completely. I can start with this one after this is closed #1823

@handrews
Copy link
Member Author

Note that the current build process seems spread across both main and gh-pages, plus duplication for the OAS and Arazzo specs, which probably needs to be unraveled.

Also, there are infrastructure bits under the curren top-level directory on main which should probably be pushed down into the directory that will replace the gh-pages branch to reduce clutter.

@frankkilcommins
Copy link
Contributor

We should consider having a dedicated repo for spec.openapis.org? As we have now moved to a multi-specification project (and likely more coming - Overlays), nesting the website housing the specs under one of the specification repos is a little confusing.

Each separate specification repo that wants to publish can issue PRs to the repo housing the HTML versions and other information relevant to spec.openapis.org. We could then have the same process in place for both OpenAPI-Specification and Arazzo-Specification repos.

@Bellangelo
Copy link
Member

@frankkilcommins Should each spec has its own domain maybe? For example, arazzo.openapis.org, overlays.openapis.org etc. Or a single repo for everyone is the best option?

@handrews
Copy link
Member Author

@Bellangelo We want a unified brand across the different specs, so I think we'll want to stick with spec.openapis.org.

@Bellangelo
Copy link
Member

@handrews Fair enough. I see that @darrelmiller invited me to the organization, so now I have access to create a repo. Should I create a spec.openapis.org repo and move there the website?

@handrews
Copy link
Member Author

@Bellangelo I was surprised about repository creation privileges but it looks like a recent change that GitHub made, giving members more abilities. Let's make sure @darrelmiller or another admin is OK with the separate-repository choice.

There might need to be a bit of work to figure out how the publishing of specs and schemas changes. Not so much the technical logistics (which I'm sure you can sort out) but the policy side of things.

@lornajane
Copy link
Contributor

We are generally in favour. But we will need some process, governance and maintenance setup to enable this change. A good discussion in TDC, but we are not ready to make the change immediately.

@lornajane
Copy link
Contributor

Discussed in TSC and agreed that a new repository will be a good home for our web presence and having it separate will give us a few advantages:

  • people who care about web tooling can help us with it without needing access to any/all of the spec repos
  • it's really clear that changes there are being published to our official site (currently you can merge something to a branch and it's not at all obvious it will cause a rebuild/deploy elsewhere)
  • we may be able to get better previews for pull requests with the separate repository setup

@Bellangelo does it make sense to proceed with #3868 to apply the changes you already worked on since I assume we'll use the main branch in a new repo too? Let us know what you think.

@handrews
Copy link
Member Author

@Bellangelo @frankkilcommins I think when moving to a separate repository, we should endeavor to move as much infrastructure as possible out of this repository. As obnoxious as git submodules are, if we need to run build steps from this or other specification repositories, I think it would be better to pull in the common repo as a submodule rather than have any duplicated build infrastructure.

@Bellangelo
Copy link
Member

Bellangelo commented Jun 14, 2024

@Bellangelo does it make sense to proceed with #3868 to apply the changes you already worked on since I assume we'll use the main branch in a new repo too? Let us know what you think.

@lornajane Hmm.. that's a good question. Since we want to immediately move to a new repo we might not need to proceed with the #3868 as it will require double the work from the Arazzo team since they will have to create a PR for this change and a second one for when we will move to the new repo.
But what is missing from our side is the mechanism that they have implemented in Arazzo that builds the site and opens a new PR in the repo. If we think that this whole progress will take too much time we might want to proceed with #3868 just so we can get things moving.
To sum up, I am ok to proceed with both ways. If we go immediately with the new repo I will need someone to create a new repo for me.

I think it would be better to pull in the common repo as a submodule rather than have any duplicated build infrastructure.

@handrews Yes and no. While I agree that we should minimize our infrastructure, the truth is that it is just a coincidence that these 2 specs both use the same building mechanism. I am 100% sure that Arazzo copied our mechanism for a faster release. Other than this, I think there isn't any rule / constraint / limitation for Arazzo to choose whatever site builder it wants.
Perhaps, I might have lost your point and actually what you are suggesting is that they should be handled as a single site instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: In Progress
Development

Successfully merging a pull request may close this issue.

4 participants