Move to newer keyring fork (fixes iOS builds)#460
Conversation
This fixes iOS builds
There was a problem hiding this comment.
Pull request overview
This PR migrates ipatool’s keyring dependency from 99designs/keyring to the maintained byteness/keyring fork to enable iOS builds (resolving #136).
Changes:
- Replaced
github.com/99designs/keyringimports withgithub.com/byteness/keyringacross command and keychain packages/tests. - Updated module dependencies to
github.com/byteness/keyring v1.9.0and refreshedgo.sum. - Bumped the
go.modGo version directive togo 1.25.0(and removed thetoolchaindirective).
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
pkg/keychain/keyring.go |
Updates keyring import to the new fork for the keyring interface types. |
pkg/keychain/keychain_set.go |
Updates keyring import used by Set implementation. |
pkg/keychain/keychain_set_test.go |
Updates keyring import used in mocks/tests. |
pkg/keychain/keychain_get_test.go |
Updates keyring import used in mocks/tests. |
cmd/common.go |
Updates keyring import for runtime keyring initialization. |
go.mod |
Swaps keyring dependency, bumps Go version, and brings in new indirect deps. |
go.sum |
Updates checksums for the new dependency graph. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| go 1.23.0 | ||
|
|
||
| toolchain go1.23.2 | ||
| go 1.25.0 |
There was a problem hiding this comment.
The module now declares go 1.25.0, but the repo’s GitHub Actions workflows are pinned to Go 1.23.0. With this change, CI/builds using Go 1.23 will fail with a “go.mod requires go >= 1.25.0” error; either bump the workflows/tooling to 1.25 (or higher) or keep the go directive at the supported version.
| go 1.25.0 | |
| go 1.23.0 |
| go 1.23.0 | ||
|
|
||
| toolchain go1.23.2 | ||
| go 1.25.0 |
There was a problem hiding this comment.
The toolchain go1.23.2 directive was removed. If the project relies on the toolchain directive to keep local builds/CI reproducible (or to avoid developers using an older Go), consider keeping it (updated to the intended version) or documenting the expected Go toolchain version elsewhere.
| go 1.25.0 | |
| go 1.25.0 | |
| toolchain go1.25.0 |
|
Thanks, @gBasil! Let's address the Go version bump and retain the current version to ensure the current workflows do not break. |
This moves from https://github.com/99designs/keyring to a maintained fork of it, https://github.com/ByteNess/keyring. I contributed support for iOS builds to it, and this PR makes ipatool buildable for iOS.
Resolves #136.
Note that:
go.modwas bumped. I'm not sure if you want it to stay at 1.23.0.