Open assarbad opened 1 month ago
Hi folks, still preparing this. Same person as #16979, but this is my account outside of work. I also did a few of the PRs to bring the winget-pkgs manifest for Conan up-to-date (latest microsoft/winget-pkgs#179052).
This PR will require some assistance and preparation by at least one project member to get the GitHub action going.
FWIW the process I outlined for another project windirstat/issues#88 is probably applicable here as well. But since the existing manifest seems much closer to what Komac expects, I expect less problems here.
I will try this out via my own fork, creating one (or a few) PRs with a fake (re-release) of the 2.8.0 Windows installers. No worries, I'll close the PRs almost immediately. Having contributed to microsoft/winget-pkgs before, I am confident that none of these test PRs would go through accidentally.
PS: Could one of you — @czoido or @memsharded — provide guidance please. It feels like several of those checkboxes above don't exactly apply for a PR like this one.
Hi @assarbad
Thanks for your contribution.
We are at this moment exploring the possibility to move our Conan client CI to GH actions. If this action helps improving the automation for winget, that would be a good addition, but it would be important that this wouldn't cause any disruptions or blockage to the Conan releases if something goes wrong in this action, and also to consider possible future maintenance cost. From the code, it seems the action is pretty simple, but just to make sure about possible future issues.
In any case, I'd prefer to wait a bit until we move the main CI to GH actions (if it happens, still evaluating), we get a bit more used to them, and resume this one from there. I think that one or two releases once we move to CI with GH actions would be good to continue with this.
Thanks very much!
We are at this moment exploring the possibility to move our Conan client CI to GH actions. If this action helps improving the automation for winget, that would be a good addition, but it would be important that this wouldn't cause any disruptions or blockage to the Conan releases if something goes wrong in this action, and also to consider possible future maintenance cost. From the code, it seems the action is pretty simple, but just to make sure about possible future issues.
@memsharded Understood. So to the best of my knowledge here is how it works (some further findings about Komac and winget-releaser are documented in windirstat/windirstat#88).
winget-releaser
uses Komac under the hoodwinget-releaser
action merely formalizes the Komac invocationThere is something along the lines of continue-on-error
for GitHub actions, if you wanted to make sure. But I think each action stands alone. So when this action triggers it'll be run but failure should not affect other actions unless you somehow establish a dependency chain (don't know how you'd do that, btw).
In any case, I'd prefer to wait a bit until we move the main CI to GH actions (if it happens, still evaluating), we get a bit more used to them, and resume this one from there. I think that one or two releases once we move to CI with GH actions would be good to continue with this.
Perfectly fine with me. I have figured it out enough so that I can invoke Komac manually to do the same deed the above action would, so creating an updated manifest is no longer a manual process for me.
In fact, so could you. Here's the command line for a hypothetical version 2.8.1, in case you stick to the same tag and file name conventions:
$ komac update JFrog.Conan --version 2.8.1 --urls https://github.com/conan-io/conan/releases/download/2.8.1/conan-2.8.1-windows-i686-installer.exe https://github.com/conan-io/conan/releases/download/2.8.1/conan-2.8.1-windows-x86_64-installer.exe
It's trivial to adapt this for subsequent releases.
One caveat: should you ever desire to use an alternative tag naming convention where the tag name contains a leading v or other parts that aren't exactly the version, let me know and I'll try to adapt it. For WinDirStat I just finished it so that we can distinguish beta/...
from release/...
tags and thereby have two distinct actions for updating a separate .Beta
manifest in winget-pkgs
.
public_repo
(no other scopes should be active)WINGET_TOKEN
fork-user
needs to be configured accordinglymax-versions-to-keep
can be configured to limit the number of older version manifests available (e.g. if the old version downloads are known to disappear at a certain cadence)Changelog: (Feature | Fix | Bugfix): Describe here your pull request Docs: https://github.com/conan-io/docs/pull/XXXX
develop
branch, documenting this one.