Giter Site home page Giter Site logo

codeforamerica / speedlify-cfa Goto Github PK

View Code? Open in Web Editor NEW
1.0 27.0 1.0 365 KB

A leader board of sites based on performance metrics.

Home Page: https://speedlify.codeforamerica.org/

License: MIT License

JavaScript 46.37% CSS 19.28% Nunjucks 34.35%
a11y performance netlify speedlify

speedlify-cfa's Introduction

Speedlify

Netlify deploy status

CRON GitHub Action

After you make a fast web site, keep it fast by measuring it over time. Read Use Speedlify to Continuously Measure Site Performance. Created by @zachleat.

  • Requires Node 12+
  • Each file in _data/sites/*.js is a category and contains a list of sites for comparison.

Run locally

npm install
npm run test-pages
npm run start

Update sites to run statistics on

Go to one of the JavaScript files in _data/sites and modify the urls field.

Netlify for deployments

You'll need a login and be added to the Netlify team account. There you see trigger a production deploy or monitor failed deploys. Current folks with access:

  • Lou Moore
  • Colt Borg

Automatic builds

This repo has a GitHub Action that automatically re-deploy the site with new data every Monday and Friday morning.


Notes

Can run directly on Netlify (including your tests) and will save the results to a Netlify build cache (via Netlify Build Plugins, see plugins/keep-data-cache/).

Speedlify will also save your data to /results.zip so that you can download later. Though this has proved to be unnecessary so far, it does serve as a fallback backup mechanism in case the Netlify cache is lost. Just look up your previous build URL and download the data to restore.

Known Limitations

  • If you change a URL to remove a redirect (to remove or add a www., moved domains, etc), you probably want to delete the old URL’s data otherwise you’ll have two entries in the results list.
  • When running on Netlify, a single category has a max limit on the number of sites it can test, upper bound on how many tests it can complete in the 15 minute Netlify build limit.
  • The same URL cannot be listed in two different categories (yet).

speedlify-cfa's People

Contributors

coltborg avatar dmgawel avatar ixartz avatar loumoore avatar mpidcock avatar nhoizey avatar polarbirke avatar thewbear avatar zachleat avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

speedlify-cfa's Issues

codeforamerica.org is timing out with Lighthouse

This is happening with both v3 and v4 of the performance-leaderboard package.

Going to monitor issue 44 and issue 46 in the original repo.

11:10:37 AM: (Site 1 of 5, run 1 of 3): https://www.codeforamerica.org
11:12:50 AM: Logged an error with https://www.codeforamerica.org:  LighthouseError [LHError]: PROTOCOL_TIMEOUT
11:12:50 AM:     at Timeout.<anonymous> (/opt/build/repo/node_modules/lighthouse/lighthouse-core/gather/driver.js:322:21)
11:12:50 AM:     at listOnTimeout (internal/timers.js:554:17)
11:12:50 AM:     at processTimers (internal/timers.js:497:7) {
11:12:50 AM:   code: 'PROTOCOL_TIMEOUT',
11:12:50 AM:   friendlyMessage: 'Waiting for DevTools protocol response has exceeded the allotted time. (Method: Runtime.evaluate)',
11:12:50 AM:   lhrRuntimeError: true,
11:12:50 AM:   protocolMethod: 'Runtime.evaluate'
11:12:50 AM: }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.