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

Use Releases instead of Tags #106

Open
ericLemanissier opened this issue Mar 20, 2023 · 3 comments
Open

Use Releases instead of Tags #106

ericLemanissier opened this issue Mar 20, 2023 · 3 comments

Comments

@ericLemanissier
Copy link
Contributor

Currently, conan-center-bot uses git tags to identify new version, and their download URLs. This is not ideal because more and more recipes are using release tarballs instead of git archives (this ensures sha stability).
With the current stuation,
Github and gitlab provide API to list releases and their artifact (eg https://gitlab.freedesktop.org/api/v4/projects/wayland%2Fwayland/releases and https://api.github.com/repos/openssl/openssl/releases). Using these API when available would:

  • allow more projects to be supported by CCB (eg wayland, wayland-protocols, pulseaudio)
  • allow currently supported projects to use release tarballs instead of git tarballs

The main problem is that both github and gitlab have rate limits on API.
For github:

  • unauthenticated consumers: 60 requests/hour (clearly not enough)
  • GITHUB_TOKEN: 1000 requests/hour (could be enough, there are currently 1500 recipes on CCI, but not all come from github)
  • Personal Access Token: 5000 requests/hour (should be ok in the long term)

Gitlab rate limits are configurable per instance, so it's harder to have a clearer picture of what's possible.

Is it worth that I spend some time to implement these two new types of upstream and make a PR, or do you see a blocker right away ?

@ericLemanissier
Copy link
Contributor Author

friendly ping @qchateau what's your take on the above ?

@qchateau
Copy link
Owner

I'm fine with adding support for more ways to find releases.
IIRC I already use a GitHub token to find whether there are already open PR on CCI for a given update so there should be a way to reuse it, you don't have to do it yourself.
Just make sure that breaching the rate limits doesn't crash the whole run - breaching the rate limit of the gitlab token should only prevent the recipes that rely on it from being auto-updated.
For GitHub it's a bit more tricky because we need the token to detect open PRs, which impacts all recipes. But I suppose 1k request/hour give us some headroom

@ericLemanissier
Copy link
Contributor Author

Ok, I should be able to see if/when/how rate-limit happens on my fork's workflow

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

Successfully merging a pull request may close this issue.

2 participants