bazelbuild / rules_k8s

This repository contains rules for interacting with Kubernetes configurations / clusters.
Apache License 2.0
291 stars 136 forks source link

Fix the checksum of the pyyaml external repository #682

Closed ronilichtman closed 2 years ago

ronilichtman commented 2 years ago

It appears that for some reason, the zip file hosted at https://github.com/yaml/pyyaml/archive/5.1.2.zip has changed. This has caused our CI to fail when trying to build. Specifically I noticed that k8s.delete targets fail with the following message:

Error downloading [https://github.com/yaml/pyyaml/archive/5.1.2.zip] to /private/var/tmp/_bazel_ronilichtman/89a39ba59b237e88128981215b79d884/external/com_github_yaml_pyyaml/temp6627556357927520273/5.1.2.zip: Checksum was ba59d7e97eb131d8f8f52d19cb124bb67772f4c7f4d14cb2919deb885ef8c572 but wanted e9df8412ddabc9c21b4437ee138875b95ebb32c25f07f962439e16005152e00e

Looking at the difference between the zip from the local repository cache on my mac and the one currently hosted in GitHub I see a diff on the zip "modified time" headers:

pyyaml from GitHub (today), mismatched sha256:

➜  Downloads xxd pyyaml-5.1.2.zip | head
00000000: 504b 0304 0a00 0000 0000 af0a ff4e 0000  PK...........N..

pyyaml from my local mac cache, matching sha256:

➜  e9df8412ddabc9c21b4437ee138875b95ebb32c25f07f962439e16005152e00e xxd file| head
00000000: 504b 0304 0a00 0000 0000 af92 fe4e 0000  PK...........N..

Note the difference at offset 12 (af0a ff4e) vs (af92 fe4e).

k8s-ci-robot commented 2 years ago

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: ronilichtman To complete the pull request process, please assign chases2 after the PR has been reviewed. You can assign the PR to them by writing /assign @chases2 in a comment when ready.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files: - **[OWNERS](https://github.com/bazelbuild/rules_k8s/blob/master/OWNERS)** Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment
k8s-ci-robot commented 2 years ago

Hi @ronilichtman. Thanks for your PR.

I'm waiting for a bazelbuild member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
ronilichtman commented 2 years ago

Looks like this was caused by a GitHub feature flag that broke hashes. GitHub mentioned they are rolling back. Closing this PR as a result.

Context: https://github.community/t/package-manager-broke-because-repo-zipballs-have-recently-changed-sha/226724/4