Sparkle Validator

A field instrument for inspecting appcast.xml feeds — errors, warnings, and the small mistakes that ship at 2 a.m.

Free & Open Source MIT License No tracking · validates locally Source on GitHub
A celestial chart depicting a magnifying glass formed from constellations, framed by trumpeting cherubim and armillary spheres
Plate I Inspectio Stellaris
§I

Submit your feed

By URL, by file, or by paste. We'll inspect it in your browser — nothing is uploaded.

Enter the URL to your appcast.xml file. We'll fetch it through our proxy and validate it for you.

Sparkle is the standard framework for delivering software updates to macOS apps. It reads an appcast.xml feed to discover new versions. This tool catches mistakes before your users do — checking signatures, versions, URLs, and sixty-odd other rules drawn from the Sparkle documentation.

§II

From the terminal

Install the CLI for local validation and CI/CD integration.

  • npm $ npm install -g sparkle-validator
  • brew $ brew install dweekly/sparkle-validator/sparkle-validator
  • npx $ npx sparkle-validator https://example.com/appcast.xml
--check-urls verify links --strict mode JSON output stdin support
§III

In your pipeline

Validate appcasts automatically on every push.

- uses: dweekly/Sparkle-Validator@v1
  with:
    file: appcast.xml
strict mode check-urls option JSON output View on Marketplace ↗
§IV

Schema validation

Validate offline against our XSD schema with xmllint.

$ xmllint --schema https://sparklevalidator.com/appcast.xsd \
        --noout your-appcast.xml