Skip to content

Commit

Permalink
Merge branch 'hyperledger:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
dominious1 authored Feb 1, 2024
2 parents b7910c2 + ffed6b0 commit f8cc2de
Show file tree
Hide file tree
Showing 79 changed files with 1,766 additions and 365 deletions.
2 changes: 0 additions & 2 deletions .github/ISSUE_TEMPLATE/feature-request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,4 @@ body:
- WASM: Marin Veršić (`@mversic`)
- Triggers: Daniil Polyakov (`@Arjentix`)
- Theoretical questions: Shunkichi Sato (`@s8sato`)
- Other topics: Aleksandr Petrosyan (`@appetrosyan`)
placeholder: "@Username ..."
2 changes: 0 additions & 2 deletions .github/ISSUE_TEMPLATE/lts-bug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,4 @@ body:
- Documentation issues: Ekaterina Mekhnetsova (`@outoftardis`), Victor Gridnevsky (`@6r1d`)
- WASM: Marin Veršić (`@mversic`)
- Triggers: Daniil Polyakov (`@Arjentix`)
- Theoretical questions: Shunkichi Sato (`@s8sato`)
- Other topics: Aleksandr Petrosyan (`@appetrosyan`)
placeholder: "@Username ..."
2 changes: 0 additions & 2 deletions .github/ISSUE_TEMPLATE/stable-bug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,6 @@ body:
- Quality Assurance (`@astrokov7`)
- WASM: Marin Veršić (`@mversic`)
- Triggers: Daniil Polyakov (`@Arjentix`)
- Theoretical questions: Shunkichi Sato (`@s8sato`)
- Other topics: Aleksandr Petrosyan (`@appetrosyan`)
placeholder: "@Username ..."
- type: textarea
id: notes
Expand Down
5 changes: 3 additions & 2 deletions .github/build-iroha1.src.yml
Original file line number Diff line number Diff line change
Expand Up @@ -208,10 +208,10 @@ jobs:
true
else
#echo >/tmp/comment_body "/build debug; /build ubuntu release debug normal"
echo >/tmp/comment_body "/build ubuntu debug release normal gcc-10"
echo >/tmp/comment_body "/build ubuntu debug release normal gcc-10"$'\n' "/build macos debug clang"
fi ;;
push) commit_message_body_build_spec >/tmp/comment_body || {
echo "/build macos ubuntu debug release normal gcc-10"
echo "/build ubuntu debug release normal gcc-10"
} >/tmp/comment_body ;;
workflow_dispatch) echo >/tmp/comment_body "${{github.event.inputs.build_spec}}" ;;
*) echo >&2 "::error::Unexpected event"; false ;;
Expand All @@ -221,6 +221,7 @@ jobs:
id: matrixes
run: |
set -x
cat /tmp/comment_body
cat /tmp/comment_body | .github/chatops-gen-matrix.sh
echo "::set-output name=matrix_ubuntu::$(cat matrix_ubuntu)"
echo "::set-output name=matrix_ubuntu_release::$(cat matrix_ubuntu_release)"
Expand Down
2 changes: 1 addition & 1 deletion .github/chatops-gen-matrix.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ echoerr(){
readonly ALL_oses="ubuntu macos windows" ALL_build_types="Debug Release" ALL_cmake_opts="normal burrow ursa" ALL_compilers="gcc-9 gcc-10 clang-10 clang llvm msvc"
readonly DEFAULT_oses="ubuntu macos windows" DEFAULT_build_types="Debug" DEFAULT_cmake_opts="normal burrow ursa"
readonly DEFAULT_ubuntu_compilers="gcc-9" AVAILABLE_ubuntu_compilers="gcc-9 gcc-10 clang-10"
readonly DEFAULT_macos_compilers="clang" AVAILABLE_macos_compilers="clang" ## Also "llvm gcc-10" but they fail
readonly DEFAULT_macos_compilers="clang" AVAILABLE_macos_compilers="clang gcc-10" ## Also "llvm gcc-10" but they fail
readonly DEFAULT_windows_compilers="msvc" AVAILABLE_windows_compilers="msvc" ## Also "clang mingw cygwin" but they are redundant

--help-buildspec(){
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/build-iroha1.yml
Original file line number Diff line number Diff line change
Expand Up @@ -223,10 +223,10 @@ jobs:
true
else
#echo >/tmp/comment_body "/build debug; /build ubuntu release debug normal"
echo >/tmp/comment_body "/build ubuntu debug release normal gcc-10"
echo >/tmp/comment_body "/build ubuntu debug release normal gcc-10"$'\n' "/build macos debug clang"
fi ;;
push) commit_message_body_build_spec >/tmp/comment_body || {
echo "/build macos ubuntu debug release normal gcc-10"
echo "/build ubuntu debug release normal gcc-10"
} >/tmp/comment_body ;;
workflow_dispatch) echo >/tmp/comment_body "${{github.event.inputs.build_spec}}" ;;
*) echo >&2 "::error::Unexpected event"; false ;;
Expand All @@ -235,6 +235,7 @@ jobs:
id: matrixes
run: |
set -x
cat /tmp/comment_body
cat /tmp/comment_body | .github/chatops-gen-matrix.sh
echo "::set-output name=matrix_ubuntu::$(cat matrix_ubuntu)"
echo "::set-output name=matrix_ubuntu_release::$(cat matrix_ubuntu_release)"
Expand Down
17 changes: 11 additions & 6 deletions .github/workflows/iroha2-ci-image.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,27 @@
name: I2::CI::Publish

on: workflow_dispatch
on:
workflow_dispatch:
inputs:
IROHA2_CI_DOCKERFILE:
required: true
default: Dockerfile.build

jobs:
dockerhub:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: docker/login-action@v2
- uses: actions/checkout@v4
- uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push iroha2-ci image
uses: docker/build-push-action@v4
uses: docker/build-push-action@v5
with:
push: true
tags: hyperledger/iroha2-ci:nightly-2022-12-22
tags: hyperledger/iroha2-ci:nightly-2024-01-12
labels: commit=${{ github.sha }}
file: Dockerfile.build
file: ${{ github.event.inputs.IROHA2_CI_DOCKERFILE }}
# This context specification is required
context: .
8 changes: 4 additions & 4 deletions .github/workflows/iroha2-dev-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ jobs:
dockerhub:
runs-on: ubuntu-latest
container:
image: hyperledger/iroha2-ci:nightly-2022-12-22
image: hyperledger/iroha2-ci:nightly-2024-01-12
steps:
- uses: actions/checkout@v3
- uses: docker/login-action@v2
- uses: actions/checkout@v4
- uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push iroha2:dev-nightly image
uses: docker/build-push-action@v4
uses: docker/build-push-action@v5
with:
push: true
tags: hyperledger/iroha2:dev-nightly-${{ github.sha }}
Expand Down
56 changes: 56 additions & 0 deletions .github/workflows/iroha2-profiling-image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: I2::Profiling::Publish

on:
workflow_dispatch:
inputs:
IROHA2_IMAGE_TAG:
required: true
default: stable
IROHA2_IMAGE_RELEASE:
required: true
IROHA2_DOCKERFILE:
required: true
default: Dockerfile.glibc
IROHA2_PROFILE:
required: true
default: profiling
IROHA2_RUSTFLAGS:
required: false
default: -C force-frame-pointers=on --cfg wasm_profiling

jobs:
registry:
runs-on: [self-hosted, Linux, iroha2-dev-push]
steps:
- uses: actions/checkout@v4
- uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to Soramitsu Harbor
uses: docker/login-action@v3
with:
registry: docker.soramitsu.co.jp
username: ${{ secrets.HARBOR_USERNAME }}
password: ${{ secrets.HARBOR_TOKEN }}
- name: Set up Docker Buildx
id: buildx
if: always()
uses: docker/setup-buildx-action@v3
with:
install: true
- name: Build and push iroha2:profiling-image
uses: docker/build-push-action@v5
if: always()
with:
push: true
tags: |
hyperledger/iroha2:${{ github.event.inputs.IROHA2_IMAGE_TAG }}-${{ github.event.inputs.IROHA2_IMAGE_RELEASE }}-profiling
docker.soramitsu.co.jp/iroha2/iroha2:${{ github.event.inputs.IROHA2_IMAGE_TAG }}-${{ github.event.inputs.IROHA2_IMAGE_RELEASE }}-profiling
labels: commit=${{ github.sha }}
build-args: |
"PROFILE=${{ github.event.inputs.IROHA2_PROFILE }}"
"RUSTFLAGS=${{ github.event.inputs.IROHA2_RUSTFLAGS }}"
file: ${{ github.event.inputs.IROHA2_DOCKERFILE }}
# This context specification is required
context: .
11 changes: 11 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
version: 2
build:
os: ubuntu-22.04
tools:
python: "3.11"
sphinx:
configuration: docs/source/conf.py
python:
install:
- requirements: docs/source/requirements.txt
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ if(CMAKE_BUILD_TYPE MATCHES "Release")
endif()

## FIXME revert this after change CI to GitHub actions.
## Temporal fix for 'bytecode stream version incompatible' between gcc-9 and gcc-10 and clang
## when dependancies were build via vcpkg with default GCC9 could not be linked with iroha built with GCC-10
## Temporary fix for 'bytecode stream version incompatible' between gcc-9 and gcc-10 and clang
## when dependencies were build via vcpkg with default GCC9 could not be linked with iroha built with GCC-10
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION FALSE)

if(WIN32)
Expand Down
17 changes: 8 additions & 9 deletions MAINTAINERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,14 @@ This is the list of maintainers, including their email address for direct commun
| Name | GitHub Id | email | Area of expertise |
| --------------------- | ---------------------------------------------------- | ------------------------------- | ----------------------------------------------------------------------------- |
| Makoto Takemiya | [@takemiyamakoto](https://github.com/takemiyamakoto) | [email protected] | Product vision |
| Ryu Okada | [@ryuo88](https://github.com/ryuo88) | [email protected] | Product vision |
| Dmitri Venger | [@dmitrivenger](https://github.com/dmitrivenger) | [email protected] | Project manager |
| Bogdan Mingela | [@Mingela](https://github.com/Mingela) | [email protected] | Iroha Team Lead |
| Aleksandr Petrosyan | [@appetrosyan](https://github.com/appetrosyan) | [email protected] | Tech lead, development: Rust, C, C++ |
| Artemii Gerasimovich | [@QuentinI](https://github.com/QuentinI) | [email protected] | Development: Rust |
| Aleksandr Petrosyan | [@appetrosyan](https://github.com/appetrosyan) | [email protected] | Iroha 2 architect |
| Daniil Polyakov | [@Arjentix](https://github.com/Arjentix) | [email protected] | Development: Rust |
| Ilia Churin | [@ilchu](https://github.com/ilchu) | [email protected] | Development: Rust |
| Marin Veršić | [@mversic](https://github.com/mversic) | [email protected] | Development: Rust |
| Marin Veršić | [@mversic](https://github.com/mversic) | [email protected] | Tech lead, development: Rust, Java |
| Sam H. Smith | [@SamHSmith](https://github.com/SamHSmith) | [email protected] | Development: Rust, C |
| Shanin Roman | [@Erigara](https://github.com/Erigara) | [email protected] | Development: Rust |
| Shunkichi Sato | [@s8sato](https://github.com/s8sato) | [email protected] | Development: Rust |
| Vladimir Pesterev | [@pesterev](https://github.com/pesterev) | [email protected] | Development: Rust |
| Dmitry Balashov | [@0x009922](https://github.com/0x009922) | [email protected] | Development: Rust, TypeScript, JavaScript |
| Grzegorz Bazior | [@baziorek](https://github.com/baziorek) | [email protected] | Development: C++, Python, JavaScript, TypeScript |
Expand All @@ -30,7 +27,9 @@ This is the list of maintainers, including their email address for direct commun
| Ekaterina Mekhnetsova | [@outoftardis](https://github.com/outoftardis) | [email protected] | Documentation |
| William Richter | [@WRRicht3r](https://github.com/WRRicht3r) | [email protected] | Documentation |
| Victor Gridnevsky | [@6r1d](https://github.com/6r1d) | [email protected] | Community manager, documentation, development: JavaScript, TypeScript, Python |
| Alexander Strokov | [@astrokov7](https://github.com/astrokov7) | [email protected] | QA, Python |
| Michael Timofeev | [@timofeevmd](https://github.com/timofeevmd) | [email protected] | QA |
| Nikita Strygin | [@DCNick3](https://github.com/DCNick3) | [email protected] | Development: Rust |
| Bogdan Yamkovoy | [@yamkovoy](https://github.com/yamkovoy) | [email protected] | Documentation |
| Alexander Strokov | [@astrokov7](https://github.com/astrokov7) | [email protected] | QA, Python |
| Michael Timofeev | [@timofeevmd](https://github.com/timofeevmd) | [email protected] | QA |
| Nikita Strygin | [@DCNick3](https://github.com/DCNick3) | [email protected] | Development: Rust |
| Bogdan Yamkovoy | [@yamkovoy](https://github.com/yamkovoy) | [email protected] | Documentation |
| Vladislav Amuzinski | [@VAmuzing](https://github.com/VAmuzing) | [email protected] | Development: Rust |
| Artem Stukalov | [@Stukalov-A-M](https://github.com/Stukalov-A-M) | [email protected] | Documentation: examples |
3 changes: 2 additions & 1 deletion docker/develop/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,12 @@ RUN set -e; \
fi

# golang stuff
RUN curl https://dl.google.com/go/go1.14.2.linux-$(dpkg --print-architecture).tar.gz | tar -C /opt -xz
RUN curl https://dl.google.com/go/go1.17.2.linux-$(dpkg --print-architecture).tar.gz | tar -C /opt -xz
ENV GOPATH=/opt/gopath
RUN mkdir ${GOPATH}
ENV PATH=${PATH}:/opt/go/bin:${GOPATH}/bin
RUN go get github.com/golang/protobuf/protoc-gen-go
RUN export PATH="$PATH:$(go env GOPATH)/bin" # according to: https://grpc.io/docs/languages/go/quickstart/

## pip3 contains fresher versions of packages than apt
RUN pip3 install --no-cache-dir cmake ninja
Expand Down
3 changes: 2 additions & 1 deletion docker/iroha-builder/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,12 @@ RUN cd /opt/ && \
PREFIX="/usr/local" make install

## golang stuff for iroha+burrow
RUN curl -fL https://golang.org/dl/go1.14.2.linux-$(dpkg --print-architecture).tar.gz | tar -C /opt -xz
RUN curl -fL https://golang.org/dl/go1.17.2.linux-$(dpkg --print-architecture).tar.gz | tar -C /opt -xz
ENV GOPATH=/opt/gopath
RUN mkdir ${GOPATH}
ENV PATH=${PATH}:/opt/go/bin:${GOPATH}/bin
RUN go get github.com/golang/protobuf/protoc-gen-go
RUN export PATH="$PATH:$(go env GOPATH)/bin" # according to: https://grpc.io/docs/languages/go/quickstart/

## Rust-lang stuff for iroha+ursa
ENV RUSTUP_HOME=/opt/rust
Expand Down
2 changes: 1 addition & 1 deletion docs/source/build/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ Here are the steps:
docker run -it hyperledger/iroha-builder:latest
On this step you will start and run the image in a container in an interactive mode. You can use any available tags, default one would be ``latest``, and developmnet tag is ``develop``. Note that you might need to perform some actions with ``sudo`` rights.
On this step you will start and run the image in a container in an interactive mode. You can use any available tags, default one would be ``latest``, and development tag is ``develop``. Note that you might need to perform some actions with ``sudo`` rights.

2. When you are inside the container, clone Iroha repository:

Expand Down
2 changes: 1 addition & 1 deletion docs/source/concepts_architecture/architecture.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Ordering Gate
-------------

It is an internal Iroha component (gRPC client) that relays `transactions <glossary.html#transaction>`__ from `Peer Communication Service <#peer-communication-service>`__ to `Ordering Service <#ordering-service>`__.
Ordering Gate recieves `proposals <glossary.html#proposal>`_ (potential blocks in the chain) from Ordering Service and sends them to `Simulator <#simulator>`__ for `stateful validation <glossary.html#stateful-validation>`__.
Ordering Gate receives `proposals <glossary.html#proposal>`_ (potential blocks in the chain) from Ordering Service and sends them to `Simulator <#simulator>`__ for `stateful validation <glossary.html#stateful-validation>`__.
It also requests proposal from the Ordering Service based on the consensus round.

Ordering Service
Expand Down
4 changes: 2 additions & 2 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,14 +122,14 @@
# Read variables for
# common settings and locale:
with open('common.yaml', 'r') as stream:
common = yaml.load(stream)
common = yaml.safe_load(stream)
project = common.get('project')
documentation = common.get('documentation')
description = common.get('description')
copyright = common.get('copyright')
author = common.get('author')
with open('locale.yaml', 'r') as stream:
locale = yaml.load(stream)
locale = yaml.safe_load(stream)
language = locale.get('language')
if locale.get('locale_dirs'):
print("Setting locale dir to " + locale.get('locale_dirs'))
Expand Down
2 changes: 1 addition & 1 deletion docs/source/deploy/single.rst
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ In order to run Iroha peer as a single instance in Docker, you should pull the i
.. Hint:: Use *latest* tag for latest stable release, and *develop* for latest development version

Then, you have to create an enviroment for the image to run without problems:
Then, you have to create an environment for the image to run without problems:

Create docker network
"""""""""""""""""""""
Expand Down
2 changes: 1 addition & 1 deletion docs/source/develop/api/queries.rst
Original file line number Diff line number Diff line change
Expand Up @@ -435,7 +435,7 @@ If there are two pending batches with three transactions each and a user queries
with page size 5, then the transactions of the first batch will be in the response and a reference
(first transaction hash and batch size, even if it is a single transaction in fact) to the second batch
will be specified too.
Transactions of the second batch are not included in the first response because the batch cannot be devided
Transactions of the second batch are not included in the first response because the batch cannot be divided
into several parts and only complete batches can be contained in a response.

Response Schema
Expand Down
2 changes: 1 addition & 1 deletion docs/source/getting_started/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ To keep things simple, we will use Docker.
Prerequisites
-------------
For this guide, you need a machine with ``Docker`` installed.
You can read how to install it on a `Docker's website <https://www.docker.com/community-edition/>`_.
You can read how to install it on a `Docker's website <https://docs.docker.com/get-docker/>`_.

.. note:: Of course you can build Iroha from scratch, modify its code and launch a customized node!
If you are curious how to do that — you can check :ref:`build-guide` section.
Expand Down
Loading

0 comments on commit f8cc2de

Please sign in to comment.