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

feat: prebuilt binaries with Ledger support #2872

Merged
merged 10 commits into from
Dec 4, 2023

Conversation

rootulp
Copy link
Collaborator

@rootulp rootulp commented Nov 27, 2023

Closes #2729

This PR removes checksum signing because goreleaser/goreleaser-cross#58.

Testing

The assets on https://github.com/rootulp/celestia-app/releases/tag/v1.0.0-rc52

OS Platform Ledger support
Darwin arm64
Darwin amd64
Linux arm64
Linux amd64

@rootulp rootulp self-assigned this Nov 27, 2023
@rootulp rootulp marked this pull request as ready for review November 27, 2023 18:25
Copy link
Contributor

coderabbitai bot commented Nov 27, 2023

Walkthrough

Walkthrough

The changes involve updating the CI/CD pipeline, specifically the GitHub Actions workflow for releases, and modifying the project's build configuration to support CGO for cross-compiling, which is necessary for Ledger support. The .gitignore and README.md files were also updated for clarity and consistency. The Makefile was revised to include a new target for creating prebuilt binaries using Docker.

Changes

File(s) Change Summary
.github/workflows/ci-release.yml Updated runs-on to ubuntu-latest and added steps for creating .release-env and using make prebuilt-binary.
.gitignore Added .release-env and .DS_Store to ignore patterns.
.goreleaser.yaml Added platform-specific build configurations with CGO_ENABLED=1 and updated ldflags. Removed signs section.
Makefile Added PACKAGE_NAME and GOLANG_CROSS_VERSION variables and replaced release targets with prebuilt-binary target.
README.md Updated terminology and simplified the verification process for prebuilt binaries.

Assessment against linked issues

Objective Addressed Explanation
Ledger support on pre-built binaries for macOS (Issue #2729) The addition of CGO_ENABLED=1 in the .goreleaser.yaml addresses the requirement for CGO support, which is necessary for Ledger compatibility.

Tips

Chat with CodeRabbit Bot (@coderabbitai)

  • If you reply to a review comment from CodeRabbit, the bot will automatically respond.
  • To engage with CodeRabbit bot directly around the specific lines of code in the PR, mention @coderabbitai in your review comment
  • Note: Review comments are made on code diffs or files, not on the PR overview.
  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai help to get help.

Note: For conversation with the bot, please use the review comments on code diffs or files.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • The JSON schema for the configuration file is available here.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json

@cmwaters
Copy link
Contributor

./celestia-appd keys add ledger --ledger

This seemed to work for me on you v1.0.0-rc52 binary for darwin x86 64

evan-forbes
evan-forbes previously approved these changes Nov 28, 2023
Copy link
Member

@evan-forbes evan-forbes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what does the smiley face mean for the linux entry? do you need a volunteer to try it?

@cmwaters
Copy link
Contributor

I get this error instead of an error claiming Ledger is unsupported.

Are you sure you had your ledger unlocked and with Cosmos app open. I got the same but then it worked once I unlocked my ledger

cmwaters
cmwaters previously approved these changes Nov 28, 2023
@rootulp
Copy link
Collaborator Author

rootulp commented Nov 28, 2023

what does the smiley face mean for the linux entry? do you need a volunteer to try it?

Yes, I would def appreciate it! I tried that scenario on a Scaleway instance and didn't encounter an error like "Ledger is unsupported" so I used the slightly smiling face b/c it's not full confidence that Ledger works but it's better than nothing.

@rootulp rootulp added the backport:v1.x PR will be backported automatically to the v1.x branch upon merging label Nov 28, 2023
@rootulp
Copy link
Collaborator Author

rootulp commented Nov 29, 2023

I'll hold off on merging until @evan-forbes tests on Linux. You should be able to test via:

./celestia-appd keys add ledger-1 --ledger

@rootulp rootulp dismissed stale reviews from cmwaters and evan-forbes via 5c73240 December 1, 2023 01:34
@celestia-bot celestia-bot requested a review from a team December 1, 2023 01:35
@evan-forbes
Copy link
Member

can confirm that the prebuilts work on linux using a ledger

@rootulp
Copy link
Collaborator Author

rootulp commented Dec 1, 2023

Out of curiosity which architecture is your Linux machine: arm64 or amd64?

^ so that I can add a ✅ to the PR description

Copy link
Contributor

@cmwaters cmwaters left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reapproving

@evan-forbes
Copy link
Member

per sync

Out of curiosity which architecture is your Linux machine: arm64 or amd64?

amd64

@rootulp rootulp merged commit 0e94856 into celestiaorg:main Dec 4, 2023
32 checks passed
mergify bot pushed a commit that referenced this pull request Dec 4, 2023
Closes #2729

This PR removes [checksum
signing](https://goreleaser.com/customization/sign/) because
goreleaser/goreleaser-cross#58.

## Testing

The assets on
https://github.com/rootulp/celestia-app/releases/tag/v1.0.0-rc52

OS | Platform | Ledger support
--- | --- | ---
Darwin | arm64 | ✅
Darwin | amd64 | ✅
Linux | arm64 |
Linux | amd64 | ✅

(cherry picked from commit 0e94856)

# Conflicts:
#	.github/workflows/ci-release.yml
#	README.md
#	scripts/signing/verify-signature.sh
rootulp added a commit that referenced this pull request Dec 4, 2023
This is an automatic backport of pull request #2872 done by
[Mergify](https://mergify.com).

After this merges, I plan on cutting 1.5.0-rc0.

---------

Co-authored-by: Rootul P <[email protected]>
@rootulp rootulp deleted the rp/goreleaser-cross branch December 28, 2023 04:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport:v1.x PR will be backported automatically to the v1.x branch upon merging
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Ledger unsupported on pre-built binaries
3 participants