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

fix: podman linux path rename #282

Merged

Conversation

MatthewDolan
Copy link
Contributor

@MatthewDolan MatthewDolan commented Feb 8, 2023

The authversion jobs have been failing for the last ~week. Here is an example failure:

fatal: app/auto_version_cmd.go:30: manifest/digest/digest.go:89: failed to compute digest for podman-4.4.0/linux-amd64: manifest/digest/digest.go:161: state/state.go:324: cache/cache.go:149: https://github.com/containers/podman/releases/download/v4.4.0/podman-remote-static.tar.gz: cache/http.go:88: download failed: 404 Not Found (404)

https://github.com/cashapp/hermit-packages/actions/runs/4120270815/jobs/7114826978

I traced the issue back to a change in the artifact names that are uploaded with podman: containers/podman#16667

I think this change to the manifest will fix it.

I tested this locally:

> docker run -it -v ${PWD}:/hermit-packages ubuntu /bin/bash
> apt-get update && apt-get install curl
> curl -fsSL https://github.com/cashapp/hermit/releases/download/stable/install.sh | /bin/bash
> mkdir hermit-test
> cd hermit-test
> ~/bin/hermit init
...
> . ./bin/activate-hermit
Hermit environment /hermit-test activated
> echo 'sources = ["env:///../hermit-packages"]' > bin/hermit.hcl
> hermit install podman-4.4.0
info:podman-4.4.0:install: Installing podman-4.4.0                                                                                                                                                                    > bin/podman --version
podman version 4.4.0
> hermit install podman-4.3.1
info:podman-4.3.1:uninstall: Uninstalling podman-4.4.0
info:podman-4.3.1:install: Installing podman-4.3.1
> bin/podman --version
podman version 4.3.1

I also tested auto-version locally and that appears to be working:

> hermit manifest auto-version podman.hcl

There might be a secondary follow up where the auto-version command shouldn't fail (instead just printing a warning and not updating the manifest) if it's unable to update digests.

@alecthomas
Copy link
Collaborator

I haven't looked into this specific case closely, but usually this entails creating two or more version blocks - one with the previous layout and one with the new layout. eg.

version "x" "y" z" {
  // rename
}

version "q" {
  // rename
}

@MatthewDolan
Copy link
Contributor Author

I fixed it by removing the top-level platform "linux" { ... } block. My expectation for inheritance was a little messed up.

All my testing works now, except that now there's a new issue with v4.4.1: containers/podman#17441

@MatthewDolan MatthewDolan marked this pull request as ready for review February 8, 2023 21:22
@MatthewDolan
Copy link
Contributor Author

containers/podman#17441 has been resolved so this is ready for review.

@alecthomas alecthomas merged commit b25f895 into cashapp:master Feb 8, 2023
@alecthomas
Copy link
Collaborator

Nice!

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 this pull request may close these issues.

2 participants