Skip to content
This repository was archived by the owner on May 21, 2022. It is now read-only.
This repository was 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

@greghendershott

Description

@greghendershott

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions