Compatibility with the ARM architecture (#8396)

Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: Jonathan Gimeno <jgimeno@gmail.com>
This commit is contained in:
Riccardo Montagnin 2021-01-27 12:07:45 +01:00 committed by GitHub
parent fd04f41e23
commit e2f510afcc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 30 additions and 9 deletions

View File

@ -31,6 +31,26 @@ jobs:
path: ~/go/bin path: ~/go/bin
key: ${{ runner.os }}-go-tparse-binary key: ${{ runner.os }}-go-tparse-binary
build:
runs-on: ubuntu-latest
strategy:
matrix:
go-arch: ["amd64", "arm", "arm64"]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-go@v2.1.3
with:
go-version: 1.15
- uses: technote-space/get-diff-action@v4
id: git_diff
with:
PATTERNS: |
**/**.go
go.mod
go.sum
- name: Build
run: GOARCH=${{ matrix.go-arch }} LEDGER_ENABLED=false make build
test-cosmovisor: test-cosmovisor:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:

View File

@ -43,6 +43,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
### Improvements ### Improvements
* (x/ibc) [\#8404](https://github.com/cosmos/cosmos-sdk/pull/8404) Reorder IBC `ChanOpenAck` and `ChanOpenConfirm` handler execution to perform core handler first, followed by application callbacks. * (x/ibc) [\#8404](https://github.com/cosmos/cosmos-sdk/pull/8404) Reorder IBC `ChanOpenAck` and `ChanOpenConfirm` handler execution to perform core handler first, followed by application callbacks.
* [\#8396](https://github.com/cosmos/cosmos-sdk/pull/8396) Add support for ARM platform
### Bug Fixes ### Bug Fixes

View File

@ -91,7 +91,7 @@ func (s *Store) Get(height uint64, format uint32) (*types.Snapshot, error) {
// Get fetches the latest snapshot from the database, if any. // Get fetches the latest snapshot from the database, if any.
func (s *Store) GetLatest() (*types.Snapshot, error) { func (s *Store) GetLatest() (*types.Snapshot, error) {
iter, err := s.db.ReverseIterator(encodeKey(0, 0), encodeKey(math.MaxUint64, math.MaxUint32)) iter, err := s.db.ReverseIterator(encodeKey(0, 0), encodeKey(uint64(math.MaxUint64), math.MaxUint32))
if err != nil { if err != nil {
return nil, sdkerrors.Wrap(err, "failed to find latest snapshot") return nil, sdkerrors.Wrap(err, "failed to find latest snapshot")
} }
@ -111,7 +111,7 @@ func (s *Store) GetLatest() (*types.Snapshot, error) {
// List lists snapshots, in reverse order (newest first). // List lists snapshots, in reverse order (newest first).
func (s *Store) List() ([]*types.Snapshot, error) { func (s *Store) List() ([]*types.Snapshot, error) {
iter, err := s.db.ReverseIterator(encodeKey(0, 0), encodeKey(math.MaxUint64, math.MaxUint32)) iter, err := s.db.ReverseIterator(encodeKey(0, 0), encodeKey(uint64(math.MaxUint64), math.MaxUint32))
if err != nil { if err != nil {
return nil, sdkerrors.Wrap(err, "failed to list snapshots") return nil, sdkerrors.Wrap(err, "failed to list snapshots")
} }
@ -181,7 +181,7 @@ func (s *Store) loadChunkFile(height uint64, format uint32, chunk uint32) (io.Re
// Prune removes old snapshots. The given number of most recent heights (regardless of format) are retained. // Prune removes old snapshots. The given number of most recent heights (regardless of format) are retained.
func (s *Store) Prune(retain uint32) (uint64, error) { func (s *Store) Prune(retain uint32) (uint64, error) {
iter, err := s.db.ReverseIterator(encodeKey(0, 0), encodeKey(math.MaxUint64, math.MaxUint32)) iter, err := s.db.ReverseIterator(encodeKey(0, 0), encodeKey(uint64(math.MaxUint64), math.MaxUint32))
if err != nil { if err != nil {
return 0, sdkerrors.Wrap(err, "failed to prune snapshots") return 0, sdkerrors.Wrap(err, "failed to prune snapshots")
} }

View File

@ -711,9 +711,9 @@ func (rs *Store) Restore(
if height == 0 { if height == 0 {
return sdkerrors.Wrap(sdkerrors.ErrLogic, "cannot restore snapshot at height 0") return sdkerrors.Wrap(sdkerrors.ErrLogic, "cannot restore snapshot at height 0")
} }
if height > math.MaxInt64 { if height > uint64(math.MaxUint64) {
return sdkerrors.Wrapf(snapshottypes.ErrInvalidMetadata, return sdkerrors.Wrapf(snapshottypes.ErrInvalidMetadata,
"snapshot height %v cannot exceed %v", height, math.MaxInt64) "snapshot height %v cannot exceed %v", height, int64(math.MaxInt64))
} }
// Signal readiness. Must be done before the readers below are set up, since the zlib // Signal readiness. Must be done before the readers below are set up, since the zlib

View File

@ -202,8 +202,8 @@ func ValidateTransferChannelParams(
if err != nil { if err != nil {
return err return err
} }
if channelSequence > math.MaxUint32 { if channelSequence > uint64(math.MaxUint32) {
return sdkerrors.Wrapf(types.ErrMaxTransferChannels, "channel sequence %d is greater than max allowed transfer channels %d", channelSequence, math.MaxUint32) return sdkerrors.Wrapf(types.ErrMaxTransferChannels, "channel sequence %d is greater than max allowed transfer channels %d", channelSequence, uint64(math.MaxUint32))
} }
if order != channeltypes.UNORDERED { if order != channeltypes.UNORDERED {
return sdkerrors.Wrapf(channeltypes.ErrInvalidChannelOrdering, "expected %s channel, got %s ", channeltypes.UNORDERED, order) return sdkerrors.Wrapf(channeltypes.ErrInvalidChannelOrdering, "expected %s channel, got %s ", channeltypes.UNORDERED, order)

View File

@ -93,7 +93,7 @@ func ValidateClientType(clientType string) error {
} }
smallestPossibleClientID := FormatClientIdentifier(clientType, 0) smallestPossibleClientID := FormatClientIdentifier(clientType, 0)
largestPossibleClientID := FormatClientIdentifier(clientType, math.MaxUint64) largestPossibleClientID := FormatClientIdentifier(clientType, uint64(math.MaxUint64))
// IsValidClientID will check client type format and if the sequence is a uint64 // IsValidClientID will check client type format and if the sequence is a uint64
if !IsValidClientID(smallestPossibleClientID) { if !IsValidClientID(smallestPossibleClientID) {