🇺🇦 We stand with Ukraine! 🇺🇦

Cannot get a plugin to auto update

I'm trying to get my plugin to auto update from GitHub, but I can't get it to work and am looking for some tips.

First question: Am I correct in thinking that a plugin can auto update from GitHub even if it's not published through the octoprint plugin repository?

If not then I guess that will be the issue?

This is correct

Do you have a link to the plugin on Github, it will help to check the software update hook is configured right.

OK - well that's a start!

The Github repo is:
https://github.com/StevilKnevil/OctoPrint-CalibrationTests

I have a link to that repo in my init.py:

		# Define the configuration for your plugin to use with the Software Update
		# Plugin here. See https://docs.octoprint.org/en/master/bundledplugins/softwareupdate.html
		# for details.
		return dict(
			calibrationtests=dict(
				displayName="Calibrationtests Plugin",
				displayVersion=self._plugin_version,

				# version check: github repository
				type="github_release",
				user="StevilKnevil",
				repo="OctoPrint-CalibrationTests",
				current=self._plugin_version,

				# update method: pip
				pip="https://github.com/StevilKnevil/OctoPrint-CalibrationTests/archive/{target_version}.zip"
			)
		)

I have released versions in Github:
https://github.com/StevilKnevil/OctoPrint-CalibrationTests/releases

And I have a matching version number in my setup.py
plugin_version = "0.0.2"

But my versioncache.yaml can't see the remote it seems:

calibrationtests:
  available: false
  disabled: false
  error: null
  hash: f7a8f92becf70cb5229bb59e3c96ea22
  information:
    local:
      name: 0.0.1
      value: 0.0.1
    needs_online: true
    remote:
      name: '-'
      release_notes: null
      value: null
  online: true
  possible: true
  timestamp: 1612274664.6607733

Any ideas where to look next?

On your github page, you have marked the releases as 'pre-release'. By default, OctoPrint will not pick these up for as stable releases, because as the name implies they are not designated 'stable'.

If you uncheck 'Mark pre-release' then force check for updates, it should show up.

If you do want to configure pre-release channels, then read this, with a guide linked at the bottom:

Perfect - that worked a treat, thanks.

I'd seen the docs about having stable and RC branches (which I will get to at some point, though not before I publish on the plugin repo I think!). However I'd not seen any docs that has said "don't mark it as pre release"

All fixed now, thanks :slight_smile: