Skip to content
This repository has been archived by the owner on Feb 29, 2024. It is now read-only.

Commit

Permalink
Merge pull request #2059 from Artemkaaas/indy-1.14.2
Browse files Browse the repository at this point in the history
IS-1468: Release Indy SDK 1.14.2
  • Loading branch information
jovfer authored Jan 30, 2020
2 parents e02532a + 9d22b63 commit 19dee23
Show file tree
Hide file tree
Showing 316 changed files with 8,218 additions and 4,474 deletions.
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
# Changelog

## 1.14.2 - 2020-01-31
* LibVCX Aries support:
* Implemented Basic Message RFC (IS-1189)
* Indy-CLI changes:
* Added new command `pool set-protocol-version` to set a protocol version that will be used for ledger requests (IS-1391).
* Added new command `payment-address new` that does exactly the same work as the existing `payment-address create` command.
The new command was added to match the naming of `did new` command. The `payment-address create` command will be removed in future releases (IS-1415).
* Bugfixes
* Updated behavior of `indy_store_their_did` function to allow updating of existing `theirDID` record`. It can be used to rotate a pairwise key (IS-1166).
* Enhanced validation of `schema_json`: added check that `id` is consistent with `name` and `version` values (IS-1430).
* Updated Vcx library to support "names" parameter in Proof Request Revealed Attributes (IS-1381)
* Added support of the additional format of `rev_states_json` which is used for proof creation. Both `rev_reg_def_id` and `credential_id` can be used as map keys.
`credential_id` must be used in case of proving that two credentials matching the same `rev_reg_def_id` are not revoked at the same timestamp (IS-1447).
* others minor bugfixes

## 1.14.1 - 2019-12-30
* Bugfixes

Expand Down
45 changes: 32 additions & 13 deletions Jenkinsfile.cd
Original file line number Diff line number Diff line change
Expand Up @@ -356,8 +356,15 @@ def linuxLibindyBuild(file, env_name, network_name, full_testing) {

libindyBuildFinished[env_name] = true

echo "${env_name} Libindy Test: Test"
testEnv.inside("--network=${network_name}") {
echo "${env_name} Libindy Test: Test Libindy submodules"

for (component in ["libindy/indy-api-types", "libindy/indy-utils", "libindy/indy-wallet"]) {
testLibindyComponent(component)
}

echo "${env_name} Libindy Test: Test"

def features_args = full_testing ? "--features sodium_static" : "--features \"sodium_static only_high_cases\""

sh """
Expand All @@ -382,6 +389,14 @@ def linuxLibindyBuild(file, env_name, network_name, full_testing) {
}
}

def testLibindyComponent(directory) {
sh """
cd ${directory}
RUST_BACKTRACE=1 cargo test --release --no-run
RUST_BACKTRACE=1 RUST_LOG=indy::=debug,zmq=trace RUST_TEST_THREADS=1 TEST_POOL_IP=10.0.0.2 cargo test --release
"""
}

def linuxVcxBuild(file, env_name, network_name) {
def poolInst
try {
Expand Down Expand Up @@ -900,13 +915,13 @@ def macosTesting() {
}
}

def macosRunPool(pool_name){
def macosRunPool(pool_name) {
sh "docker rm -f ${pool_name} || true"
sh "docker build -f ci/indy-pool.dockerfile -t ${pool_name} ci"
sh "docker run -d --name ${pool_name} -p 9701-9708:9701-9708 ${pool_name}"
}

def macosStopPool(pool_name){
def macosStopPool(pool_name) {
try {
sh "docker stop ${pool_name}"
} catch (ignore) {
Expand Down Expand Up @@ -1025,7 +1040,7 @@ def linuxPublishing(file, env_name, build_wrappers) {
libindyDebPublishing(testEnv, libindyVersion, env_name)
libnullpayDebPublishing(testEnv, env_name)
libvcxDebPublishing(testEnv, env_name)
libindyCliDebPublishing(testEnv, libindyVersion, env_name)
libindyCliDebPublishing(testEnv, libindyVersion, env_name) // Note that last deb publishing should pass resetCache = true inside

if (build_wrappers) {
pythonWrapperPublishing(testEnv, false, 'wrappers/python', 'libindy')
Expand Down Expand Up @@ -1271,7 +1286,7 @@ def libindyCliDebPublishing(testEnv, version, env_name) {

setLibindyDependencyVersion("cli/debian/control")

debPublishing(testEnv, "cli", "indy-cli", version, "IndyCliBuildResult${env_name}", "libindyCliDebs${env_name}", env_name)
debPublishing(testEnv, "cli", "indy-cli", version, "IndyCliBuildResult${env_name}", "libindyCliDebs${env_name}", env_name, true)
}

def libnullpayDebPublishing(testEnv, env_name) {
Expand Down Expand Up @@ -1301,7 +1316,7 @@ def setLibindyDependencyVersion(file) {
sh "sed -i -e \"s/^\\(Depends: .*libindy\\)\\(\\s*[,]\\{,1\\}.*\\)/\\1 (= $replaceVersion)\\2/\" $file"
}

def debPublishing(testEnv, directory, packageName, version, inStashName, outStashName, env_name) {
def debPublishing(testEnv, directory, packageName, version, inStashName, outStashName, env_name, resetCache = false) {
dir("$directory/sovrin-packaging") {
downloadPackagingUtils()
}
Expand All @@ -1314,8 +1329,10 @@ def debPublishing(testEnv, directory, packageName, version, inStashName, outStas

unstash name: inStashName

def extraFlags = resetCache ? "" : "--no-reset-cache"

withCredentials([file(credentialsId: 'SovrinRepoSSHKey', variable: 'sovrin_key')]) {
sh "cd $directory && ./deb-build-and-upload.sh $packageName $version $env.BRANCH_NAME $suffix $SOVRIN_SDK_REPO_NAME $SOVRIN_REPO_HOST $sovrin_key $package_type"
sh "cd $directory && ./deb-build-and-upload.sh $packageName $version $env.BRANCH_NAME $suffix $SOVRIN_SDK_REPO_NAME $SOVRIN_REPO_HOST $sovrin_key $package_type $extraFlags"

if (env.BRANCH_NAME == 'rc') {
stash includes: "$directory/debs/*", name: outStashName
Expand Down Expand Up @@ -1474,7 +1491,7 @@ def publishingRCtoStable() {
publishLibVCXWindowsFilesRCtoStable(libvcxVersion)

echo "Moving ${env_name} RC artifacts to Stable: libvcx"
publishLibvcxDebRCtoStable(testEnv, env_name)
publishLibvcxDebRCtoStable(testEnv, env_name) // Note that last deb publishing should pass resetCache = true inside

echo 'Moving Ubuntu RC artifacts to Stable: vcx java wrapper'
vcxJavaWrapperPublishing(testEnv, true)
Expand Down Expand Up @@ -1682,10 +1699,10 @@ def publishLibnullpayDebRCtoStable(testEnv, env_name) {

def publishLibvcxDebRCtoStable(testEnv, env_name) {
def libvcxVersion = getSrcVersion("vcx/libvcx")
publishDebRCtoStable(testEnv, "libvcx", "vcx/libvcx", libvcxVersion, "libvcxDebs", false, env_name)
publishDebRCtoStable(testEnv, "libvcx", "vcx/libvcx", libvcxVersion, "libvcxDebs", false, env_name, true)
}

def publishDebRCtoStable(testEnv, packageName, folder, version, stashName, moveDevArtifacts, env_name) {
def publishDebRCtoStable(testEnv, packageName, folder, version, stashName, moveDevArtifacts, env_name, resetCache = false) {
testEnv.inside {
def rcFullVersion = "${version}~${env.BUILD_NUMBER}"
def package_type = ubuntuPakageTypes[env_name]
Expand All @@ -1703,15 +1720,17 @@ def publishDebRCtoStable(testEnv, packageName, folder, version, stashName, moveD
sh "fakeroot deb-reversion -v $version $folder/debs/\"$packageName\"-dev_\"$rcFullVersion\"_amd64.deb"
}

def extraFlags = resetCache ? "" : "--no-reset-cache"

withCredentials([file(credentialsId: 'SovrinRepoSSHKey', variable: 'sovrin_key')]) {
path = sh(returnStdout: true, script: 'pwd').trim()

sh "./sovrin-packaging/upload_debs.py $path $SOVRIN_SDK_REPO_NAME stable --distro=${package_type} --host $SOVRIN_REPO_HOST --ssh-key $sovrin_key"
sh "./sovrin-packaging/upload_debs.py $path $SOVRIN_SDK_REPO_NAME stable --distro=${package_type} --host $SOVRIN_REPO_HOST --ssh-key $sovrin_key $extraFlags"
}
}
}

def buildTestEnv(file, env_name, name="libindy", prebuilt_images=[:]) {
def buildTestEnv(file, env_name, name = "libindy", prebuilt_images = [:]) {
dir('libindy') {
echo "${env_name} Build test environment"
for (entry in mapToList(prebuilt_images)) {
Expand Down Expand Up @@ -1840,7 +1859,7 @@ def linuxModuleTesting(file, env_name, network_name, module_tester) {
linuxModuleTesting(file, env_name, network_name, module_tester, 'ubuntu')
}

def linuxModuleTesting(file, env_name, network_name, module_tester, node_label, image_name="libindy", prebuilt_images = [:]) {
def linuxModuleTesting(file, env_name, network_name, module_tester, node_label, image_name = "libindy", prebuilt_images = [:]) {
node(node_label) {
cleanWs()
def poolInst
Expand Down
17 changes: 16 additions & 1 deletion Jenkinsfile.ci
Original file line number Diff line number Diff line change
Expand Up @@ -480,8 +480,15 @@ def linuxLibindyBuild(file, env_name, network_name, full_testing) {

libindyBuildFinished[env_name] = true

echo "${env_name} Libindy Test: Test"
testEnv.inside("--network=${network_name}") {
echo "${env_name} Libindy Test: Test Libindy submodules"

for (component in ["libindy/indy-api-types", "libindy/indy-utils", "libindy/indy-wallet"]) {
testLibindyComponent(component)
}

echo "${env_name} Libindy Test: Test"

def features_args = full_testing ? "--features sodium_static" : "--features \"sodium_static only_high_cases\""

sh """
Expand All @@ -506,6 +513,14 @@ def linuxLibindyBuild(file, env_name, network_name, full_testing) {
}
}

def testLibindyComponent(directory) {
sh """
cd ${directory}
RUST_BACKTRACE=1 cargo test --no-run
RUST_BACKTRACE=1 RUST_LOG=indy::=debug,zmq=trace RUST_TEST_THREADS=1 TEST_POOL_IP=10.0.0.2 cargo test
"""
}

def linuxVcxBuild(file, env_name, network_name) {
def poolInst
try {
Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ If you have just started learning about self-sovereign identity, here are some r
* This extended tutorial introduces Indy, explains how the whole ecosystem works, and how the
functions in the SDK can be used to construct rich clients: [Indy-SDK Getting-Started Guide](docs/getting-started/indy-walkthrough.md)

* **Please take note** that this tutorial doesn't cover how sides set up a connection and exchange messages.
How this communication channel can be built you can find at [Aries](https://github.com/hyperledger/aries) project which describes it in great details.

* Hyperledger Indy Working Group calls happen every Thursday at 8amPT, 9amMT, 11amET, 4pmBST. Add to your calendar and join from any device: https://zoom.us/j/232861185

* A recent webinar explaining self-sovereign identity using Hyperledger Indy and Sovrin: [SSI Meetup Webinar](https://youtu.be/RllH91rcFdE?t=4m30s)
Expand Down
23 changes: 23 additions & 0 deletions Specs/libindy/1.14.2/libindy.podspec.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"name": "libindy",
"version": "1.14.2",
"summary": "Summary TODO.",
"description": "Description TODO.",
"homepage": "TODO",
"license": {
"type": "Apache License 2.0",
"file": "LICENSE"
},
"authors": {
"Daniel Hardman": "[email protected]"
},
"platforms": {
"ios": "10.0"
},
"source": {
"http": "https://repo.sovrin.org/ios/libindy/stable/libindy-core/1.14.2/libindy.tar.gz"
},
"source_files": "*.h",
"vendored_libraries": "*.a",
"requires_arc": false
}
1 change: 0 additions & 1 deletion ci/acceptance/ubuntu_acceptance.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ RUN apt-get update && \
apt-get install -y \
software-properties-common

RUN add-apt-repository ppa:jonathonf/python-3.6
RUN apt-get update && \
apt-get install -y \
python3.5 \
Expand Down
5 changes: 3 additions & 2 deletions ci/deb-build-and-upload.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ set -e
set -x

if [ "$1" = "--help" ] ; then
echo "Usage: <package> <version> <key> <type> <suffix> <repo> <host> <key> <package_type>"
echo "Usage: <package> <version> <key> <type> <suffix> <repo> <host> <key> <package_type> <extra_flags>"
return
fi

Expand All @@ -16,6 +16,7 @@ repo="$5"
host="$6"
key="$7"
package_type="$8"
extra_flags="$9"

[ -z $package ] && exit 1
[ -z $version ] && exit 2
Expand All @@ -32,4 +33,4 @@ dpkg-buildpackage -tc

mkdir debs && mv ../*.deb ./debs/

./sovrin-packaging/upload_debs.py ./debs $repo $type --distro=$package_type --host $host --ssh-key $key
./sovrin-packaging/upload_debs.py ./debs $repo $type --distro=$package_type --host $host --ssh-key $key $extra_flags
Loading

0 comments on commit 19dee23

Please sign in to comment.