Skip to content

Instantly share code, notes, and snippets.

@SpareSimian
Last active April 7, 2024 00:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save SpareSimian/c91f5f0261a11f030c363553f685ab71 to your computer and use it in GitHub Desktop.
Save SpareSimian/c91f5f0261a11f030c363553f685ab71 to your computer and use it in GitHub Desktop.
WoW addon automatic release generation for WoWUp addon manager
Minimal steps to publish a World of Warcraft addon for use by multiple addon updaters.
Start by installing a simple GitHub "workflow". This describes a
GitHub action that will be invoked when you push an annotated tag to
your repository. The action will spawn a virtual machine and run a
script that checks out your addon, zips it up in a format suitable
for various addon updater programs, and creates a GitHub "Release".
You can grab a minimal version of this file here:
https://github.com/SpareSimian/BetterBagsItemDumper/blob/main/.github/workflows/main.yml
Copy that file to .github/workflow in your repo. This makes it
available to the GitHub virtual machine system. This minimal example
is suitable for the WoWUp and Ajour updaters using a GitHub URL. You
can extend it to also upload to Curse and WoWInterface. See the
BigWigMods/Packager repo for details.
In your addon repository, change the permissions on your GITHUB_TOKEN
to allow the packaging workflow to write to your repo. This is needed
for it to create the release. From the top bar above your repo, select
Settings, Actions, General, Workflow permissions, and change the
setting from read to read/write.
Now you're ready to make a release. Simply push an annotated tag with your new version number as the tag:
git tag 1.2.3.4 -a -m "Something changed"
git push --follow-tags
Pushing the tag will launch GitHub's virtual machine system and make a
release. You can look under the Actions tab for your repo to confirm
that the action completed successfully.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment