Publish GitHub repository releases as Sparkle compatible appcast.xml
This project is a Heroku ready JAVA JAX-RS server side application that accept requests for /your_project/appcast.xml
, fetch (using the GitHub API) the releases infos from github.com/your_username/your_project
, then format and return then into a Sparkle compatible RSS feed.
WARNING: Please understand the implications of issuing a GitHub personal access tokens. Ensure that the token you create is only used for this tool, and that you allow only the public_repo
scope, or else, your private repositories releases may leak to the public!
Deploy the app, either easily with the Deploy to Heroku
button, or flexibly with a git clone
of this project.
This method allows you to quikly try the project.
- Click the
Deploy to Heroku
button just here:
- Fill the mandatory variables
GITHUB_API_LOGIN
: your GitHub login (username)GITHUB_API_TOKEN
: a generated GitHub personal access token with thepublic_repo
scope
- Hit the
Deploy for Free
button
Then wait for Heroku to create, configure and deploy your app.
This method is more flexible.
- Clone this repository (or fork and clone, for even more control)
$ git clone https://github.com/pierredavidbelanger/githubappcaster
$ cd githubappcaster
- Create an Heroku app from the clone
$ heroku create
- Configure the app
$ heroku config:set GITHUB_API_LOGIN="your_username"
$ heroku config:set GITHUB_API_TOKEN="your_token"
$ heroku config:set CACHE_SPEC="maximumSize=10,expireAfterWrite=5m"
- Push the app
$ git push heroku master
The appcast.xml
for one of your project hosted on GitHub at your_username/your_project
will be found at:
https:// generated-name-123456.herokuapp.com/your_project/appcast.xml
Where generated-name-123456
is the name of your newly deployed app, and your_project
is the name of any repository that belongs to you (the username entered earlier into the GITHUB_API_LOGIN
variable).
And enjoy automatic updates linked to your repository releases!