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

Improve build scalability as more variants get added #384

Open
holly-cummins opened this issue Oct 3, 2023 · 0 comments
Open

Improve build scalability as more variants get added #384

holly-cummins opened this issue Oct 3, 2023 · 0 comments

Comments

@holly-cummins
Copy link
Collaborator

As we add an azure variant, and a gradle variant, and various other modules, each one adds exponentially to the build time. This isn't really scalable past a certain point.

A more scalable approach would be to re-architect and dynamically generate each combination in the UI when people ask for it. That is infinitely scalable, but it's not very dog-foody to use Javascript rather than Java to render the asciidoc. A backend server would be dogfoody, but involve the complexities of hosting.

I think it might work - at the expense of some complexity - to got a hybrid approach, with progressive creation. The base build would create the base variant, and deploy it, and then spin off child builds which would add the other variants as they're prepared. If someone visits a link for a page that doesn't have asciidoc, a holding page at that endpoint would dynamically render.

We could also say some variants are only rendered dynamically on most builds, to try and manage how much github runner time we use. For example, mostly-dynamic should be fine on most PR previews.

@holly-cummins holly-cummins changed the title Build scalability as more variants get added Improve build scalability as more variants get added Oct 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant