From 99e121b5d10d7cc17e08aba6f2c4e3f0d5119ab2 Mon Sep 17 00:00:00 2001 From: Rootul Patel Date: Sun, 26 Nov 2023 20:50:05 -0500 Subject: [PATCH 1/9] feat: prebuilt binaries with Ledger support --- .github/workflows/ci-release.yml | 24 +++++---- .gitignore | 3 ++ .goreleaser.yaml | 93 +++++++++++++++++++++++++++----- Makefile | 38 +++++++------ 4 files changed, 117 insertions(+), 41 deletions(-) diff --git a/.github/workflows/ci-release.yml b/.github/workflows/ci-release.yml index 64ffbe921f..99028c1b37 100644 --- a/.github/workflows/ci-release.yml +++ b/.github/workflows/ci-release.yml @@ -83,8 +83,10 @@ jobs: # Generate the release with goreleaser to include pre-built binaries goreleaser: - needs: version_bump - runs-on: ubuntu-20.04 + # TEMPORARY: uncomment the following line prior to merge. + # I'm skipping this prerequisite during development to speed up iteration time. + # needs: version_bump + runs-on: ubuntu-latest if: | github.event_name == 'workflow_dispatch' || (github.event_name == 'push' && contains(github.ref, 'refs/tags/')) @@ -102,12 +104,12 @@ jobs: with: gpg_private_key: ${{ secrets.GPG_SIGNING_KEY }} passphrase: ${{ secrets.GPG_PASSPHRASE }} - # Generate the binaries, release, and sign the checksum - - uses: goreleaser/goreleaser-action@v5 - with: - distribution: goreleaser - version: latest - args: release --clean - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }} + - name: Create .release-env file + run: |- + echo 'GITHUB_TOKEN=${{secrets.GORELEASER_ACCESS_TOKEN}}' >> .release-env + echo 'GPG_FINGERPRINT=${{ steps.import_gpg.outputs.fingerprint }}' >> .release-env + - name: Create maintainers.asc + run: |- + echo "${{ secrets.GPG_SIGNING_KEY }}" > maintainers.asc + - name: Create prebuilt binaries and attach them to the GitHub release + run: make prebuilt-binary diff --git a/.gitignore b/.gitignore index 2a8c4654a1..6e251a2adf 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,6 @@ run.sh testing/e2e/networks/*/ square/testdata **/*.html +.release-env +maintainers.asc +**/*.DS_Store diff --git a/.goreleaser.yaml b/.goreleaser.yaml index ae0c789a45..4b83d4cf5c 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -1,36 +1,101 @@ -# This is an example .goreleaser.yml file with some sensible defaults. -# Make sure to check the documentation at https://goreleaser.com - -# NOTE: CGO is required for ledger support to work, however goreleaser -# technically doesn't support CGO. But it seems to work so that's cool. This -# only seems to work because we are building for a single binary. Cross -# compiling binaries for multiple distributions doesn't work and a proper -# workaround will be needed. -# -# REF: https://goreleaser.com/limitations/cgo/ - +# Ledger support is only available if the binary is built with CGO enabled. +# Since GoReleaser doesn't support CGO natively, our GoReleaser process builds +# binaries in a Docker image maintained by goreleaser-cross that has CGO support +# for multiple platforms. See https://github.com/goreleaser/goreleaser-cross before: hooks: - go mod tidy builds: - - main: ./cmd/celestia-appd + - id: darwin-amd64 + main: ./cmd/celestia-appd binary: celestia-appd env: - SDKPath={{ "github.com/cosmos/cosmos-sdk/version" }} + - CGO_ENABLED=1 + # CC and CXX are required for CGO to work. See + # https://github.com/goreleaser/goreleaser-cross#supported-toolchainsplatforms + - CC=o64-clang + - CXX=o64-clang++ goarch: - amd64 + goos: + - darwin + tags: + - ledger + ldflags: + # Ref: https://goreleaser.com/customization/templates/#common-fields + # .Version is the version being released + # .FullCommit is git commit hash goreleaser is using for the release + - -X "{{ .Env.SDKPath }}.Name=celestia-app" + - -X "{{ .Env.SDKPath }}.AppName=celestia-appd" + - -X "{{ .Env.SDKPath }}.Version={{ .Version }}" + - -X "{{ .Env.SDKPath }}.Commit={{ .FullCommit }}" + - id: darwin-arm64 + main: ./cmd/celestia-appd + binary: celestia-appd + env: + - SDKPath={{ "github.com/cosmos/cosmos-sdk/version" }} + - CGO_ENABLED=1 + # CC and CXX are required for CGO to work. See + # https://github.com/goreleaser/goreleaser-cross#supported-toolchainsplatforms + - CC=oa64-clang + - CXX=oa64-clang++ + goarch: - arm64 goos: - darwin + tags: + - ledger + ldflags: + # Ref: https://goreleaser.com/customization/templates/#common-fields + # .Version is the version being released + # .FullCommit is git commit hash goreleaser is using for the release + - -X "{{ .Env.SDKPath }}.Name=celestia-app" + - -X "{{ .Env.SDKPath }}.AppName=celestia-appd" + - -X "{{ .Env.SDKPath }}.Version={{ .Version }}" + - -X "{{ .Env.SDKPath }}.Commit={{ .FullCommit }}" + - id: linux-amd64 + main: ./cmd/celestia-appd + binary: celestia-appd + env: + - SDKPath={{ "github.com/cosmos/cosmos-sdk/version" }} + # CC and CXX are required for CGO to work. See + # https://github.com/goreleaser/goreleaser-cross#supported-toolchainsplatforms + - CC=x86_64-linux-gnu-gcc + - CXX=x86_64-linux-gnu-g++ + goarch: + - amd64 + goos: - linux tags: - ledger ldflags: # Ref: https://goreleaser.com/customization/templates/#common-fields - # + # .Version is the version being released # .FullCommit is git commit hash goreleaser is using for the release - # + - -X "{{ .Env.SDKPath }}.Name=celestia-app" + - -X "{{ .Env.SDKPath }}.AppName=celestia-appd" + - -X "{{ .Env.SDKPath }}.Version={{ .Version }}" + - -X "{{ .Env.SDKPath }}.Commit={{ .FullCommit }}" + - id: linux-arm64 + main: ./cmd/celestia-appd + binary: celestia-appd + env: + - SDKPath={{ "github.com/cosmos/cosmos-sdk/version" }} + # CC and CXX are required for CGO to work. See + # https://github.com/goreleaser/goreleaser-cross#supported-toolchainsplatforms + - CC=aarch64-linux-gnu-gcc + - CXX=aarch64-linux-gnu-g++ + goarch: + - arm64 + goos: + - linux + tags: + - ledger + ldflags: + # Ref: https://goreleaser.com/customization/templates/#common-fields # .Version is the version being released + # .FullCommit is git commit hash goreleaser is using for the release - -X "{{ .Env.SDKPath }}.Name=celestia-app" - -X "{{ .Env.SDKPath }}.AppName=celestia-appd" - -X "{{ .Env.SDKPath }}.Version={{ .Version }}" diff --git a/Makefile b/Makefile index 9f66f9035d..d3186571f5 100644 --- a/Makefile +++ b/Makefile @@ -172,19 +172,25 @@ adr-gen: @curl -sSL https://raw.githubusercontent.com/celestiaorg/.github/main/adr-template.md > docs/architecture/adr-template.md .PHONY: adr-gen -## goreleaser: List Goreleaser commands and checks if GoReleaser is installed. -goreleaser: Makefile - @echo " Choose a goreleaser command to run:" - @sed -n 's/^## goreleaser/goreleaser/p' $< | column -t -s ':' | sed -e 's/^/ /' - @goreleaser --version -.PHONY: goreleaser - -## goreleaser-build: Builds the celestia-appd binary using GoReleaser for your local OS. -goreleaser-build: - goreleaser build --snapshot --clean --single-target -.PHONY: goreleaser-build - -## goreleaser-release: Builds the release celestia-appd binary as defined in .goreleaser.yaml. This requires there be a git tag for the release in the local git history. -goreleaser-release: - goreleaser release --clean --fail-fast --skip-publish -.PHONY: goreleaser-release + +PACKAGE_NAME := github.com/rootulp/celestia-app +GOLANG_CROSS_VERSION ?= v1.21.4 + +## prebuilt-binary: Create prebuilt binaries and attach them to GitHub release. Requires Docker. Will not run locally. +# Only expected to work in CI. See .github/workflows/ci-release.yml +prebuilt-binary: + @if [ ! -f ".release-env" ]; then \ + echo "\033[91m.release-env is required for release\033[0m";\ + exit 1;\ + fi + docker run \ + --rm \ + -e CGO_ENABLED=1 \ + -e GPG_KEY=maintainers.asc \ + --env-file .release-env \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -v `pwd`:/go/src/$(PACKAGE_NAME) \ + -w /go/src/$(PACKAGE_NAME) \ + ghcr.io/goreleaser/goreleaser-cross:${GOLANG_CROSS_VERSION} \ + release --clean +.PHONY: prebuilt-binary From 606e01ccdf9a05fa592216ce325550eb74c1d517 Mon Sep 17 00:00:00 2001 From: Rootul Patel Date: Mon, 27 Nov 2023 12:36:49 -0500 Subject: [PATCH 2/9] fix: restore prerequisite --- .github/workflows/ci-release.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/ci-release.yml b/.github/workflows/ci-release.yml index 99028c1b37..8561cf6087 100644 --- a/.github/workflows/ci-release.yml +++ b/.github/workflows/ci-release.yml @@ -83,9 +83,7 @@ jobs: # Generate the release with goreleaser to include pre-built binaries goreleaser: - # TEMPORARY: uncomment the following line prior to merge. - # I'm skipping this prerequisite during development to speed up iteration time. - # needs: version_bump + needs: version_bump runs-on: ubuntu-latest if: | github.event_name == 'workflow_dispatch' || From 983f4327a65ad7192929e0ed34df52daf02fc4d2 Mon Sep 17 00:00:00 2001 From: Rootul Patel Date: Mon, 27 Nov 2023 12:37:17 -0500 Subject: [PATCH 3/9] chore: remove signing --- .github/workflows/ci-release.yml | 11 -------- .gitignore | 1 - .goreleaser.yaml | 12 -------- README.md | 23 ++-------------- scripts/signing/celestia-app-maintainers.asc | 14 ---------- scripts/signing/verify-signature.sh | 29 -------------------- 6 files changed, 3 insertions(+), 87 deletions(-) delete mode 100644 scripts/signing/celestia-app-maintainers.asc delete mode 100755 scripts/signing/verify-signature.sh diff --git a/.github/workflows/ci-release.yml b/.github/workflows/ci-release.yml index 8561cf6087..ab78fdcf96 100644 --- a/.github/workflows/ci-release.yml +++ b/.github/workflows/ci-release.yml @@ -95,19 +95,8 @@ jobs: - uses: actions/setup-go@v4 with: go-version: 1.21.1 - # Import the GPG key from Github secrets to sign the binaries - - name: Import GPG key - id: import_gpg - uses: crazy-max/ghaction-import-gpg@v6 - with: - gpg_private_key: ${{ secrets.GPG_SIGNING_KEY }} - passphrase: ${{ secrets.GPG_PASSPHRASE }} - name: Create .release-env file run: |- echo 'GITHUB_TOKEN=${{secrets.GORELEASER_ACCESS_TOKEN}}' >> .release-env - echo 'GPG_FINGERPRINT=${{ steps.import_gpg.outputs.fingerprint }}' >> .release-env - - name: Create maintainers.asc - run: |- - echo "${{ secrets.GPG_SIGNING_KEY }}" > maintainers.asc - name: Create prebuilt binaries and attach them to the GitHub release run: make prebuilt-binary diff --git a/.gitignore b/.gitignore index 6e251a2adf..7d7c0b98e3 100644 --- a/.gitignore +++ b/.gitignore @@ -15,5 +15,4 @@ testing/e2e/networks/*/ square/testdata **/*.html .release-env -maintainers.asc **/*.DS_Store diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 4b83d4cf5c..ba0def8f17 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -114,18 +114,6 @@ archives: {{- if .Arm }}v{{ .Arm }}{{ end }} checksum: name_template: "checksums.txt" -signs: - - artifacts: checksum - args: - [ - "--batch", - "-u", - "{{ .Env.GPG_FINGERPRINT }}", - "--output", - "${signature}", - "--detach-sign", - "${artifact}", - ] snapshot: name_template: "{{ incpatch .Version }}-next" changelog: diff --git a/README.md b/README.md index c0eb99274c..963ee1cdb7 100644 --- a/README.md +++ b/README.md @@ -63,13 +63,13 @@ If you'd rather not install from source, you can download a pre-built binary fro
-Optional: Verify the pre-built binary checksums and signatures +Optional: Verify the pre-built binary checksums -If you use a pre-built binary, you may also want to verify the checksums and signatures. +If you use a pre-built binary, you may also want to verify the checksum. 1. Navigate to the latest release on . -1. Download `checksums.txt`, `checksums.txt.sig`, and the binary for your platform (e.g. `celestia-app_Linux_x86_64.tar.gz`) from the **Assets** section. Tip: if you're not sure what platform you're on, you can run `uname -a` and look for the operating system (e.g. `Linux`, `Darwin`) and architecture (e.g. `x86_64`, `arm64`). +1. Download `checksums.txt` and the binary for your platform (e.g. `celestia-app_Linux_x86_64.tar.gz`) from the **Assets** section. Tip: if you're not sure what platform you're on, you can run `uname -a` and look for the operating system (e.g. `Linux`, `Darwin`) and architecture (e.g. `x86_64`, `arm64`). 1. Verify the checksums ```shell @@ -82,23 +82,6 @@ If you use a pre-built binary, you may also want to verify the checksums and sig celestia-app_Linux_x86_64.tar.gz: OK ``` -1. Download the [verify-signature.sh](./scripts/signing/verify-signature.sh) script. -1. Verify the signature via the [verify-signature.sh](./scripts/signing/verify-signature.sh) script - - ```shell - ./verify-signature.sh checksums.txt.sig checksums.txt - ``` - - You should see output like this: - - ```shell - gpg: Signature made Tue Oct 10 13:25:06 2023 UTC - gpg: using EDDSA key BF02F32CC36864560B90B764D469F859693DC3FA - gpg: Good signature from "celestia-app-maintainers " [unknown] - gpg: WARNING: This key is not certified with a trusted signature! - gpg: There is no indication that the signature belongs to the owner. - Primary key fingerprint: BF02 F32C C368 6456 0B90 B764 D469 F859 693D C3FA - ```
### Ledger Support diff --git a/scripts/signing/celestia-app-maintainers.asc b/scripts/signing/celestia-app-maintainers.asc deleted file mode 100644 index 6c7142c38c..0000000000 --- a/scripts/signing/celestia-app-maintainers.asc +++ /dev/null @@ -1,14 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- - -mDMEZQyVAhYJKwYBBAHaRw8BAQdArnTc9Gu1/koOMkR7/t9HESJN8k1ee0/YBxI/ -9bk3PBW0QGNlbGVzdGlhLWFwcC1tYWludGFpbmVycyA8Y2VsZXN0aWEtYXBwLW1h -aW50YWluZXJzQGNlbGVzdGlhLm9yZz6IkwQTFgoAOxYhBL8C8yzDaGRWC5C3ZNRp -+FlpPcP6BQJlDJUCAhsDBQsJCAcCAiICBhUKCQgLAgQWAgMBAh4HAheAAAoJENRp -+FlpPcP6sZcBAKpPSeEHPlIsKn7lAOlfV0n9kXQYnL3xxdq9/ytFB5dUAP0S//wt -EycGLLn1Wytp06o9tFyRHw+fmQBXaNFPSsc4B7g4BGUMlQISCisGAQQBl1UBBQEB -B0CpJl7Leh7INkGvlq3QclvXRb3TB6P28tDMXk2mPhgYFAMBCAeIeAQYFgoAIBYh -BL8C8yzDaGRWC5C3ZNRp+FlpPcP6BQJlDJUCAhsMAAoJENRp+FlpPcP6HQgBAMC3 -QoXupYfpmiJGGnxlCcK5iyYpZLe8EWpWq39t0vRlAP4hgvO8A4c0TNZaVkvLq62P -eLp2+KNYB2PhA91X8BL8Bg== -=311S ------END PGP PUBLIC KEY BLOCK----- diff --git a/scripts/signing/verify-signature.sh b/scripts/signing/verify-signature.sh deleted file mode 100755 index 6bf467b7ed..0000000000 --- a/scripts/signing/verify-signature.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -# This script enables consumers to verify signatures on artifacts. - -# Check if the number of arguments is not 2 -if [[ $# -ne 2 ]]; then - echo "Error: Exactly two arguments are required." - echo "Example usage:" - echo " ./verify-signature.sh " - exit 1 -fi - -# PGP Key -# celestia-app-maintainers -# BF02F32CC36864560B90B764D469F859693DC3FA -KEY_FILENAME="celestia-app-maintainers.asc" -GITHUB_URL="https://raw.githubusercontent.com/celestiaorg/celestia-app/main/scripts/signing/${KEY_FILENAME}" - -echo "Downloading the celestia-app-maintainers public key" -curl -L ${GITHUB_URL} -o ${KEY_FILENAME} - -echo "Importing ${KEY_FILENAME}" -gpg --import ${KEY_FILENAME} - -echo "Deleting ${KEY_FILENAME}" -rm ${KEY_FILENAME} - -echo "Verifying the signature of "$1" with "$2"" -gpg --verify $1 $2 From f620f9be869c418c5ddc0f5f3ed6378ffc88f3eb Mon Sep 17 00:00:00 2001 From: Rootul Patel Date: Mon, 27 Nov 2023 12:51:22 -0500 Subject: [PATCH 4/9] chore: improve Make error --- Makefile | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index d3186571f5..356ac30c45 100644 --- a/Makefile +++ b/Makefile @@ -7,6 +7,8 @@ IMAGE := ghcr.io/tendermint/docker-build-proto:latest DOCKER_PROTO_BUILDER := docker run -v $(shell pwd):/workspace --workdir /workspace $(IMAGE) PROJECTNAME=$(shell basename "$(PWD)") HTTPS_GIT := https://github.com/celestiaorg/celestia-app.git +PACKAGE_NAME := github.com/celestiaorg/celestia-app +GOLANG_CROSS_VERSION ?= v1.21.4 # process linker flags ldflags = -X github.com/cosmos/cosmos-sdk/version.Name=celestia-app \ @@ -172,15 +174,10 @@ adr-gen: @curl -sSL https://raw.githubusercontent.com/celestiaorg/.github/main/adr-template.md > docs/architecture/adr-template.md .PHONY: adr-gen - -PACKAGE_NAME := github.com/rootulp/celestia-app -GOLANG_CROSS_VERSION ?= v1.21.4 - -## prebuilt-binary: Create prebuilt binaries and attach them to GitHub release. Requires Docker. Will not run locally. -# Only expected to work in CI. See .github/workflows/ci-release.yml +## prebuilt-binary: Create prebuilt binaries and attach them to GitHub release. Requires Docker. prebuilt-binary: @if [ ! -f ".release-env" ]; then \ - echo "\033[91m.release-env is required for release\033[0m";\ + echo "A .release-env file was not found but is required to create prebuilt binaries. This command is expected to be run in CI where a .release-env file exists. If you need to run this command locally to attach binaries to a release, you need to create a .release-env file with a Github token (classic) that has repo:public_repo scope."; \ exit 1;\ fi docker run \ From 5ef1e9f5024f59197ff4cab2d87493bfa281d1c3 Mon Sep 17 00:00:00 2001 From: Rootul Patel Date: Mon, 27 Nov 2023 12:52:52 -0500 Subject: [PATCH 5/9] chore: remove maintainers.asc --- Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/Makefile b/Makefile index 356ac30c45..6ba09bee73 100644 --- a/Makefile +++ b/Makefile @@ -183,7 +183,6 @@ prebuilt-binary: docker run \ --rm \ -e CGO_ENABLED=1 \ - -e GPG_KEY=maintainers.asc \ --env-file .release-env \ -v /var/run/docker.sock:/var/run/docker.sock \ -v `pwd`:/go/src/$(PACKAGE_NAME) \ From cfcbc5faea565a2f19120b8ebd15d354ad693ced Mon Sep 17 00:00:00 2001 From: Rootul Patel Date: Mon, 27 Nov 2023 12:55:37 -0500 Subject: [PATCH 6/9] docs: delete duplicative comments about CC and CXX --- .goreleaser.yaml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index ba0def8f17..1cc81d5fb3 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -12,8 +12,6 @@ builds: env: - SDKPath={{ "github.com/cosmos/cosmos-sdk/version" }} - CGO_ENABLED=1 - # CC and CXX are required for CGO to work. See - # https://github.com/goreleaser/goreleaser-cross#supported-toolchainsplatforms - CC=o64-clang - CXX=o64-clang++ goarch: @@ -36,8 +34,6 @@ builds: env: - SDKPath={{ "github.com/cosmos/cosmos-sdk/version" }} - CGO_ENABLED=1 - # CC and CXX are required for CGO to work. See - # https://github.com/goreleaser/goreleaser-cross#supported-toolchainsplatforms - CC=oa64-clang - CXX=oa64-clang++ goarch: @@ -59,8 +55,6 @@ builds: binary: celestia-appd env: - SDKPath={{ "github.com/cosmos/cosmos-sdk/version" }} - # CC and CXX are required for CGO to work. See - # https://github.com/goreleaser/goreleaser-cross#supported-toolchainsplatforms - CC=x86_64-linux-gnu-gcc - CXX=x86_64-linux-gnu-g++ goarch: @@ -82,8 +76,6 @@ builds: binary: celestia-appd env: - SDKPath={{ "github.com/cosmos/cosmos-sdk/version" }} - # CC and CXX are required for CGO to work. See - # https://github.com/goreleaser/goreleaser-cross#supported-toolchainsplatforms - CC=aarch64-linux-gnu-gcc - CXX=aarch64-linux-gnu-g++ goarch: From def092393723aa6e44cc09fa90466d83c16c76af Mon Sep 17 00:00:00 2001 From: Rootul Patel Date: Mon, 27 Nov 2023 12:56:37 -0500 Subject: [PATCH 7/9] docs: prefer prebuilt over pre-built https://www.yourdictionary.com/prebuilt --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 963ee1cdb7..c01c8d8a51 100644 --- a/README.md +++ b/README.md @@ -43,9 +43,9 @@ node | | | | make install ``` -### Pre-built binary +### Prebuilt binary -If you'd rather not install from source, you can download a pre-built binary from the [releases](https://github.com/celestiaorg/celestia-app/releases) page. +If you'd rather not install from source, you can download a prebuilt binary from the [releases](https://github.com/celestiaorg/celestia-app/releases) page. 1. Navigate to the latest release on . 1. Download the binary for your platform (e.g. `celestia-app_Linux_x86_64.tar.gz`) from the **Assets** section. Tip: if you're not sure what platform you're on, you can run `uname -a` and look for the operating system (e.g. `Linux`, `Darwin`) and architecture (e.g. `x86_64`, `arm64`). @@ -63,10 +63,10 @@ If you'd rather not install from source, you can download a pre-built binary fro
-Optional: Verify the pre-built binary checksums +Optional: Verify the prebuilt binary checksums -If you use a pre-built binary, you may also want to verify the checksum. +If you use a prebuilt binary, you may also want to verify the checksum. 1. Navigate to the latest release on . 1. Download `checksums.txt` and the binary for your platform (e.g. `celestia-app_Linux_x86_64.tar.gz`) from the **Assets** section. Tip: if you're not sure what platform you're on, you can run `uname -a` and look for the operating system (e.g. `Linux`, `Darwin`) and architecture (e.g. `x86_64`, `arm64`). From a9e344cda2435d88a5663a2ad5bc7a7300027c4f Mon Sep 17 00:00:00 2001 From: Rootul Patel Date: Mon, 27 Nov 2023 13:07:40 -0500 Subject: [PATCH 8/9] docs: consolidate optional step --- README.md | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/README.md b/README.md index c01c8d8a51..c9aee008c3 100644 --- a/README.md +++ b/README.md @@ -61,16 +61,7 @@ If you'd rather not install from source, you can download a prebuilt binary from ./celestia-appd --help ``` -
- -Optional: Verify the prebuilt binary checksums - - -If you use a prebuilt binary, you may also want to verify the checksum. - -1. Navigate to the latest release on . -1. Download `checksums.txt` and the binary for your platform (e.g. `celestia-app_Linux_x86_64.tar.gz`) from the **Assets** section. Tip: if you're not sure what platform you're on, you can run `uname -a` and look for the operating system (e.g. `Linux`, `Darwin`) and architecture (e.g. `x86_64`, `arm64`). -1. Verify the checksums +1. [Optional] verify the prebuilt binary checksum. Download `checksums.txt` and then verify the checksum: ```shell sha256sum --ignore-missing --check checksums.txt From 698667f7e814747f9a0efad35bbabbfe84cdac74 Mon Sep 17 00:00:00 2001 From: Rootul Patel Date: Mon, 27 Nov 2023 13:08:02 -0500 Subject: [PATCH 9/9] docs: remove details closing tag --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index c9aee008c3..7d6baafd71 100644 --- a/README.md +++ b/README.md @@ -73,8 +73,6 @@ If you'd rather not install from source, you can download a prebuilt binary from celestia-app_Linux_x86_64.tar.gz: OK ``` -
- ### Ledger Support Ledger is not supported on Windows and OpenBSD.