diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6e6d5b1..ecec2f6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -53,7 +53,7 @@ jobs: run: docker logs tenderdash > tenderdash.log 2>&1 - name: Archive docker logs - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v4 if: failure() with: name: tenderdash.log diff --git a/README.md b/README.md index 5052e7c..0e9b8b7 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,10 @@ The repository contains the following crates: ## Version Compatibility -The major and minor versions of this library are designed to match those of [Tenderdash]. For instance, if you're working with `Tenderdash 1.2.34`, you should use `rs-tenderdash-abci 1.2.*` to ensure compatibility. +Versioning of this library follows the Semantic Versioning 2.0.0 specification. Specifically, it consists of +`MAJOR.MINOR.PATCH+BUILD`, where `BUILD` denotes minimum version of [Tenderdash] required. + +For instance, if you're working with `Tenderdash 1.3.0`, you should use `rs-tenderdash-abci 1.2.0+1.3.0`. This library also includes built-in support for ABCI protocol version verification. The ABCI protocol version, as defined in Tenderdash's [version.go](https://github.com/dashpay/tenderdash/blob/HEAD/version/version.go) under the `ABCISemVer` constant, must align with the ABCI protocol version of this library. You can find the library's ABCI protocol version in [proto/src/tenderdash.rs](proto/src/tenderdash.rs) under the `ABCI_VERSION` constant. diff --git a/abci/Cargo.toml b/abci/Cargo.toml index d2c670a..ef12a76 100644 --- a/abci/Cargo.toml +++ b/abci/Cargo.toml @@ -1,4 +1,5 @@ [package] +version = "1.2.0+1.3.0" name = "tenderdash-abci" edition = "2021" license = "Apache-2.0" diff --git a/abci/README.md b/abci/README.md index 4804899..e711883 100644 --- a/abci/README.md +++ b/abci/README.md @@ -1,4 +1,4 @@ -## tendermint-abci +# tendermint-abci [![Crate][crate-image]][crate-link] [![Docs][docs-image]][docs-link] @@ -85,9 +85,7 @@ Copyright © 2021 Informal Systems Licensed under the Apache License, Version 2.0 (the "License"); you may not use the files in this repository except in compliance with the License. -You may obtain a copy of the License at - - https://www.apache.org/licenses/LICENSE-2.0 +You may obtain a copy of the License at . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, diff --git a/proto-compiler/Cargo.toml b/proto-compiler/Cargo.toml index 5dc7033..287277b 100644 --- a/proto-compiler/Cargo.toml +++ b/proto-compiler/Cargo.toml @@ -1,4 +1,5 @@ [package] +version = "1.2.0+1.3.0" name = "tenderdash-proto-compiler" authors = ["Informal Systems ", "Dash Core Group"] edition = "2021" diff --git a/proto-compiler/src/constants.rs b/proto-compiler/src/constants.rs index eae86ce..ab8ef4e 100644 --- a/proto-compiler/src/constants.rs +++ b/proto-compiler/src/constants.rs @@ -256,4 +256,8 @@ pub static CUSTOM_FIELD_ATTRIBUTES: &[(&str, &str)] = &[ ".tendermint.types.VersionParams.app_version", QUOTED_WITH_DEFAULT, ), + ( + ".tendermint.types.VersionParams.consensus_version", + QUOTED_WITH_DEFAULT, + ), ]; diff --git a/proto/Cargo.toml b/proto/Cargo.toml index b31346c..1c07731 100644 --- a/proto/Cargo.toml +++ b/proto/Cargo.toml @@ -1,4 +1,5 @@ [package] +version = "1.2.0+1.3.0" name = "tenderdash-proto" edition = "2021" license = "Apache-2.0" diff --git a/proto/build.rs b/proto/build.rs index 2cf3ce6..f0a79ad 100644 --- a/proto/build.rs +++ b/proto/build.rs @@ -4,7 +4,7 @@ use tenderdash_proto_compiler::GenerationMode; fn main() { // default Tenderdash version to use if TENDERDASH_COMMITISH is not set - const DEFAULT_VERSION: &str = "v1.1.0"; + const DEFAULT_VERSION: &str = "v1.3.0"; // check if TENDERDASH_COMMITISH is already set; if not, set it to the current // version diff --git a/proto/tests/unit.rs b/proto/tests/unit.rs index ec986af..a3625ef 100644 --- a/proto/tests/unit.rs +++ b/proto/tests/unit.rs @@ -157,6 +157,7 @@ pub fn test_consensus_params_serde() { ] }, "version": { + "consensus_version": "1", "app_version": "1" }, "synchrony": { @@ -176,5 +177,6 @@ pub fn test_consensus_params_serde() { } "#; - let _new_params: ConsensusParams = serde_json::from_str(json).unwrap(); + let new_params: ConsensusParams = serde_json::from_str(json).unwrap(); + assert_eq!(new_params.version.unwrap().consensus_version, 1) } diff --git a/scripts/release.sh b/scripts/release.sh index 9a65a89..2da38a4 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -1,5 +1,7 @@ #! /bin/bash +set -e + PLATFORM_DIR="$(realpath "$(dirname "$0")/../../platform")" function help() { @@ -26,6 +28,8 @@ Examples: EOF } +VERBOSE=0 + # Parse arguments while [[ $# -gt 0 ]]; do key="$1" @@ -52,6 +56,10 @@ while [[ $# -gt 0 ]]; do rs_tenderdash_abci_version=$1 shift ;; + -v | --verbose) + VERBOSE=1 + shift + ;; *) break ;; @@ -61,16 +69,28 @@ done # Check if the versions are passed. if [ -z "$td_version" ]; then echo "Please specify the version of Tenderdash." + echo "" + help exit 1 fi td_version=${td_version#v} # remove 'v' if it exists if [ -z "$rs_tenderdash_abci_version" ]; then echo "Please specify the version of the library." + echo "" + help exit 1 fi -rs_tenderdash_abci_version=${rs_tenderdash_abci_version#v} # remove 'v' if it exists +if [ $VERBOSE -eq 1 ]; then + set -x +fi + +rs_tenderdash_abci_version="${rs_tenderdash_abci_version#v}+${td_version}" # remove 'v' if it exists and suffix build mtd + +echo "INFO: Preparing release of rs-tenderdash-abci version $rs_tenderdash_abci_version with Tenderdash version $td_version" + +echo INFO: Update the version in the Cargo.toml files. set -ex # Update the version in the Cargo.toml files. @@ -88,3 +108,5 @@ else echo "WARN: Dash Platform not found in $PLATFORM_DIR, skipping" fi # tenderdash-proto = { git = "https://github.com/dashpay/rs-tenderdash-abci", version = "0.14.0-dev.8", features = [ + +echo "INFO: Done"