Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[refactor] #4161: rewrite config, _minimally_ #4239

Merged
merged 94 commits into from
Feb 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
485d639
[refactor]: wip
0x009922 Jan 9, 2024
dfcbe6d
[refactor]: update structure
0x009922 Jan 10, 2024
934920b
[refactor]: apply lints
0x009922 Jan 10, 2024
3ace984
[feat]: include more ENV vars, refactor
0x009922 Jan 10, 2024
6c159d5
[feat]: impl merging
0x009922 Jan 11, 2024
df36c7b
[refactor]: update Kagami
0x009922 Jan 15, 2024
22cef0d
[refactor]: restructure code
0x009922 Jan 15, 2024
2ad01aa
[refactor]: update `iroha_logger`
0x009922 Jan 15, 2024
ec65f38
[refactor]: update `iroha_telemetry`
0x009922 Jan 15, 2024
0b7f105
[fix]: fix util macro
0x009922 Jan 16, 2024
2abf6b9
[refactor]: re-struct config, update `iroha_core`
0x009922 Jan 16, 2024
95ea09b
[refactor]: update more crates
0x009922 Jan 17, 2024
4d8ebf0
[feat]: compile `iroha`!
0x009922 Jan 22, 2024
a08af33
[feat]: compile `iroha_client`!
0x009922 Jan 22, 2024
d018064
[feat]: compile `iroha_client_cli`!
0x009922 Jan 22, 2024
a36ebf0
[feat]: compile everything *_*
0x009922 Jan 23, 2024
1e60a93
[fix]: chores
0x009922 Jan 23, 2024
c7cf027
[refactor]: pass tests
0x009922 Jan 24, 2024
f80b5d2
[feat]: implement `extends`
0x009922 Jan 26, 2024
3c7c259
[chore]: update default snapshot storage
0x009922 Jan 26, 2024
55f48ad
[fix]: update after rebase
0x009922 Jan 28, 2024
d5d589a
[refactor]: update just everything
0x009922 Jan 28, 2024
381c9dc
[refactor]: refactored config boilerplate into dedicated modules
0x009922 Jan 28, 2024
5f02d15
[refactor]: apply some lints
0x009922 Jan 29, 2024
8da4b83
[refactor]: update config naming in `[queue]`
0x009922 Jan 29, 2024
c238898
[feat]: implement `Config::load` shorthand
0x009922 Jan 29, 2024
c9891a6
[docs]: add comment
0x009922 Jan 29, 2024
d371665
[ci]: fix typo
0x009922 Jan 29, 2024
2d4760c
[ci]: install `tomli_w` via pacman
0x009922 Jan 29, 2024
7cc0541
[chore]: fix whitespace
0x009922 Jan 29, 2024
4d2ddbe
[revert]: update the snapshot store path
0x009922 Jan 29, 2024
f76a591
[refactor]: fix pytests
0x009922 Jan 30, 2024
7e6276e
[refactor]: apply suggestions from code review
0x009922 Feb 1, 2024
1f7b5dc
[refactor]: curl up `SumeragiStartArgs`
0x009922 Feb 1, 2024
bfe51ac
[refactor]: refine telemetry
0x009922 Feb 1, 2024
33d36fa
[refactor]: use `Infallible`
0x009922 Feb 1, 2024
4b5f09e
[refactor]: simplify client config
0x009922 Feb 4, 2024
7456a82
[refactor]: update `--config` arg
0x009922 Feb 4, 2024
f2e1508
[docs]: update `read_config_and_genesis` docs
0x009922 Feb 4, 2024
20bc0e8
[refactor]: chore
0x009922 Feb 4, 2024
f669871
[refactor]: just `idle_time`, without `query_`
0x009922 Feb 4, 2024
0a53afe
[revert]: use `ident_length_limits` in _actual_ config
0x009922 Feb 4, 2024
de8fff5
[refactor]: use `Config`, not vague `Root`
0x009922 Feb 4, 2024
f255308
[chore]: remove comment
0x009922 Feb 4, 2024
4693868
[refactor]: use `capacity` term in Queue
0x009922 Feb 4, 2024
250c1db
[refactor]: `set_creation_time_ms`, use `*` instead of `mul`
0x009922 Feb 4, 2024
5bfaf8f
[fix]: remove dead code
0x009922 Feb 4, 2024
55d7aed
[refactor]: update `--config` args
0x009922 Feb 4, 2024
152d4cb
[chore]: cleaning
0x009922 Feb 5, 2024
609bd26
[refactor]: use `strum` in place of `parse_display`
0x009922 Feb 5, 2024
980c8ef
[refactor]: no unsafe code any more
0x009922 Feb 5, 2024
375dce2
[refactor]: docs & refinements
0x009922 Feb 6, 2024
3e03cf0
[docs]: fill `peer.example.toml`
0x009922 Feb 6, 2024
5951191
[chore]: re-export `ConfigurationDTO` from client
0x009922 Feb 6, 2024
e192306
[test]: fix them
0x009922 Feb 8, 2024
213dc91
[refactor]: apply lints
0x009922 Feb 8, 2024
65ed561
[test]: fix pytests
0x009922 Feb 8, 2024
c9deae7
[misc]: re-arrange sample configurations
0x009922 Feb 8, 2024
5828a08
[docs]: update README
0x009922 Feb 8, 2024
90356e6
[refactor]: remove `parse-display` from deps
0x009922 Feb 8, 2024
abbb48f
[refactor]: remove extra `iroha_config_base` exposure from the client
0x009922 Feb 8, 2024
eaaa958
[fix]: import `Deserialize` in the macro
0x009922 Feb 8, 2024
5083524
[refactor]: use `PrivateKey::into_raw` instead
0x009922 Feb 12, 2024
7bf07d1
[ci]: use `--break-system-packages` `pip` flag
0x009922 Feb 12, 2024
ddd099b
[fix]: regenerate swarms
0x009922 Feb 12, 2024
aadc5a9
[ci]: fix pytests workflow
0x009922 Feb 12, 2024
c82798b
[fix]: remove `PrivateKey::payload()` access
0x009922 Feb 12, 2024
abb7a94
[docs]: fix "unable to validate" doc
0x009922 Feb 13, 2024
8abb1a6
[refactor]: accept `Duration` for `set_creation_time`
0x009922 Feb 13, 2024
0ee40dd
[refactor]: `PrivateKey::to_raw`
0x009922 Feb 13, 2024
34cf890
[fix]: do not extend trusted peers in config
0x009922 Feb 13, 2024
2c17ad1
[refactor]: hide user view from `iroha_client::config`
0x009922 Feb 13, 2024
d983a45
[refactor]: rename `*configuration` to `config` everywhere﹡
0x009922 Feb 13, 2024
8e9ddf0
[fix]: update default wasm fuel limit
0x009922 Feb 13, 2024
881f60c
[refactor]: change docs and methods of `WebLogin`
0x009922 Feb 13, 2024
e7b66fb
[fix]: trusted peers and config tests
0x009922 Feb 13, 2024
5543e43
[refactor]: rename `telemetry.dev.out_file`
0x009922 Feb 13, 2024
5e95dc2
[docs]: update `GenesisNetwork::new` errors
0x009922 Feb 13, 2024
36cc10c
[refactor]: use `serde_with`
0x009922 Feb 13, 2024
8239f0f
[misc]: move `nonzero_ext` to workspace level
0x009922 Feb 13, 2024
c5d8c70
[fix]: make `--config` optional
0x009922 Feb 13, 2024
4dc67ac
[chore]: remove "regular" from telemetry re-export
0x009922 Feb 13, 2024
4e8f2e1
[chore]: rename imports in `wasm.rs`
0x009922 Feb 13, 2024
e35ce3c
[refactor]: lints
0x009922 Feb 13, 2024
5564d98
[refactor]: use `serde_with` in swarm
0x009922 Feb 16, 2024
6011e4d
[refactor]: rename parameters, cover full config in tests, fix bugs
0x009922 Feb 16, 2024
9c584a3
[test]: cover absolute paths
0x009922 Feb 16, 2024
04ee42f
[refactor]: update client configs, cover full in tests
0x009922 Feb 16, 2024
9c4384f
[refactor]: lints
0x009922 Feb 16, 2024
50ba71a
[fix]: also rename ENVs
0x009922 Feb 16, 2024
838a4cf
[build]: add notes to Dockerfile
0x009922 Feb 16, 2024
bc5c420
[chore]: update style in `iroha_test_config.toml`
0x009922 Feb 16, 2024
3a6bbc5
[test]: fix old params in `test_env.py`
0x009922 Feb 16, 2024
7d54e87
[test]: add a note to `panic_on_invalid_genesis.sh`
0x009922 Feb 16, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 6 additions & 9 deletions .github/workflows/iroha2-dev-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,6 @@ jobs:
- name: Check genesis.json
if: always()
run: ./scripts/tests/consistency.sh genesis
- name: Check client/config.json
if: always()
run: ./scripts/tests/consistency.sh client
- name: Check peer/config.json
if: always()
run: ./scripts/tests/consistency.sh peer
- name: Check schema.json
if: always()
run: ./scripts/tests/consistency.sh schema
Expand Down Expand Up @@ -144,11 +138,10 @@ jobs:
- uses: Swatinem/rust-cache@v2
- name: Build binaries
run: |
cargo build --bin iroha_client_cli
cargo build --bin kagami
cargo build --bin iroha
cargo build -p iroha_client_cli -p kagami -p iroha
- name: Setup test Iroha 2 environment on the bare metal
run: |
pip3 install -r scripts/requirements.txt --no-input --break-system-packages
./scripts/test_env.py setup
- name: Mark binaries as executable
run: |
Expand All @@ -159,6 +152,10 @@ jobs:
poetry install
- name: Run client cli tests
working-directory: client_cli/pytests
env:
# prepared by `test_env.py`
CLIENT_CLI_BINARY: ../../test/iroha_client_cli
CLIENT_CLI_CONFIG: ../../test/client.toml
run: |
poetry run pytest
- name: Cleanup test environment
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/iroha2-release-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ jobs:
cargo build --bin iroha
- name: Setup test Iroha 2 environment on bare metal
run: |
pip3 install -r scripts/requirements.txt --no-input --break-system-packages
./scripts/test_env.py setup
- name: Mark binaries as executable
run: |
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ Follow these commit guidelines:
- To run the source-code based tests, execute [`cargo test`](https://doc.rust-lang.org/cargo/commands/cargo-test.html) in the Iroha root. Note that this is a long process.
- To run benchmarks, execute [`cargo bench`](https://doc.rust-lang.org/cargo/commands/cargo-bench.html) from the Iroha root. To help debug benchmark outputs, set the `debug_assertions` environment variable like so: `RUSTFLAGS="--cfg debug_assertions" cargo bench`.
- If you are working on a particular component, be mindful that when you run `cargo test` in a [workspace](https://doc.rust-lang.org/cargo/reference/workspaces.html), it will only run the tests for that workspace, which usually doesn't include any [integration tests](https://www.testingxperts.com/blog/what-is-integration-testing).
- If you want to test your changes on a minimal network, the provided [`docker-compose.yml`](docker-compose.yml) creates a network of 4 Iroha peers in docker containers that can be used to test consensus and asset propagation-related logic. We recommend interacting with that network using either [`iroha-python`](https://github.com/hyperledger/iroha-python), or the included `iroha_client_cli`.
- If you want to test your changes on a minimal network, the provided [`docker-compose.yml`](configs/swarm/docker-compose.yml) creates a network of 4 Iroha peers in docker containers that can be used to test consensus and asset propagation-related logic. We recommend interacting with that network using either [`iroha-python`](https://github.com/hyperledger/iroha-python), or the included `iroha_client_cli`.
- Do not remove failing tests. Even tests that are ignored will be run in our pipeline eventually.
- If possible, please benchmark your code both before and after making your changes, as a significant performance regression can break existing users' installations.

Expand Down
148 changes: 108 additions & 40 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading