Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deploy prerelease builds to Flow-Launcher/Prereleases #1547

Merged
merged 2 commits into from
Nov 17, 2022

Conversation

jjw24
Copy link
Member

@jjw24 jjw24 commented Nov 17, 2022

Context

Update our deployment pipeline to deploy to the GitHub Releases page in the new Flow-Launcher/Prereleases repo when a PR is merged into dev.

Why:

We want a place where we can download prerelease builds that is separated from our main repo's releases so it's cleaner and easier to navigate for average users. Having a prerelease repo will bring the following additional benefits:

  • Overcome the AppVeyor dev branch artifact download limit
  • Easier linking to the prerelease build artifacts via https://github.com/Flow-Launcher/Prereleases/releases/latest
  • A dedicated place for all prerelease versions
  • Set the foundation for setting up the ability to switch to prerelease version from within Flow's settings by switching the endpoint to the prerelease API endpoint.

Tested:

  • The prerelease deployment only occurs on specific branch so it will only be triggered by pushes to the dev branch.
  • Artifacts uploaded to the Flow-Launcher/Prereleases can be accessed via the .../releases/latest URL.
  • Versioning of the prerelease tag should be Flow's production version plus AppVeyor's build number, e.g. v1.9.5.9483
  • Tested packaging with version formats 1.9.5.9483 and 1.9.5-prerelease.9483 and no exe was built.

Shortcomings and future plans:

  1. Unfortunately, Squirrel.Windows (even with the latest at the moment v2.0.1) does not support the SemVer2 version format, so having versions like 1.9.5-prerelease.5719 or 1.9.5.5719 does not work because Squirrel does not build the exe package. This issue is captured in Unable to use SemVer2 version format Squirrel/Squirrel.Windows#1394 and The _versionRegex is not correct and fail to identify semver with dot separated prerelease identifiers Squirrel/Squirrel.Windows#1829
  2. In the long term we will need to switch to Clowd.Squirrel to be at a minimum properly version our prerelease builds. This will be a bigger piece of work.
  3. In the short term, we can work around it inside our updater code to compare the current version to the tag in the prerelease repo when user switches to prerelease version. Downside will be that in Settings About section it will still show the productioin version instead of the prerelease version like how it is currently when you download it from AppVeyor.

@jjw24 jjw24 added enhancement New feature or request CI/CD labels Nov 17, 2022
@jjw24 jjw24 added this to the 1.10.0 milestone Nov 17, 2022
@jjw24 jjw24 self-assigned this Nov 17, 2022
onesounds
onesounds previously approved these changes Nov 17, 2022
kubalav
kubalav previously approved these changes Nov 17, 2022
@VictoriousRaptor
Copy link
Contributor

VictoriousRaptor commented Nov 17, 2022

Question: what is the name of log folder of the prerelease version in this pr? Is it 1.9.5 or 1.9.5.xxxx?

And don't forget to update the discussion thread.

@jjw24
Copy link
Member Author

jjw24 commented Nov 17, 2022

Question: what is the name of log folder of the prerelease version in this pr? Is it 1.9.5 or 1.9.5.xxxx?

Still 1.9.5. Everything is the same just the tag is 1.9.5.xxxx

@jjw24
Copy link
Member Author

jjw24 commented Nov 17, 2022

Will look like this in the prerelease repo:
image

@jjw24 jjw24 dismissed stale reviews from kubalav and onesounds via fc65e7d November 17, 2022 10:17
@jjw24 jjw24 enabled auto-merge November 17, 2022 10:45
@jjw24 jjw24 merged commit 0484046 into dev Nov 17, 2022
@jjw24 jjw24 deleted the add_prerelease_deployment branch November 17, 2022 11:28
@jjw24 jjw24 mentioned this pull request Apr 23, 2023
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI/CD enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants