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:
parent
fd04f41e23
commit
e2f510afcc
|
@ -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:
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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")
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
Loading…
Reference in New Issue