Move to newer keyring fork (fixes iOS builds)#460
Conversation
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.
|
Thanks, @gBasil! Let's address the Go version bump and retain the current version to ensure the current workflows do not break. |
|
@cubic-dev-ai address the feedback from the comments on this PR. |
|
I addressed the review feedback about the Go version mismatch between Key finding: The What I did: Updated all 5 GitHub Actions workflow files to use Go 1.25.0 (matching the
Re: toolchain directive: The Re: indirect dependencies: The expanded dependency tree (Extism/Wazero, OpenTelemetry/Jaeger, 1Password SDKs, etc.) comes from ✅ All tests passing (128/128 specs across 7 test suites) diff --git a/.github/workflows/dry-build.yml b/.github/workflows/dry-build.yml
index af3969b..27d8f62 100644
--- a/.github/workflows/dry-build.yml
+++ b/.github/workflows/dry-build.yml
@@ -17,7 +17,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-go@v3
with:
- go-version: "1.23.0"
+ go-version: "1.25.0"
cache: true
- run: go build -o ipatool-$GOOS-$GOARCH.exe
env:
@@ -34,7 +34,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-go@v3
with:
- go-version: "1.23.0"
+ go-version: "1.25.0"
cache: true
- run: go build -o ipatool-$GOOS-$GOARCH
env:
@@ -51,7 +51,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-go@v3
with:
- go-version: "1.23.0"
+ go-version: "1.25.0"
cache: true
- run: go build -o ipatool-$GOOS-$GOARCH
env:
diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml
index 18dba4d..3cde628 100644
--- a/.github/workflows/integration-tests.yml
+++ b/.github/workflows/integration-tests.yml
@@ -13,7 +13,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-go@v3
with:
- go-version: "1.23.0"
+ go-version: "1.25.0"
cache: true
- run: go build -o ipatool
env:
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index 38db8d4..653056b 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -13,7 +13,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-go@v3
with:
- go-version: "1.23.0"
+ go-version: "1.25.0"
cache: true
- run: go generate github.com/majd/ipatool/...
- uses: golangci/golangci-lint-action@v8
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 72a51fe..0ed637d 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -21,7 +21,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-go@v3
with:
- go-version: "1.23.0"
+ go-version: "1.25.0"
cache: true
- run: go generate github.com/majd/ipatool/...
- run: go test -v github.com/majd/ipatool/...
@@ -33,7 +33,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-go@v3
with:
- go-version: "1.23.0"
+ go-version: "1.25.0"
cache: true
- run: go build -ldflags="-X github.com/majd/ipatool/v2/cmd.version=$VERSION" -o ipatool-$VERSION-windows-arm64.exe
env:
diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml
index 4d4cab4..3e278ce 100644
--- a/.github/workflows/unit-tests.yml
+++ b/.github/workflows/unit-tests.yml
@@ -13,7 +13,7 @@ jobs:
- uses: actions/checkout@v2
- uses: actions/setup-go@v3
with:
- go-version: "1.23.0"
+ go-version: "1.25.0"
cache: true
- run: go generate github.com/majd/ipatool/...
- run: go test -v github.com/majd/ipatool/...
Files changed:
|
This fixes iOS builds
|
Moved here: #466 |
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.