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

[suggestion] Label only highest tag as latest release #16297

Closed
1 task done
pataxis opened this issue May 17, 2024 · 5 comments
Closed
1 task done

[suggestion] Label only highest tag as latest release #16297

pataxis opened this issue May 17, 2024 · 5 comments
Assignees

Comments

@pataxis
Copy link

pataxis commented May 17, 2024

What is your suggestion?

In our CI we download the Conan Debian package from the assets of the latest release via the GitHub API to always stay update.

The problem

We noticed a strange behaviour where downloads often, but not always, failed at build time on downloading Conan Debian package.
I thought it was only a matter of hitting the Rate Limit occasionally, but now that we worked around that issue, we found another source to the shakiness.

The problem is that Conan always mark any tag as the latest release, no matter if it's major 1 or a major 2 release. This makes the latest release feature of GitHub API useless.

Workaround

I have updated our CI to:

  1. Get all tags from https://api.github.com/repos/conan-io/conan/tags and parse out highest tag with major 2
  2. Call https://api.github.com/repos/conan-io/conan/releases/tags/<HIGHEST_TAG> and parse out the downloadable assets with jq -r .assets[].browser_download_url and grep -E https://github.com.*.deb
  3. Download and install the Debian package

Suggestion

It would make more sense if you only set the latest label on releases of the highest major, which now is 2.

Have you read the CONTRIBUTING guide?

  • I've read the CONTRIBUTING guide
@memsharded memsharded self-assigned this May 17, 2024
@memsharded
Copy link
Member

Hi @pataxis

Thanks for your feedback.

I think you are right, and it doesn't make sense to tag all releases as latest, I think you might have hit the issue with the latest 1.64.1 release.

We'll have a look, and we will probably try your suggestion, keep tuned :)

@memsharded
Copy link
Member

There is a problem, the library we are using to create the releases in Github doesn't have support for not making a release the latest, it just merged the feature in PyGithub/PyGithub#2888, but not yet released.

@memsharded
Copy link
Member

@czoido wdyt?

As the Conan 1.X releases will be less frequent, maybe we can just recall to manually change the latest in https://github.com/conan-io/conan/releases when we release a 1.X?

@czoido
Copy link
Contributor

czoido commented May 17, 2024

@czoido wdyt?

As the Conan 1.X releases will be less frequent, maybe we can just recall to manually change the latest in https://github.com/conan-io/conan/releases when we release a 1.X?

Yes, I think that's the best option because we already tried to fix this in the past but we faced the issue with the library. Now that we are releasing 1.X from time to time I'll add some warning in the release pipeline so we don't forget next time.

@memsharded memsharded removed this from the 2.4.0 milestone May 19, 2024
@memsharded
Copy link
Member

Thanks @czoido, let's do that.

Closing this ticket then, thanks for the feedback!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants