Skip to content

Commit e893a63

Browse files
authored
Merge pull request #614 from dashpay/release_0.11.0
chore(release): update changelog and bump version to 0.11.0
2 parents a94d6ba + 5933f8e commit e893a63

File tree

1,209 files changed

+135600
-82618
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,209 files changed

+135600
-82618
lines changed

.github/ISSUE_TEMPLATE/proposal.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
name: Protocol Change Proposal
3+
about: Create a proposal to request a change to the protocol
4+
5+
---
6+
7+
<!-- < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < ☺
8+
v ✰ Thanks for opening an issue! ✰
9+
v Before smashing the submit button please review the template.
10+
v Word of caution: Under-specified proposals may be rejected summarily
11+
☺ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -->
12+
13+
# Protocol Change Proposal
14+
15+
## Summary
16+
17+
<!-- Short, concise description of the proposed change -->
18+
19+
## Problem Definition
20+
21+
<!-- Why do we need this change?
22+
What problems may be addressed by introducing this change?
23+
What benefits does Tendermint stand to gain by including this change?
24+
Are there any disadvantages of including this change? -->
25+
26+
## Proposal
27+
28+
<!-- Detailed description of requirements of implementation -->
29+
30+
____
31+
32+
#### For Admin Use
33+
34+
- [ ] Not duplicate issue
35+
- [ ] Appropriate labels applied
36+
- [ ] Appropriate contributors tagged
37+
- [ ] Contributor assigned/self-assigned

.github/actions/bls/action.yml

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ runs:
1515
steps:
1616
- uses: actions/setup-go@v2
1717
with:
18-
go-version: "1.17"
18+
go-version: "1.19"
1919
- uses: actions/checkout@v2
2020
with:
2121
submodules: true
@@ -29,16 +29,24 @@ runs:
2929
with:
3030
path: ~/bls-cache
3131
key: ${{ runner.os }}-${{ inputs.arch }}-bls-${{ steps.bls-revision.outputs.hash }}
32+
- name: install bls deps
33+
run: sudo apt-get update -qq && sudo apt-get install -qq --yes libgmp-dev
34+
shell: bash
3235
- name: Build BLS library
33-
run: make install-bls
36+
run: make build-bls
3437
if: steps.bls-cache.outputs.cache-hit != 'true'
3538
shell: bash
3639
- name: Save BLS library
3740
run: |
38-
mkdir -p ~/bls-cache/include
39-
cp -vr /usr/local/include/chiabls ~/bls-cache/include
40-
cp -vr /usr/local/include/relic* ~/bls-cache/include
41-
cp -v /usr/local/lib/libchiabls.a ~/bls-cache/
41+
mkdir -p ~/bls-cache/include/bls-dash
42+
mkdir -p ~/bls-cache/lib
43+
cp -r ./third_party/bls-signatures/build/depends/mimalloc/libmimalloc-secure.a ~/bls-cache/lib
44+
cp -r ./third_party/bls-signatures/build/depends/relic/lib/librelic_s.a ~/bls-cache/lib
45+
cp -r ./third_party/bls-signatures/build/src/libdashbls.a ~/bls-cache/lib
46+
cp -rv ./third_party/bls-signatures/build/depends/relic/include/* ~/bls-cache/include
47+
cp -rv ./third_party/bls-signatures/src/depends/mimalloc/include/* ~/bls-cache/include
48+
cp -rv ./third_party/bls-signatures/src/depends/relic/include/* ~/bls-cache/include
49+
cp -rv ./third_party/bls-signatures/src/include/* ~/bls-cache/include
4250
if: steps.bls-cache.outputs.cache-hit != 'true'
4351
shell: bash
4452
- uses: actions/cache@v2.1.2
@@ -49,5 +57,5 @@ runs:
4957
- name: Install BLS library
5058
run: |
5159
sudo cp -vr ~/bls-cache/include/* /usr/local/include/
52-
sudo cp -vr ~/bls-cache/libchiabls.a /usr/local/lib/
60+
sudo cp -vr ~/bls-cache/lib/* /usr/local/lib/
5361
shell: bash

.github/dependabot.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ updates:
44
- package-ecosystem: github-actions
55
directory: "/"
66
schedule:
7-
interval: daily
8-
time: "11:00"
7+
interval: weekly
98
open-pull-requests-limit: 10
109
# - package-ecosystem: npm
1110
# directory: "/docs"
@@ -18,8 +17,8 @@ updates:
1817
- package-ecosystem: gomod
1918
directory: "/"
2019
schedule:
21-
interval: daily
22-
time: "11:00"
20+
interval: weekly
21+
target-branch: "v0.35.x"
2322
open-pull-requests-limit: 10
2423
reviewers:
2524
- shotonoff

.github/workflows/.yamllint

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
extends: default
2+
3+
rules:
4+
line-length: disable
5+
truthy: disable
6+
comments: {min-spaces-from-content: 1}

.github/workflows/build.yml

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
---
21
name: Build
32
# Tests runs different tests (test_abci_apps, test_abci_cli, test_apps)
43
# This workflow runs on every push to master or release branch and every pull requests
@@ -8,9 +7,7 @@ on:
87
push:
98
branches:
109
- master
11-
- release/**
12-
- v0.*-dev
13-
10+
- v[0-9]+.[0-9]+-dev
1411
jobs:
1512
build:
1613
name: Build
@@ -22,13 +19,13 @@ jobs:
2219
- "amd64"
2320
# - "arm"
2421
goos: ["linux"]
25-
timeout-minutes: 5
22+
timeout-minutes: 55
2623
steps:
27-
- uses: actions/setup-go@v2
24+
- uses: actions/setup-go@v3.5.0
2825
with:
29-
go-version: "1.17"
30-
- uses: actions/checkout@v2.4.0
31-
- uses: technote-space/get-diff-action@v5
26+
go-version: "1.19"
27+
- uses: actions/checkout@v3
28+
- uses: technote-space/get-diff-action@v6
3229
with:
3330
PATTERNS: |
3431
**/**.go
@@ -42,7 +39,7 @@ jobs:
4239
with:
4340
arch: ${{ matrix.goarch }}
4441
- name: install-gcc
45-
run: sudo apt-get update -qq && sudo apt-get install -qq --yes gcc-10-arm-linux-gnueabi g++-10-arm-linux-gnueabi
42+
run: sudo apt-get -qq --yes gcc-10-arm-linux-gnueabi g++-10-arm-linux-gnueabi
4643
if: "matrix.goarch == 'arm'"
4744
- name: install
4845
run: |
@@ -55,11 +52,11 @@ jobs:
5552
needs: build
5653
timeout-minutes: 5
5754
steps:
58-
- uses: actions/setup-go@v2
55+
- uses: actions/setup-go@v3.5.0
5956
with:
60-
go-version: "1.17"
61-
- uses: actions/checkout@v2.4.0
62-
- uses: technote-space/get-diff-action@v5
57+
go-version: "1.19"
58+
- uses: actions/checkout@v3
59+
- uses: technote-space/get-diff-action@v6
6360
with:
6461
PATTERNS: |
6562
**/**.go
@@ -80,11 +77,11 @@ jobs:
8077
needs: build
8178
timeout-minutes: 5
8279
steps:
83-
- uses: actions/setup-go@v2
80+
- uses: actions/setup-go@v3.5.0
8481
with:
85-
go-version: "1.17"
86-
- uses: actions/checkout@v2.4.0
87-
- uses: technote-space/get-diff-action@v5
82+
go-version: "1.19"
83+
- uses: actions/checkout@v3
84+
- uses: technote-space/get-diff-action@v6
8885
with:
8986
PATTERNS: |
9087
**/**.go
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# Verify that generated code is up-to-date.
2+
#
3+
# Note that we run these checks regardless whether the input files have
4+
# changed, because generated code can change in response to toolchain updates
5+
# even if no files in the repository are modified.
6+
name: Check generated code
7+
on:
8+
pull_request:
9+
paths:
10+
- "**.go"
11+
- "**.proto"
12+
push:
13+
branches:
14+
- master
15+
- v[0-9]+.[0-9]+-dev
16+
17+
permissions:
18+
contents: read
19+
20+
jobs:
21+
check-mocks:
22+
runs-on: ubuntu-latest
23+
steps:
24+
- uses: actions/setup-go@v3.5.0
25+
with:
26+
go-version: "1.19"
27+
28+
- uses: actions/checkout@v3
29+
30+
- name: "Check generated mocks"
31+
run: |
32+
set -euo pipefail
33+
34+
readonly MOCKERY=2.23.1 # N.B. no leading "v"
35+
curl -sL "https://github.com/vektra/mockery/releases/download/v${MOCKERY}/mockery_${MOCKERY}_Linux_x86_64.tar.gz" | tar -C /usr/local/bin -xzf -
36+
make mockery 2>/dev/null
37+
38+
if ! git diff --stat --exit-code ; then
39+
echo ">> ERROR:"
40+
echo ">>"
41+
echo ">> Generated mocks require update (either Mockery or source files may have changed)."
42+
echo ">> Ensure your tools are up-to-date, re-run 'make mockery' and update this PR."
43+
echo ">>"
44+
exit 1
45+
fi
46+
47+
check-proto:
48+
runs-on: ubuntu-latest
49+
steps:
50+
- uses: actions/setup-go@v3.5.0
51+
with:
52+
go-version: "1.19"
53+
54+
- uses: actions/checkout@v3
55+
with:
56+
fetch-depth: 1 # we need a .git directory to run git diff
57+
58+
- name: "Check protobuf generated code"
59+
run: |
60+
set -euo pipefail
61+
62+
# Install buf and gogo tools, so that differences that arise from
63+
# toolchain differences are also caught.
64+
readonly tools="$(mktemp -d)"
65+
export PATH="${PATH}:${tools}/bin"
66+
export GOBIN="${tools}/bin"
67+
68+
go install github.com/bufbuild/buf/cmd/buf
69+
go install github.com/gogo/protobuf/protoc-gen-gogofaster@latest
70+
71+
make proto-gen
72+
73+
if ! git diff --stat --exit-code ; then
74+
echo ">> ERROR:"
75+
echo ">>"
76+
echo ">> Protobuf generated code requires update (either tools or .proto files may have changed)."
77+
echo ">> Ensure your tools are up-to-date, re-run 'make proto-gen' and update this PR."
78+
echo ">>"
79+
exit 1
80+
fi

.github/workflows/docker.yml

Lines changed: 53 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,109 @@
11
---
22
name: Docker
3-
# Build & Push rebuilds the Tenderdash docker image every time a release is published
4-
# and pushes the image to https://hub.docker.com/r/dashpay/tenderdash/tags
3+
# Build & Push rebuilds the Tenderdash docker image every time a release is
4+
# published and pushes the image to https://hub.docker.com/r/dashpay/tenderdash
55
on:
66
workflow_dispatch:
7+
inputs:
8+
tag:
9+
type: string
10+
description: 'Docker tag'
11+
required: false
712
release:
813
types:
914
- published
1015

1116
jobs:
1217
build:
13-
runs-on: ubuntu-20.04
18+
runs-on: ubuntu-22.04
1419
steps:
15-
- uses: actions/checkout@v2.3.4
20+
- uses: actions/checkout@v3
1621

1722
- name: Set up QEMU
1823
uses: docker/setup-qemu-action@master
1924
with:
2025
platforms: all
2126

2227
- name: Set up Docker Build
23-
uses: docker/setup-buildx-action@v1.6.0
28+
uses: docker/setup-buildx-action@v2.4.1
2429

2530
- name: Login to DockerHub
2631
if: ${{ github.event_name != 'pull_request' }}
27-
uses: docker/login-action@v1.14.1
32+
uses: docker/login-action@v2.0.0
2833
with:
2934
username: ${{ secrets.DOCKERHUB_USERNAME }}
3035
password: ${{ secrets.DOCKERHUB_TOKEN }}
3136

