From dd000a85bd5b2c39b5784a57c3957edbecd16761 Mon Sep 17 00:00:00 2001 From: Marius Poke Date: Tue, 28 Jan 2025 23:38:41 +0100 Subject: [PATCH 1/3] bring v22 changelog to main (#3505) --- .../dependencies/3370-bump-cometbft.md | 0 .../dependencies/3370-bump-ibc.md | 0 .../dependencies/3454-bump-cosmos-sdk.md | 0 .../dependencies/3459-bump-cosmwasm.md | 0 .../dependencies/3474-bump-ics.md | 0 .../state-breaking/3370-bump-cometbft.md | 0 .../state-breaking/3370-bump-ibc.md | 0 .../state-breaking/3454-bump-cosmos-sdk.md | 0 .../state-breaking/3459-bump-cosmwasm.md | 0 .../state-breaking/3474-bump-ics.md | 0 .changelog/v22.0.0/summary.md | 1 + CHANGELOG.md | 40 +++++++++++++++++++ 12 files changed, 41 insertions(+) rename .changelog/{unreleased => v22.0.0}/dependencies/3370-bump-cometbft.md (100%) rename .changelog/{unreleased => v22.0.0}/dependencies/3370-bump-ibc.md (100%) rename .changelog/{unreleased => v22.0.0}/dependencies/3454-bump-cosmos-sdk.md (100%) rename .changelog/{unreleased => v22.0.0}/dependencies/3459-bump-cosmwasm.md (100%) rename .changelog/{unreleased => v22.0.0}/dependencies/3474-bump-ics.md (100%) rename .changelog/{unreleased => v22.0.0}/state-breaking/3370-bump-cometbft.md (100%) rename .changelog/{unreleased => v22.0.0}/state-breaking/3370-bump-ibc.md (100%) rename .changelog/{unreleased => v22.0.0}/state-breaking/3454-bump-cosmos-sdk.md (100%) rename .changelog/{unreleased => v22.0.0}/state-breaking/3459-bump-cosmwasm.md (100%) rename .changelog/{unreleased => v22.0.0}/state-breaking/3474-bump-ics.md (100%) create mode 100644 .changelog/v22.0.0/summary.md diff --git a/.changelog/unreleased/dependencies/3370-bump-cometbft.md b/.changelog/v22.0.0/dependencies/3370-bump-cometbft.md similarity index 100% rename from .changelog/unreleased/dependencies/3370-bump-cometbft.md rename to .changelog/v22.0.0/dependencies/3370-bump-cometbft.md diff --git a/.changelog/unreleased/dependencies/3370-bump-ibc.md b/.changelog/v22.0.0/dependencies/3370-bump-ibc.md similarity index 100% rename from .changelog/unreleased/dependencies/3370-bump-ibc.md rename to .changelog/v22.0.0/dependencies/3370-bump-ibc.md diff --git a/.changelog/unreleased/dependencies/3454-bump-cosmos-sdk.md b/.changelog/v22.0.0/dependencies/3454-bump-cosmos-sdk.md similarity index 100% rename from .changelog/unreleased/dependencies/3454-bump-cosmos-sdk.md rename to .changelog/v22.0.0/dependencies/3454-bump-cosmos-sdk.md diff --git a/.changelog/unreleased/dependencies/3459-bump-cosmwasm.md b/.changelog/v22.0.0/dependencies/3459-bump-cosmwasm.md similarity index 100% rename from .changelog/unreleased/dependencies/3459-bump-cosmwasm.md rename to .changelog/v22.0.0/dependencies/3459-bump-cosmwasm.md diff --git a/.changelog/unreleased/dependencies/3474-bump-ics.md b/.changelog/v22.0.0/dependencies/3474-bump-ics.md similarity index 100% rename from .changelog/unreleased/dependencies/3474-bump-ics.md rename to .changelog/v22.0.0/dependencies/3474-bump-ics.md diff --git a/.changelog/unreleased/state-breaking/3370-bump-cometbft.md b/.changelog/v22.0.0/state-breaking/3370-bump-cometbft.md similarity index 100% rename from .changelog/unreleased/state-breaking/3370-bump-cometbft.md rename to .changelog/v22.0.0/state-breaking/3370-bump-cometbft.md diff --git a/.changelog/unreleased/state-breaking/3370-bump-ibc.md b/.changelog/v22.0.0/state-breaking/3370-bump-ibc.md similarity index 100% rename from .changelog/unreleased/state-breaking/3370-bump-ibc.md rename to .changelog/v22.0.0/state-breaking/3370-bump-ibc.md diff --git a/.changelog/unreleased/state-breaking/3454-bump-cosmos-sdk.md b/.changelog/v22.0.0/state-breaking/3454-bump-cosmos-sdk.md similarity index 100% rename from .changelog/unreleased/state-breaking/3454-bump-cosmos-sdk.md rename to .changelog/v22.0.0/state-breaking/3454-bump-cosmos-sdk.md diff --git a/.changelog/unreleased/state-breaking/3459-bump-cosmwasm.md b/.changelog/v22.0.0/state-breaking/3459-bump-cosmwasm.md similarity index 100% rename from .changelog/unreleased/state-breaking/3459-bump-cosmwasm.md rename to .changelog/v22.0.0/state-breaking/3459-bump-cosmwasm.md diff --git a/.changelog/unreleased/state-breaking/3474-bump-ics.md b/.changelog/v22.0.0/state-breaking/3474-bump-ics.md similarity index 100% rename from .changelog/unreleased/state-breaking/3474-bump-ics.md rename to .changelog/v22.0.0/state-breaking/3474-bump-ics.md diff --git a/.changelog/v22.0.0/summary.md b/.changelog/v22.0.0/summary.md new file mode 100644 index 00000000000..3f948c8b6e2 --- /dev/null +++ b/.changelog/v22.0.0/summary.md @@ -0,0 +1 @@ +*January 10, 2025* diff --git a/CHANGELOG.md b/CHANGELOG.md index c0118c36055..6d4313c0936 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,45 @@ # CHANGELOG +## v22.0.0 + +*January 10, 2025* + +### DEPENDENCIES + +- Bump [ibc-go](https://github.com/cosmos/ibc-go) to + [v8.5.2](https://github.com/cosmos/ibc-go/releases/tag/v8.5.2) + ([\#3370](https://github.com/cosmos/gaia/pull/3370)) +- Bump [cometbft](https://github.com/cometbft/cometbft) to + [v0.38.15](https://github.com/cometbft/cometbft/releases/tag/v0.38.15) + ([\#3370](https://github.com/cosmos/gaia/pull/3370)) +- Bump [cosmos-sdk](https://github.com/cosmos/cosmos-sdk) to + [v0.50.11-lsm](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.11-lsm) + ([\#3454](https://github.com/cosmos/gaia/pull/3454)) +- Bump [wasmd](https://github.com/CosmWasm/wasmd) to + [v0.53.2](https://github.com/CosmWasm/wasmd/releases/tag/v0.53.2) + ([\#3459](https://github.com/cosmos/gaia/pull/3459)) +- Bump [ICS](https://github.com/cosmos/interchain-security) to + [v6.4.0](https://github.com/cosmos/interchain-security/releases/tag/v6.4.0). + ([\#3474](https://github.com/cosmos/gaia/pull/3474)) + +### STATE BREAKING + +- Bump [ibc-go](https://github.com/cosmos/ibc-go) to + [v8.5.2](https://github.com/cosmos/ibc-go/releases/tag/v8.5.2) + ([\#3370](https://github.com/cosmos/gaia/pull/3370)) +- Bump [cometbft](https://github.com/cometbft/cometbft) to + [v0.38.15](https://github.com/cometbft/cometbft/releases/tag/v0.38.15) + ([\#3370](https://github.com/cosmos/gaia/pull/3370)) +- Bump [cosmos-sdk](https://github.com/cosmos/cosmos-sdk) to + [v0.50.11-lsm](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.11-lsm) + ([\#3454](https://github.com/cosmos/gaia/pull/3454)) +- Bump [wasmd](https://github.com/CosmWasm/wasmd) to + [v0.53.2](https://github.com/CosmWasm/wasmd/releases/tag/v0.53.2) + ([\#3459](https://github.com/cosmos/gaia/pull/3459)) +- Bump [ICS](https://github.com/cosmos/interchain-security) to + [v6.4.0](https://github.com/cosmos/interchain-security/releases/tag/v6.4.0). + ([\#3474](https://github.com/cosmos/gaia/pull/3474)) + ## v21.0.1 *November 21, 2024* From ae3cadf4322e04e0542bc8122c183329343472b4 Mon Sep 17 00:00:00 2001 From: violet <158512193+fastfadingviolets@users.noreply.github.com> Date: Tue, 28 Jan 2025 23:29:42 -0500 Subject: [PATCH 2/3] feat(ci): Add a markdown test report to interchaintests (#3489) --- .github/workflows/interchain-test.yml | 45 ++++++++++++++++++++++++--- tests/interchain/matrix_tool/main.go | 10 +++--- 2 files changed, 46 insertions(+), 9 deletions(-) diff --git a/.github/workflows/interchain-test.yml b/.github/workflows/interchain-test.yml index 8de73e3264e..e2472c5aaf3 100644 --- a/.github/workflows/interchain-test.yml +++ b/.github/workflows/interchain-test.yml @@ -18,7 +18,7 @@ jobs: echo "tag_name=${{ github.event.client_payload.tag_name }}" | tee -a $GITHUB_OUTPUT else echo "ref_name=${{ github.ref_name }}" | tee -a $GITHUB_OUTPUT - echo "tag_name=${{ github.ref_name }}" | tee -a $GITHUB_OUTPUT + echo "tag_name=${{ github.ref_name }}" | sed 's~/~-~g' | tee -a $GITHUB_OUTPUT fi - name: Check out repository code uses: actions/checkout@v4 @@ -57,8 +57,43 @@ jobs: TEST_NEW_GAIA_IMAGE_VERSION: "${{ matrix.test_version }}" TEST_UPGRADE_NAME: "${{ matrix.upgrade_name }}" run: | - # This docker pull/tag is a quick hack only necessary for v19, since there were no official v18 images built. - # Once we're testing 19 -> 20 this can be removed - docker pull "ghcr.io/hyphacoop/gaia:v18.1.0" && docker tag "ghcr.io/hyphacoop/gaia:v18.1.0" "ghcr.io/${{ github.repository_owner }}/gaia:v18.1.0" cd ./tests/interchain - go test -v ./... -failfast -p 1 -timeout 5h -run="^${{ matrix.test_name }}" + go install github.com/mfridman/tparse@latest + set -o pipefail + go test -v ./... -failfast -p 1 -timeout 5h -run="^${{ matrix.test_name }}" -json | tee ../../output-${{ matrix.previous_version }}-${{ matrix.test_name }}.json | tparse -follow -all + - name: Upload output + uses: actions/upload-artifact@v4 + if: always() + with: + name: output-${{ matrix.previous_version }}-${{ matrix.test_name }} + path: output-${{ matrix.previous_version }}-${{ matrix.test_name }}.json + test-report: + needs: [test, prepare-matrix] + if: always() + runs-on: ubuntu-latest + steps: + - name: Download all artifacts + uses: actions/download-artifact@v4 + with: + path: ./outputs + - name: Setup go + uses: actions/setup-go@v5 + - name: Prep report + env: + TEST_MATRIX: ${{ needs.prepare-matrix.outputs.matrix }} + run: | + go install github.com/becheran/go-testreport@latest + TEST_VERSION=$(echo "$TEST_MATRIX" | jq -r '.test_version[0]') + UPGRADE_NAME=$(echo "$TEST_MATRIX" | jq -r '.upgrade_name[0]') + echo "$TEST_MATRIX" | jq -r '.previous_version[]' | while read PREV_VERSION; do + cat ./outputs/output-${PREV_VERSION}-*/*.json > combined-${PREV_VERSION}.json + go-testreport -vars="Title:${PREV_VERSION} -> ${UPGRADE_NAME} (${TEST_VERSION})" "test-report-${PREV_VERSION}.md" < "combined-${PREV_VERSION}.json" || true + echo '' >> test-report-${PREV_VERSION}.md + done + cat test-report-*.md > test-report.md + cat test-report.md > $GITHUB_STEP_SUMMARY + - name: Upload output + uses: actions/upload-artifact@v4 + with: + name: test-report + path: test-report.md diff --git a/tests/interchain/matrix_tool/main.go b/tests/interchain/matrix_tool/main.go index ade3983dd96..b397b0f8eb0 100644 --- a/tests/interchain/matrix_tool/main.go +++ b/tests/interchain/matrix_tool/main.go @@ -29,7 +29,7 @@ func GetPreviousMajorMinor(ctx context.Context, testVersion string) (previousVer org = "cosmos" } client := github.NewClient(nil) - releaes, _, err := client.Repositories.ListReleases(ctx, org, "gaia", nil) + releases, _, err := client.Repositories.ListReleases(ctx, org, "gaia", nil) if err != nil { err = fmt.Errorf("ListReleases failed: %w", err) return @@ -40,8 +40,8 @@ func GetPreviousMajorMinor(ctx context.Context, testVersion string) (previousVer err = fmt.Errorf("failed to parse major version: %w", err) return } - semvers := make([]string, 0, len(releaes)) - for _, release := range releaes { + semvers := make([]string, 0, len(releases)) + for _, release := range releases { semvers = append(semvers, release.GetTagName()) } var previousMinor, previousRc bool @@ -97,6 +97,7 @@ func GetSemverForBranch() (string, error) { func GetTestList() ([]string, error) { retval := []string{} + uniq := map[string]bool{} cmd := exec.Command("go", "test", "-list=.", "./...") out, err := cmd.Output() if err != nil { @@ -105,8 +106,9 @@ func GetTestList() ([]string, error) { } lines := strings.Split(string(out), "\n") for _, line := range lines { - if strings.HasPrefix(line, "Test") { + if strings.HasPrefix(line, "Test") && !uniq[line] { retval = append(retval, line) + uniq[line] = true } } rand.Shuffle(len(retval), func(i, j int) { From 20fca1c52e5577a3eb2d869714c32138d55b3bd0 Mon Sep 17 00:00:00 2001 From: violet <158512193+fastfadingviolets@users.noreply.github.com> Date: Tue, 28 Jan 2025 23:44:52 -0500 Subject: [PATCH 3/3] fix(ci): add linux builds back to goreleaser config (#3506) This allows them to be automatically generated when a new release is pushed, removing the need for someone to manually build and push. The key here was to download a musl toolchain from musl.cc--the musl toolchain included with goreleaser doesn't work. This allows us to build a statically linked binary with WASM and ledger support. --- .../bug-fixes/3506-fix-goreleaser-linux.md | 1 + .goreleaser.yml | 43 ++++++++++++++++++- 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 .changelog/unreleased/bug-fixes/3506-fix-goreleaser-linux.md diff --git a/.changelog/unreleased/bug-fixes/3506-fix-goreleaser-linux.md b/.changelog/unreleased/bug-fixes/3506-fix-goreleaser-linux.md new file mode 100644 index 00000000000..8ee6a582dc5 --- /dev/null +++ b/.changelog/unreleased/bug-fixes/3506-fix-goreleaser-linux.md @@ -0,0 +1 @@ +- Fix goreleaser config to generate Linux builds again. ([\#3506](https://github.com/cosmos/gaia/pull/3506)) diff --git a/.goreleaser.yml b/.goreleaser.yml index 40129243478..efa2a475eac 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -75,7 +75,43 @@ builds: - -X github.com/cosmos/cosmos-sdk/version.Commit={{ .Commit }} - -X github.com/cosmos/cosmos-sdk/version.BuildTags=netgo,ledger,static_wasm - -X github.com/cometbft/cometbft/version.TMCoreSemVer={{ .Env.TM_VERSION }} - + - id: gaiad-linux-amd64 + main: ./cmd/gaiad + binary: gaiad + builder: go + gobinary: "go" + env: + - CGO_ENABLED=1 + - CC=/opt/musl-cross/bin/x86_64-linux-musl-gcc + - LD=/opt/musl-cross/bin/x86_64-linux-musl-ld + - CGO_LDFLAGS=-L/lib + goos: + - linux + goarch: + - amd64 + tags: + - muslc + - ledger + hooks: + pre: + - wget -O /lib/libwasmvm_muslc.x86_64.a https://github.com/CosmWasm/wasmvm/releases/download/{{ .Env.COSMWASM_VERSION }}/libwasmvm_muslc.x86_64.a + - echo "a4a3d09b36fabb65b119d5ba23442c23694401fcbee4451fe6b7e22e325a4bac /lib/libwasmvm_muslc.x86_64.a" | sha256sum -c + - cp /lib/libwasmvm_muslc.x86_64.a /lib/libwasmvm_muslc.a + - curl -LO https://musl.cc/x86_64-linux-musl-cross.tgz + - tar xf x86_64-linux-musl-cross.tgz + - mv x86_64-linux-musl-cross /opt/musl-cross + ldflags: + - -s -w + - -linkmode=external + - -extldflags "-Wl,-z,muldefs -static" + - -X main.commit={{.Commit}} + - -X main.date={{ .CommitDate }} + - -X github.com/cosmos/cosmos-sdk/version.Name=gaia + - -X github.com/cosmos/cosmos-sdk/version.AppName=gaiad + - -X github.com/cosmos/cosmos-sdk/version.Version={{ .Version }} + - -X github.com/cosmos/cosmos-sdk/version.Commit={{ .Commit }} + - -X github.com/cosmos/cosmos-sdk/version.BuildTags=muslc,ledger + - -X github.com/cometbft/cometbft/version.TMCoreSemVer={{ .Env.TM_VERSION }} universal_binaries: - id: gaiad-darwin-universal @@ -83,6 +119,10 @@ universal_binaries: - gaiad-darwin-arm64 - gaiad-darwin-amd64 replace: false + - id: gaiad-linux-universal + ids: + - gaiad-linux-amd64 + replace: false archives: # disables archiving; to enable use commented lines below @@ -102,6 +142,7 @@ archives: builds: - gaiad-darwin-arm64 - gaiad-darwin-amd64 + - gaiad-linux-amd64 wrap_in_directory: false files: - none*