Skip to content
Chris Normand edited this page Oct 4, 2022 · 2 revisions

This is the process I go through to create a release, once the 'main' branch is ready.

  1. Ensure main is up to date:
  • git checkout main
  • git pull
  1. Bring release up to date
  • git checkout release
  • git merge main
  1. Edit release info. Normally, we do not update the readme to the new version until release time (because people check out the github page and don't understand that 'main' is a development branch).
  • Add release date to changelog.md. Enumerate changes (since they might be displayed to users upon version change).

  • Update Readme.md to release version

  • Update system.json to release version:
    "version": "0.15.5",

  • Update system.json to point to specific release download (which I assume is driven by the tag): "download": "https://github.com/crnormand/gurps/archive/0.15.5.zip",

  1. Commit and push the release branch, and then create the pull request to merge to main. I usually copy and paste the changelog section for that release as the commit comment.

  2. Draft a new release

  3. Create a new tag (e.g. '0.15.5')

  4. Select the 'release' branch as the Target

  5. Use the tag name (e.g. '0.15.5') as the release name

  6. Paste the changelog section into the description

  7. Click the Publish release button.

**And finally, I go to the main branch https://github.com/crnormand/gurps, and it should notify you that the "release" branch has a commit that can be merged, so I merge it. **

Current users will be notified of the version update, since all of our releases are using the same manifest: "manifest": "https://github.com/crnormand/gurps/releases/latest/download/system.json",

However, they can get a specific version of they want by using the release specific manifest: https://raw.githubusercontent.com/crnormand/gurps/0.15.5/system.json. And this is the manifest that Foundry uses.

Also, new users will only see the version provided by Foundry (and I have to go into the Foundry release manager to create a new entry for our release). However, they can install an older version, and the next time they connect, it will let them know there is an update.