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

Gatsby willit.build benchmarks #174

Open
11 tasks
herflis opened this issue Feb 5, 2021 · 0 comments
Open
11 tasks

Gatsby willit.build benchmarks #174

herflis opened this issue Feb 5, 2021 · 0 comments

Comments

@herflis
Copy link
Contributor

herflis commented Feb 5, 2021

These benchmarks are very important. Beyond being a valuable resource for those looking to build projects with Gatsby + your CMS, they also act as performance tests. These Willlit.build benchmarks help us identify issues and optimize performance in Gatsby Cloud and in source plugins. Check out our instructions for creating a Willit.build benchmark to get started.

The tasks are:

Creating the Benchmark Sites

  • Create 4 separate repository ("To make this as realistic as possible we recommend populating unique instances of the CMS with each of the required data sets"), three with business plan and one with enterprise (because of the number of contents limit)
  • Create a content type to store articles with a title (shorttext), body field (longtext), and image url (shorttext).
  • Import content from the appropriate folders to the appropriate repositories https://github.com/gatsbyjs/will-it-generate/tree/develop/src/data/articles (they're benchmarking only 512, 4096, 8192 and 32768)

"It’s generally recommended to use a script that pulls data from the provided data and generates the posts in your CMS (but do what works best for your CMS)."

Frontend tasks

The next step is to create a Gatsby site that can be built using the data from the previously created data sets. This Gatsby site must:

  • Provide a listing page that lists (at minimum) all titles of the benchmark dataset
  • Provide individual pages for each piece of content from the benchmark dataset
  • Include the corresponding image (processed through Sharp and using Gatsby Image) on each individual Gatsby page
  • Have gatsby-plugin-benchmark-reporting installed for reporting
  • Both your data source plugin and gatsby-plugin-benchmark-reporting should have their version set to “*” in thepackage.json. This allows the latest version to always be used when benchmarking.
  • No lock file should be committed to the repository for the benchmark site.

Misc

  • The gatsby site needs to have an update script in place to update the title of a post for incremental builds. See example script for updating Drupal data. This script needs to be executable via yarn data-update or npm run data-update.
  • Your CMS will also need to trigger the appropriate webhooks on this data change, just like it would in production. These webhooks will be provided to you by the Gatsby team after you submit your benchmark site for inclusion on WIB.
@herflis herflis added this to the Sprint 229 milestone Feb 5, 2021
@herflis herflis modified the milestones: Sprint 229, Sprint 230 Feb 17, 2021
@herflis herflis modified the milestones: Sprint 230, Sprint 231 Mar 3, 2021
@herflis herflis modified the milestones: Sprint 231, Sprint 232 Mar 17, 2021
@herflis herflis removed this from the Sprint 232 milestone Mar 31, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant