Backend: cache events and contributor listings #1051
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When making changes to the site, Saïvann and I often diff the resulting HTML output with output from earlier known-good commits. One problem with this method is that the HTML output isn't fully deterministic---some of it comes from external sites and can change massively between two builds that are only minutes apart, making reading the diff unpleasant and less useful than it could be.
This commit caches that external data between builds so that two builds on the same computer are very nearly deterministic. As evidence, at the end of this message I offer inline the full diff of two sequential builds both on this commit.
Cached Meetup.com events, Bitcoin Core contributor listings, and Bitcoin.org contributor listings are retained for 24 hours before being refreshed. Cached Geo-location data for conferences is retained until the _events.yml file is updated. Caches are updated based on file timestamps, so they can be manipulated using
touch
or simply deleted to fetch new data.This commit includes one small miscellaneous change to the Makefile to reduce the size of the /commit.txt file. (The replaced command didn't work the way I thought it did; this command produces the correct output.)