generateappcast

command
v0.7.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 12, 2025 License: Apache-2.0 Imports: 9 Imported by: 0

README

Appcast Generator

This tool generates appcast.xml files for Sparkle auto-updater from the template.

Usage

# Set the private key environment variable
export SPARKLE_PRIVATE_KEY="your_base64_encoded_private_key"

# Generate appcast.xml (downloads from GitHub releases)
go run main-generateappcast.go v0.6.0

# Or use local DMG files (for GitHub Actions)
export DMG_FILES_PATH="./path/to/dmg/files"
go run main-generateappcast.go v0.6.0

This tool:

  • Downloads DMG files from GitHub releases OR reads from local files
  • Gets real file sizes
  • Generates real Ed25519 signatures using the private key
  • Creates production-ready appcast.xml

Environment Variables

  • SPARKLE_PRIVATE_KEY (required): Base64-encoded Ed25519 private key for signing
  • DMG_FILES_PATH (optional): Path to local DMG files. If set, reads from local files instead of downloading from GitHub

Task Integration

# Generate appcast (requires SPARKLE_PRIVATE_KEY env var)
task generate:appcast -- v0.6.0

GitHub Actions Integration

The generator is automatically run in the GitHub Actions workflow after the DMG files are built and uploaded to the draft release.

Template

The generator uses macosapp/autoupdater/appcast.xml.template and replaces these placeholders:

  • VERSION_PLACEHOLDER - Version number (without 'v' prefix)
  • PUBDATE_PLACEHOLDER - Current date in RFC 2822 format
  • RELEASENOTES_PLACEHOLDER - Empty string
  • ENCLOSURE_PLACEHOLDER - Generated enclosure XML for both amd64 and arm64

Output

The generated appcast.xml contains enclosures for both architectures:

  • Outrig-darwin-amd64-VERSION.dmg (sparkle:arch="x86_64")
  • Outrig-darwin-arm64-VERSION.dmg (sparkle:arch="arm64")

Each enclosure includes:

  • Download URL from GitHub releases
  • File size
  • Ed25519 signature for verification
  • Architecture and OS information

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL