Static assets served from cdn.stringify.gg, used by Stringify.
This repo exists so the main Stringify repo doesn't have to ship these files. Splitting them out keeps the app repo small and shortens deploy times — asset changes don't trigger an app rebuild, and app changes don't re-upload the CDN.
All assets live under assets/. Each subdirectory groups a category of resource (agents, maps, news mirrors for the in-app news feed, id_cards, pings, loadouts, etc.) referenced by the Stringify app at runtime via https://cdn.strinova.gg/assets/<path>.
On every push to main that touches assets/, .github/workflows/upload-r2.yml runs .github/scripts/upload_r2.py, which syncs assets/ to the Cloudflare R2 bucket backing the CDN. The script compares local MD5s against remote ETags and only uploads changed files, so re-runs are cheap.
Manual re-runs are available via the Run workflow button on the Actions tab (workflow_dispatch).
- Drop files into the appropriate subdirectory under assets/.
- Commit and push to
main. - The workflow will pick up the changes and upload them to R2.
Files become available at https://cdn.stringify.gg/assets/<path-relative-to-assets>.