Skip to content
This repository has been archived by the owner on May 21, 2022. It is now read-only.

package-url->checksum failures with raco pkg in Racket 5.3.5 and .6 #9

Open
greghendershott opened this issue Jul 20, 2015 · 0 comments
Labels

Comments

@greghendershott
Copy link
Owner

In Racket 5.3.5 and 5.3.6, raco pkg uses the GitHub API anonymously. This is rate-limited. As a result, jobs can fail with a message like this:

$ raco pkg install --deps search-auto --link frog
The following packages are listed as dependencies, but are not currently installed,
so they will be automatically installed:
    base html-lib racket-index scribble-lib srfi-lite-lib web-server-lib markdown rackjure find-parent-dir 
package-url->checksum: Could not connect to GitHub
  context...:
   /home/travis/racket/collects/pkg/util.rkt:50:0: package-url->checksum11
   /home/travis/racket/collects/pkg/lib.rkt:459:2: install-package228
   /home/travis/racket/collects/pkg/lib.rkt:459:2: install-package228
   /home/travis/racket/collects/pkg/lib.rkt:981:4: for-loop
   /home/travis/racket/collects/pkg/lib.rkt:449:0: install-packages55
   /home/travis/racket/collects/racket/file.rkt:295:8
   /home/travis/racket/collects/racket/file.rkt:284:0: call-with-file-lock24
   /home/travis/racket/collects/pkg/main.rkt: [running body]
   /home/travis/racket/collects/pkg/raco.rkt: [traversing imports]
   /home/travis/racket/collects/raco/raco.rkt: [running body]
   /home/travis/racket/collects/raco/main.rkt: [running body]

Restarting the job will (eventually, after some number of restarts) proceed past this point.

Usually this is rare, but there can be periods when it fails often. Also there's no guarantee that GitHub won't someday further lower the rate limit.

What can we do about this?

Maybe nothing, to truly fix it.

We could amend the example .travis.yml to show putting these Racket versions in the allow_failures list. But effectively that means not testing 5.3.5 and 5.3.6, at all. May as well drop them from the matrix completely. That's unfortunate because often it's quite easy to support these older versions of Racket, and as I write this they are still the newest version in some distro packages.

@greghendershott greghendershott self-assigned this Jul 20, 2015
greghendershott pushed a commit to greghendershott/sha that referenced this issue Feb 26, 2017
Also add allow_failures and fast_finish.

Include old Racket 5.3.5 and 5.3.6 in the allow_failures list because
the old package manager used the anonymous GitHub API and can fail due
to rate limits:

  greghendershott/travis-racket#9
@greghendershott greghendershott removed their assignment May 21, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

1 participant