Flow-Launcher / Flow.Launcher.PluginsManifest

Community-made plugins and submissions
38 stars 108 forks source link

Updating Plugins #370

Closed HorridModz closed 3 months ago

HorridModz commented 3 months ago

I've made a major update to my plugin, which adds features and fixes bugs. Is there a way to roll out the update? If I submit a pull request to overwrite it in plugins.json, will it automatically update? Or is there a way to notify users of my plugin and give them an option to update it?

Thanks.

HorridModz commented 3 months ago

Also, my plugin's UrlDownload is listed as https://github.com/HorridModz/Flow.Launcher.Plugin.Add2Path/releases/download/v1.0.0/Flow.Launcher.Plugin.Add2Path.zip, but in my new release (2.0.0) the link has changed to https://github.com/HorridModz/Flow.Launcher.Plugin.Add2Path/releases/download/v2.0.0/Flow.Launcher.Plugin.Add2Path.zip. So I assume this will break the CI?

NoPlagiarism commented 3 months ago

Is there a way to roll out the update?

Just use GitHub release, preferable using workflow like this one

will it automatically update

It automatically updates using data from repo releases. It already did ( https://github.com/Flow-Launcher/Flow.Launcher.PluginsManifest/commit/bff84b3af7f186be71436a983b66f82d970f3063 )

is there a way to notify users of my plugin

  1. pm update
  2. There is Discord channel which has notification about every plugin included in this manifest
HorridModz commented 3 months ago

Is there a way to roll out the update?

Just use GitHub release, preferable using workflow like this one

will it automatically update

It automatically updates using data from repo releases. It already did ( bff84b3 )

is there a way to notify users of my plugin

  1. pm update
  2. There is Discord channel which has notification about every plugin included in this manifest

It already updated? That's interesting, how would it know if the release link changed (or it just uses latest release)? But I see the commit you linked - thanks for letting me know.

HorridModz commented 3 months ago

I thought I already posted this, but I don't see it so I'll post it again - it doesn't seem to have updated on my end. I both reinstalled the plugin and ran pm update; it's still using the old version in my FlowLauncher.

HorridModz commented 3 months ago

@jjw24

jjw24 commented 3 months ago

So all plugins do get updated to newer versions automatically, it's an automated process that checks for new versions. You don't need to submit a separate pr after you release an update to your plugin as long as it's using GitHub Release as mentioned by NoPlagiarism.

The availability in the Plugin Store after the manifest is updated may vary because of the use of CDN and their caching policy, but will appear in the store eventually.

jjw24 commented 3 months ago

@HorridModz I see your plugin repo does not use GitHub Action workflow to publish your release, please add it. You can follow this as an example.

Please ensure the workflow is added as it is an important requirement for all plugins in the store.

HorridModz commented 3 months ago

@HorridModz I see your plugin repo does not use GitHub Action workflow to publish your release, please add it. You can follow this as an example.

Please ensure the workflow is added as it is an important requirement for all plugins in the store.

Sorry for being a stubborn pain in the butt, but I've never used Github Actions. Do I have to - this is just a wild case - add that file to my project and edit it, and then it will run and everything will somehow be unicorns and rainbows next time I push to Github? Is there a tutorial or some guide I can follow? Thanks, and sorry for asking you to spoonfeed me.

HorridModz commented 3 months ago

The availability in the Plugin Store after the manifest is updated may vary because of the use of CDN and their caching policy, but will appear in the store eventually.

Oh wow, I tried pm update again and it worked this time! That's great! It kind of sucks that the update isn't automatically rolled out, though, as major bugfixes are included that fix corruption of the PATH environmental variable (a serious change I want people to automatically have) - would it have been considered the plugin's responsible to detect and require updates when it was first written and published?

jjw24 commented 3 months ago

@HorridModz I see your plugin repo does not use GitHub Action workflow to publish your release, please add it. You can follow this as an example. Please ensure the workflow is added as it is an important requirement for all plugins in the store.

Sorry for being a stubborn pain in the butt, but I've never used Github Actions. Do I have to - this is just a wild case - add that file to my project and edit it, and then it will run and everything will somehow be unicorns and rainbows next time I push to Github? Is there a tutorial or some guide I can follow? Thanks, and sorry for asking you to spoonfeed me.

All good.

GitHub Actions is a CI/CD (Continuous Integration and Continuous Deployment) platform that allows you to automate your project development workflows. It enables you to build, test, and release your code (plugin in your case) directly from GitHub by creating custom workflows defined in YAML files. These workflows can be triggered by various events, such as push events, pull requests, or schedule-based triggers, so when you push your code changes it will build it automatically, and when you push your code into your main branch, it will automatically create a new GitHub Release. This means you do not need to build locally on your computer, zip up the files and manually create a release.

Give that file a go, do it on a separate branch, and when I have some free time I can help you fix any issues you may have with it. You can try this https://docs.github.com/en/actions/using-workflows/about-workflows#create-an-example-workflow

HorridModz commented 3 months ago

@HorridModz I see your plugin repo does not use GitHub Action workflow to publish your release, please add it. You can follow this as an example. Please ensure the workflow is added as it is an important requirement for all plugins in the store.

Sorry for being a stubborn pain in the butt, but I've never used Github Actions. Do I have to - this is just a wild case - add that file to my project and edit it, and then it will run and everything will somehow be unicorns and rainbows next time I push to Github? Is there a tutorial or some guide I can follow? Thanks, and sorry for asking you to spoonfeed me.

All good.

GitHub Actions is a CI/CD (Continuous Integration and Continuous Deployment) platform that allows you to automate your project development workflows. It enables you to build, test, and release your code (plugin in your case) directly from GitHub by creating custom workflows defined in YAML files. These workflows can be triggered by various events, such as push events, pull requests, or schedule-based triggers, so when you push your code changes it will build it automatically, and when you push your code into your main branch, it will automatically create a new GitHub Release. This means you do not need to build locally on your computer, zip up the files and manually create a release.

Give that file a go, do it on a separate branch, and when I have some free time I can help you fix any issues you may have with it. You can try this docs.github.com/en/actions/using-workflows/about-workflows#create-an-example-workflow

Thank you! Sounds good.

HorridModz commented 3 months ago

@HorridModz I see your plugin repo does not use GitHub Action workflow to publish your release, please add it. You can follow this as an example. Please ensure the workflow is added as it is an important requirement for all plugins in the store.

Sorry for being a stubborn pain in the butt, but I've never used Github Actions. Do I have to - this is just a wild case - add that file to my project and edit it, and then it will run and everything will somehow be unicorns and rainbows next time I push to Github? Is there a tutorial or some guide I can follow? Thanks, and sorry for asking you to spoonfeed me.

All good.

GitHub Actions is a CI/CD (Continuous Integration and Continuous Deployment) platform that allows you to automate your project development workflows. It enables you to build, test, and release your code (plugin in your case) directly from GitHub by creating custom workflows defined in YAML files. These workflows can be triggered by various events, such as push events, pull requests, or schedule-based triggers, so when you push your code changes it will build it automatically, and when you push your code into your main branch, it will automatically create a new GitHub Release. This means you do not need to build locally on your computer, zip up the files and manually create a release.

Give that file a go, do it on a separate branch, and when I have some free time I can help you fix any issues you may have with it. You can try this docs.github.com/en/actions/using-workflows/about-workflows#create-an-example-workflow

Just one more question, if you don't mind. Should I create the action files locally, or on the remote repository? Does it matter?

HorridModz commented 3 months ago

@jjw24 If you're able to, it would be great if you could check out the pull request I just created in my plugin's repo. Absolutely no rush, and I really appreciate all the help.

I'll close this issue since it has nothing to do with this repository and we should be good to go,