Purge GitHubusercontent Camo Cache with this GitHub Action

pulkit kathuria
web-developer
Published in
3 min readSep 16, 2023

--

GitHub badges from services like shields.io are often cached by GitHub using camo. While this caching can improve performance, it can also lead to outdated badge information displayed in your README.md file. To ensure that your badges always show the latest data, you need to periodically purge the cache. This is where the “GitHub Action to Purge githubusercontent Camo Cache” is used by Github.

Image by Author: cache clean up logo.

Quick Setup

Setting up the “Camo Purge” GitHub Action is a breeze. Simply add it to your existing GitHub Actions workflow YAML file, like so:

- uses: kevincobain2000/action-camo-purge@v1

That’s it! You don’t need to pass any additional arguments or configuration options. The action is designed to work seamlessly without any extra input.

Why Purge Camo Cache?

Before we dive into the specifics of how to use this action, let’s understand why purging the camo cache is important.

GitHub caches external images, including badges from services like codecov and coveritup.app, using githubusercontent camo. This means that instead of loading these images directly from their original sources, GitHub serves them from a proxy server. While this caching improves loading times, it can also cause badge information to become outdated.

Purging the camo cache ensures that the latest data is always displayed on your shield badges. Without cache purging, your badges might show outdated information, which could be misleading to users.

Image by Author: From kevincobain2000/gobrew

How It Works

This GitHub Action automatically purges the camo cache for images in your README.md file whenever there is a change in the repository. It triggers on push or pull_request events for a branch, ensuring that the cache is refreshed whenever your README.md file is updated.

Additionally, you can use this action with GitHub Actions cron feature to schedule regular cache purging at your preferred intervals.

No Need to Specify Branches or Org Names

One of the highlights of this action is that it automatically detects branch names and organization names, eliminating the need to pass any arguments or configurations. It’s designed to be simple and effortless.

Conclusion

Purging the githubusercontent camo cache for your badges and external images is crucial to ensure that your README.md always displays up-to-date information. With the “GitHub Action to Purge githubusercontent Camo Cache,” you can automate this process and keep your badges fresh without any hassle.

If you want to learn more about camo and anonymized URLs, GitHub provides comprehensive documentation that you can explore: Read more about camo.

Give this action a try, and say goodbye to outdated badge data in your README.md files!

Source Code

https://github.com/kevincobain2000/action-camo-purge

--

--

pulkit kathuria
web-developer

If it is on the internet already, I won’t write about it. Just sharing novel items that I discover during work and find worth sharing.