[Backport] CI optimisation & add github token env var (#9875)
* ci: use docker image for golangci-lint (#9737) * ci: re-ordering Drone CI for optimizing time (#9719) * ci: try re-ordering for optimizing time * ci: try re-ordering for optimizing time * ci: try re-ordering for optimizing time * ci: try re-ordering for optimizing time * ci: try re-ordering for optimizing time * ci: try re-ordering for optimizing time * ci: try offloading mysql8 to arm64 * Revert "ci: try offloading mysql8 to arm64" This reverts commit c60de5db1cf8b5984c3014a57da6490f06c8d980. * ci: try offloading pgsql to arm64 * ci: activate ldap on arm64 * ci: test mysql8 in place pgsql arm64 * chore: clean un-needed move * typo * ci: revert runnning mysql on arm64 * ci: run compliance on arm * chore: limit change * chore: readd maybe need for release fetch-tags * ci: remove docker-linux-amd64-dry-run * ci: remove docker-linux-amd64-dry-run * Revert "ci: remove docker-linux-amd64-dry-run" This reverts commit 0715f65b11c37869359aaaa5d22901da512e8184. Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> * ci: use new mssql image (#9720) Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> * ci: run notify on arm64 (#9762) * ci: run notify on arm64 Free one jobs on amrd64 * Update .drone.yml * Update .drone.yml * Update .drone.yml Based on: https://github.com/appleboy/drone-discord/blob/master/.drone.yml#L339 * improve trigger Co-authored-by: techknowlogick <matti@mdranta.net> * ci: move some integration tests on arm64 (#9747) * tests: configure github remaining limit + read token (#9800) * ci: configure remaining github limmit * prepend with github since package is common to all migrations * add RefreshRate * Update github.go * add missing space * go fmt * Read env variable GITHUB_READ_TOKEN for token * Update .drone.yml * ci: simplify tag/release by always running coverage (#9774) * ci: simplify tag/release by always running coverage * use mod and vendor for unit test coverage * remove not needed lfs for unit test * use arm drone agent for docs (#9776) * run translations pipeline on arm server (#9865) * add git-check to Makefile Co-authored-by: Antoine GIRARD <sapk@users.noreply.github.com> Co-authored-by: zeripath <art27@cantab.net> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: techknowlogick <matti@mdranta.net>
This commit is contained in:
parent
bcb722daec
commit
3fa14d89a2
4 changed files with 226 additions and 213 deletions
|
@ -24,6 +24,8 @@ import (
|
|||
var (
|
||||
_ base.Downloader = &GithubDownloaderV3{}
|
||||
_ base.DownloaderFactory = &GithubDownloaderV3Factory{}
|
||||
// GithubLimitRateRemaining limit to wait for new rate to apply
|
||||
GithubLimitRateRemaining = 0
|
||||
)
|
||||
|
||||
func init() {
|
||||
|
@ -115,7 +117,7 @@ func (g *GithubDownloaderV3) SetContext(ctx context.Context) {
|
|||
}
|
||||
|
||||
func (g *GithubDownloaderV3) sleep() {
|
||||
for g.rate != nil && g.rate.Remaining <= 0 {
|
||||
for g.rate != nil && g.rate.Remaining <= GithubLimitRateRemaining {
|
||||
timer := time.NewTimer(time.Until(g.rate.Reset.Time))
|
||||
select {
|
||||
case <-g.ctx.Done():
|
||||
|
@ -124,15 +126,24 @@ func (g *GithubDownloaderV3) sleep() {
|
|||
case <-timer.C:
|
||||
}
|
||||
|
||||
rates, _, err := g.client.RateLimits(g.ctx)
|
||||
err := g.RefreshRate()
|
||||
if err != nil {
|
||||
log.Error("g.client.RateLimits: %s", err)
|
||||
}
|
||||
|
||||
g.rate = rates.GetCore()
|
||||
}
|
||||
}
|
||||
|
||||
// RefreshRate update the current rate (doesn't count in rate limit)
|
||||
func (g *GithubDownloaderV3) RefreshRate() error {
|
||||
rates, _, err := g.client.RateLimits(g.ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
g.rate = rates.GetCore()
|
||||
return nil
|
||||
}
|
||||
|
||||
// GetRepoInfo returns a repository information
|
||||
func (g *GithubDownloaderV3) GetRepoInfo() (*base.Repository, error) {
|
||||
g.sleep()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue