Flow-Launcher / Flow-Launcher/Flow.Launcher.PluginsManifest

Publish workflow clobbers existing release

Open
#406 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
68
Forks
240
Avg merge
4d 12h
Merged PRs (30d)
4

Description

The sample Github Actions workflow will clobber your existing Github Release far too easily if you let it. This means you'll publish a potentially broken version of your plugin to the latest release, which breaks for anyone who tries to install it.

The docs: https://www.flowlauncher.com/docs/#/py-setup-project?id=_1-add-github-workflow
Recommend using this workflow: https://github.com/Flow-Launcher/Flow.Launcher.Plugin.HelloWorldPython/blob/main/.github/workflows/Publish%20Release.yml

The problem is, it runs for every push to `main`, including the commit immediately *after* you published a new version. Imagine this scenario:

1. Change version number in `plugin.json` to `1.0.0`
2. Commit, `git tag v1.0.0`, and `git push --tags`
3. Workflow runs, reads version from plugin.json, builds, uploads zip to newly-created Release 1.0.0
4. Start working on new features for v2
5. `git commit -m 'WIP new features, kinda works, breaks sometimes' && git push`
6. Workflow runs again! This is bad
7. Workflow runs, reads version from plugin.json -- is still 1.0.0 -- builds, **overwrites zip on Release 1.0.0!**

Now, when someone tries to install 1.0.0 of the plugin, they will download a broken version with "WIP new feature" code.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.