3237
- name: Set suffix to Docker tags
3338
uses: actions/github-script@v6
3439
id: suffix
40+
if: ${{ github.event.release != null }}
3541
with:
3642
result-encoding: string
3743
script: "return (context.payload.release.tag_name.includes('-dev') ? '-dev' : '');"
3844

45+
- name: Determine TENDERMINT_BUILD_OPTIONS
46+
uses: actions/github-script@v6
47+
id: TENDERMINT_BUILD_OPTIONS
48+
with:
49+
result-encoding: string
50+
script: |
51+
if (github.ref_type == 'tag' && !contains(github.ref_name,'-dev')) {
52+
return 'tenderdash,stable'
53+
}
54+
return 'tenderdash,dev,deadlock'
55+
3956
- name: Set Docker tags and labels
4057
id: docker_meta
4158
uses: docker/metadata-action@v3
4259
with:
4360
images: dashpay/tenderdash
4461
tags: |
62+
type=semver,pattern={{version}},value=${{ github.event.inputs.tag }}
63+
type=raw,priority=650,value=${{ github.event.inputs.tag }},enable=${{ github.event.inputs.tag != '' }}
64+
type=ref,event=branch
65+
type=ref,event=pr
4566
type=match,pattern=v(\d+),group=1
4667
type=match,pattern=v(\d+.\d+),group=1
4768
type=match,pattern=v(\d+.\d+.\d+),group=1
4869
type=match,pattern=v(.*),group=1,suffix=,enable=${{ contains(github.event.release.tag_name, '-dev') }}
4970
flavor: |
50-
latest=${{ !contains(github.event.release.tag_name, '-dev') }}
71+
latest=${{ github.event.release != null && !contains(github.event.release.tag_name, '-dev') }}
5172
suffix=${{ steps.suffix.outputs.result }}
5273
74+
# We build some dependencies and libraries separately. Layers are cached
75+
# on Docker Hub, as Github caches are not available for other branches.
76+
- name: Build and cache image with dependencies
77+
id: docker_bls
78+
uses: docker/build-push-action@v4.0.0
79+
with:
80+
context: .
81+
file: ./DOCKER/Dockerfile
82+
platforms: linux/amd64,linux/arm64
83+
target: base
84+
push: false
85+
cache-from: |
86+
type=registry,ref=dashpay/tenderdash:buildcache-deps
87+
cache-to: |
88+
type=registry,ref=dashpay/tenderdash:buildcache-deps,mode=max
89+
build-args: |
90+
TENDERMINT_BUILD_OPTIONS="${{ steps.TENDERMINT_BUILD_OPTIONS.outputs.result }}"
91+
5392
- name: Publish to Docker Hub
54-
uses: docker/build-push-action@v2.9.0
93+
id: docker_build
94+
uses: docker/build-push-action@v4.0.0
5595
with:
5696
context: .
5797
file: ./DOCKER/Dockerfile
5898
platforms: linux/amd64,linux/arm64
5999
push: ${{ github.event_name != 'pull_request' }}
60100
tags: ${{ steps.docker_meta.outputs.tags }}
61101
labels: ${{ steps.docker_meta.outputs.labels }}
62-
cache-from: type=gha
102+
cache-from: |
103+
type=gha
104+
type=registry,ref=dashpay/tenderdash:buildcache-deps
63105
cache-to: type=gha,mode=max
64-
106+
build-args: |
107+
TENDERMINT_BUILD_OPTIONS="${{ steps.TENDERMINT_BUILD_OPTIONS.outputs.result }}"
65108
- name: Show Docker image digest
66109
run: echo ${{ steps.docker_build.outputs.digest }}

0 commit comments

Comments
 (0)