Skip to main content

Main setup

See the repo: https://github.com/space-wizards-federation/SS14.Changelog

RSS feed

The publishing system can automatically publish the changelog to an RSS feed. This is done from actions_changelog_rss.py which is ran from the publishing workflow.

Server setup

The resulting RSS file must be hosted on a separate server, accessible via SFTP. I recommend setting up an SFTP-only chrooted user. If you know how to do this you probably don’t need to look very hard at this.
You will also need to add the following to /etc/ssh/sshd_config:
You’ll still need to make sure the changelog file is exposed through a web server somwhere. I’ll leave that up to you. Whatever you do, make sure that your web server reports the file’s Content-Type as application/rss+xml.
The SSH key MUST be ed25519. I couldn’t be bothered to make the script more flexible.

GitHub setup

In the official publishing workflow, actions_changelog_rss.py automatically starts running once the CHANGELOG_RSS_KEY secret is set on GitHub. This should be the private key that will allow you to connect over SFTP. Before you set that however, there are still some changes you should make to actions_changelog_rss.py:
  • You should set the SSH_ parameters to whatever connection parameters you need to connect via SSH.
  • RSS_FILE is the name of the destination file in the SFTP directory.
  • HOST_KEYS must contain the ed25519 host key of your destination system. You can find it at /etc/ssh/ssh_host_ed25519_key.pub. Cut off the starting ssh-ed25519 bit.
  • FEED_ parameters all change the contents of the RSS feed. You should probably change these to make them distinct from the ones used by Wizard’s Den.

Custom XML data

The RSS feed created contains both a normal HTML-based description of the changes, as well as some more structured information from the source changelog, that can be displayed by specialized tools. This data is all under the https://spacestation14.com/changelog_rss XML namespace. A quick summary of the data:
  • An <item> contains a ss14:from-id and ss14:to-id to describe the range of changelogs covered by an RSS item.
  • Each RSS item can contain a series of <ss14:entry> elements containing the entries making up the RSS item.
Last modified on June 20, 2026