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

Technical discovery on how to improve CASEI build time #524

Closed
heidimok opened this issue May 26, 2023 · 5 comments
Closed

Technical discovery on how to improve CASEI build time #524

heidimok opened this issue May 26, 2023 · 5 comments
Assignees
Labels
Feature Request See something that you think could be better? Describe the feature and your ideas and let's talk

Comments

@heidimok
Copy link
Contributor

Is your feature request related to a problem? Please describe.
We ought to improve build time of the front end as part of hand off because it's slow

Describe the solution you'd like
Look into how we can speed up front end build

Things loosely considered

  • Updating Gatsby to open up the possibility of incremental builds. It might not be the only thing we can do to improve build time but it's a good guess for a start.
  • Can also think about alternatives that might give us faster build times.

What is done?

We want to time box the discovery aspect so that it doesn't take more than 1-2 days.

Depending on the solution, we can close this issue by:

  1. Implementing a solution for improved build time
  2. Proposing a solution for improved build time (and creating new issue(s) that are specific to that solution)
@heidimok heidimok added the Feature Request See something that you think could be better? Describe the feature and your ideas and let's talk label May 26, 2023
@naomatheus
Copy link
Collaborator

I'm 90% that I've been able to resolve dependency issues. (Documented in this PR).
However, I'm getting timeouts on the source and transform nodes steps of Gatsby build. I'm fairly certain it's not a connection issue, but instead something underlying.

cc @Tammo-Feldmann

@naomatheus
Copy link
Collaborator

Going to move notes to the PR above ^

@naomatheus
Copy link
Collaborator

Update:

Progress has been logged in PR #562. The PR will be rolled back to commit [4edcddd](https://github.com/NASA-IMPACT/admg-casei/pull/562/commits/4edcdddad68e7bea89a2403155c0fd02a10b4671). Gatsby v5 upgrade is complete at this point in commit history. This brings CASEI's codebase up to date with current standards and should improve overall stability of production deployments and Continuous Integration.

Other PRs and comments to this PR were discussing implementing the Slices API for Gatsby. Implementing Slices allows the CASEI site to be "split up" into discreet components that will bring down the build time by building CASEI in "Slices", as opposed to on a per-page build process.

Caveat and moving forward

Implementing Slices does require non-significant refactoring so I believe this should be split into a separate issue, such as "Implement Slices API in CASEI" or something of that nature. I have discussed this with @Tammo-Feldmann who may be the most knowledgeable engineer for the slices implementation task and I would like to support.

@heidimok
Copy link
Contributor Author

heidimok commented Aug 3, 2023

@naomatheus Thanks, so I think we can consider this issue done.

However, would you be able to create that separate issue to "Implement Slices API in CASEI" as mentioned above for the backlog on and then close out this issue?

@naomatheus
Copy link
Collaborator

Updates

This issue will closed with the following result:

  • One new issue/ticket created for implementation of the Slices API that will be added to Backlog
  • Improving CASEI build type has two components
    • Upgrading CASEI from Gatsby v4 to Gatsby v5.
    • Implementing the Slices API to "chunk" components at build time and increase overall build time

Result 1:

Result 2:

  • New issue created for implementing the Slices API in CASEI. For this, some material is left over in this PR's commit history. That being said, starting from scratch after v5 is merged to develop is also reasonable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Request See something that you think could be better? Describe the feature and your ideas and let's talk
Projects
None yet
Development

No branches or pull requests

3 participants