Skip to content

Commit

Permalink
Merge main + migrate to ink4 (#898)
Browse files Browse the repository at this point in the history
* A0-1472 Validator Network log addresses (#701)

* A0-1455: Refactor for incoming protocol upgrade (#711)

* Refactor for incoming protocol upgrade

* The type should be what is sent, not the sending mechanism

* version upgrade catchup test (#706)

* support in cliain for version_upgrade

* support of our docker-compose to run using bridged docker's network

* catchup_version_upgrade_test.sh

* added the catchup version upgrade test to github pipelines

* review changes

* chmod +x catchup_version_upgrade_test.sh

* review changes: using `matrix` for catch-up version upgrade test

* review changes: bumped version of aleph-client; added schedule_version_upgrade_with_state

* review changes: comment about key derivation in docker-compose `//1` etc.

* fix: e2e...yml: wrong `uses`

* bumped e2e-tests/Cargo.lock

* fix: version_upgrade after api refactor

* review changes: added cache cleanup to build-cliain-image job

* fix: typo in e2e...yml s/NODE2/Node2

* fix for e2e...yml: fixed matrix-include for catch-up version upgrade test

* review changes: renamed local variable in catchup_version_upgrade.sh

* more review changes for catchup_version_upgrade_test.sh

* A0-1499: E2e ban test threshold (#704)

* Checkpoint

* Partial attempt

* Fixed index

* Touch up

* Reworked automatic test for greater modularity

* Partial manual kick-out

* Modularity; bumped crate versions

* GH workflow

* Test case reordering

* Initial modules work

* Manual kickout case

* Consts

* Modules

* Checkpoint

* Removed next era validators check

* Checkpoint

* Semver consistent versioning

* Removed superfluous function and imports

* Checkpoint

* Explicit params for bounded vec

* Merge fixes

* Changed bounded vec creation

* Linter, version

* Fixed reason passed to extrinsic

* Session count tracking

* Welcome to the ban world!

* GH workflow

* Changed params to refs; cases reorder

* Housekeeping

* Version bumps

* Changed option unwrapping

* Removed needless borrow

* Added ban event call

* Removed borrows

* Removed ban event call from initial place

* Changed test logic to post factum

* Changed logic to test only sessions after ban config change comes in

* Test logic fix

* Typo fix in rewards test

* Removed unnecessary reference

* Rolled back pallet change

* aleph-client version bump

* A0-1455: Add future protocol and decision process for connection direction (#716)

* Add future protocol and decision process for connection direction

Not used for now, that'll be in the next PR.

* Small review comments

* Massively improve xor computation

* Naming in tests

* A0-1413: remove legacy network (#719)

* remove legacy network

* fix tests

* remove unnecessary comment

* fix test names

* A0-1455: Enable two-way connections (#721)

* Enable two-way connections

* Add comments, remove typos

* Clarify legacy marking logic

* Linter

* A0-1574: Remove unnecessary implementations in the substrate network (#726)

* Remove substrate NetworkIdentity

* No Multiaddress requirement for substrate network

* Remove unnecessary wrappers

* A0-1586: At most one discovery message (#734)

* At most one discovery message

* Clippy being helpful

* A0-1591: Remove unnecessary abstraction layers in network (#741)

* Remove unnecessary abstraction layers in network

* Test name made little sense now

* A0 1350 - small subxt migration (#730)

* disable try-runtime check (#750)

* Add timeout for upgrade catchup e2e test (#758)

* Add authentication compatibility tests with fixed bytes (#751)

* Update to 0.9.29 (#754)

* fix runtime

* fix aleph-node

* bump spec version

* bump versions

* update runtime in aleph-client

* Temporarily remove try-runtime

* review nits

* fix tests

* reintroduce try-runtime

* whitespaces

Co-authored-by: Jan Koscisz <koscis.j@gmail.com>
Co-authored-by: kostekIV <27210860+kostekIV@users.noreply.github.com>

* Update to 0.9.30 (#756)

* A0-1585: Replace AuthorityId with parameter (#748)

* Replace AuthorityId with parameter

* SecretKey is a much better name than PrivateKey

* Rename most peer ids to public keys

Co-authored-by: lesniak43 <lesniak43@gmail.com>

* Request justification from forks (#764)

* add backend

* request justification from forks

* change requesting logic

* Request penultimate block

* review changes

* fix rename leftover

* simplify backend dependecy

* Rework justification request status

* Revert "simplify backend dependecy"

This reverts commit abf2605.

* fix revert

* fix service

* warn about missing blocks

* improve comment

* Review changes

* improve comment

* split and simplify request logic

* Do do_request wanted

* Clearer?

* fix inequality after moving surrounding block

* Always count child tries

* impl BB

* prepare for tests

* Fix tests

* bump version

* fmt

* Simplify backend trait

* fmt

* Missing generic

* A0-1584: Unify MockMultiaddress (#770)

* Unify MockMultiaddress

* Random multiaddress function

* Some clippy warnings

* network delay (#762)

* docker related configs for network-delay tests

* shell script for simple network-delay test

* - renamed dockerfile for network tests
- chmod +x for network_tests scripts

* added common.sh for scripts; more user friendly run_consensus_network_delay.sh

* refactored run_consensus_network_delay.sh

* checking relative-finalization

* A0-1635: Limit nonfinalized block production (#769)

* Limit nonfinalized block production

* Better saturation handling

* Add log when delaying block production

* Disable two tests that were operating under outdated assumptions

* Disable one more test

* Chillout (#749)

* Remove validators from candidates in elections when they're got benned

* Add missing config item

* bump spec version

* Adjust mock

* Don't ban nice guys

* fmt

* typo

Co-authored-by: Marcin <marcin.radecki@cardinals.cc>

* A0-1503: Use the default rust test runner (#755)

* Use the default rust test runner

* Update CI flow to use the new runner

* Refer to finalization test unambiguously in CI

* Remove accidentally commited .idea

* Fix mismerge

* Refer explicitly to some more testcases

* Refer explicitly to some more testcases

* Initialize logging in e2e tests

* Ignore ban_automatic test for now

See https://cardinal-cryptography.atlassian.net/browse/A0-1634

* Rename config() -> setup_test()

* Take e2e test binary location from cargo

* Update e2e docker build in nightly

* Fix typo

* Update to 0.9.31 (#759)

* Added pending_rewards call to nomination pool api to our runtime (#778)

* Added pending_rewards call to nomination pool api to our runtime

* Set runtime version to 0.8.4

* Experimental pruning flag (#783)

* add experimental_pruning flag

* add default value

* fmt

Co-authored-by: Jedrzej Kula <jedrzej.kula@cardinals.cc>

* Update to 0.9.32 (#760)

* fix validator network outgoing peers status report (#785)

* Bring back pallet contracts API to runtime (#787)

* A0-1592: make connection manager operate of validator network directly (#790)

* Make connection manager operate of validator network directly

* Fix and simplify network service tests

* A0-1664 Stop exposing sync connected events from substrate network (#788)

* removing stuff

* remove tests that do not work...

* polishing

* no ()

* fmt

Co-authored-by: Damian Leśniak <damian.lesniak@cardinals.cc>
Co-authored-by: maciejnems <macieknems@gmail.com>

* fix clashing args in purge-chain cmd (#792)

* add e2e tests for permissionless election (#702)

* we put more docker in your docker so...you can test your network (#786)

* initial version of Dockerfile for synthetic network aleph-node

* working synthetic-network

* build script for aleph-node:synthetic-network

* added script for running synthetic-network

* added descriptive log line to run-synthetic-network

* extended `help` of run_consensus_synthetic-network.sh

* refactored build_synthetic-network...

* added script for running scripts for synthetic-network

* refactored synthetic-network scripts

* refactored run_script_for_synthetic-network.sh

* refactored run_script_for_synthetic-network.sh: added help and args

* added description to patching step in build-synthetic-network script

* added description about aleph-node:latest docker image requirement in run_consensus_synthetic-network.sh

* reformated Dockerfile.synthetic-network

* added PREREQ to run_script_for_synthetic-network.sh

* +x on synthetic-network scripts

* added note about node.js in run_script_for_synthetic-network.sh

* more robust Dockerfile.synthetic_network

* FIX: docker-compose for synthetic-network was using two seperate networks and somehow libp2p was using the other one, not controlled by us

* added a shell script allowing to reset to default settings a node within synthetic-network

* moved scripts for synthetic-network

* example .js script for synthetic-network

* moved synthetic-network scripts

* added README.md for synthetic-network

* FIX: run_consensus_synthetic-network.sh after it was moved

* passing args to invoked script in run_script_for_synthetic-network.sh

* small change in README.md for synthetic-network

* review changes for synthetic-network

* A0-1520: Add uploading runtime to CI S3 bucket and attaching it to release (#699)

* Add uploading binary and runtime to CI S3 bucket
* Add runtime to prerelease and release assets

* A0-1503: Take e2e config from env (#779)

* Take e2e config from env

* Add README to e2e-tests

* A0-1575: Addressing information refactor (#795)

* Addressing information refactor

* Clippy being actually helpful

* Demariofy

Co-authored-by: timorl <timorl@disroot.org>

* A0-1520: Add a condition for S3 steps to run only when AWS secrets are present (#797)

* Add a condition for S3 steps to run only when AWS secrets are present
* Change calls to secrets var with env vars

* A0-1667 Add timeouts to the dialer (#791)

* A0-1526: Sign addressing information (#798)

* Sign addressing information

* Better name for verification

* Elaborate why zero signatures

Co-authored-by: timorl <timorl@disroot.org>

* A0-1663: remove unnecessary session start retries in connection manager (#803)

* remove retry_session_start in connection manager

* review comments

* Make the gossip network into a module (#802)

Co-authored-by: timorl <timorl@disroot.org>

* Move data network into its own module (#809)

Co-authored-by: timorl <timorl@disroot.org>

* A0-1668 Make runtime cache configurable (#801)

* Do not write old state to storage in pre-migration check (#807)

* A0-1576: Move clique network into network (#811)

* Move clique network into network

* For manager it is actually the validator network

* Stray bad use of validator_network

* Stray uses of 'validator' in clique

* Better logging targets

Co-authored-by: timorl <timorl@disroot.org>

* A0-1576: Improve network manager interface (#815)

* Improve network manager interface

* Two hard problems in CS

Co-authored-by: timorl <timorl@disroot.org>

* add clique network log target to docker entrypoint (#818)

* Make max-runtime-instances configurable (#817)

* Short session mode is now 3 (#789)

* Short session mode is now 3

* Fixed e2e case

* Clippy args change for aleph-node (#772)

* More restrictive clippy checks

* Fixed all clippy complaints

* Fixed clippy args order

* Do not allow type complexity lints to sneak through

* Streamlined clippy command

* First batch

* Partial

* Complex types partial

* Structs for mock data

* Cleanup

* Removed non-channel unused parameters

* Add logging about ABFT version (#823)

* Add logging about ABFT version

* Legacy-only log

Co-authored-by: timorl <timorl@disroot.org>

* bump versions (#820)

* bump versions

* Adjust to new versions

* Bump finality version

* bump versions and use defaults

* fmt

* consistent import

* Bump default abft version

* A0-1761: Enhance gossip network interface (#822)

* Enhance gossip network interface

* Add tests for sending

Co-authored-by: timorl <timorl@disroot.org>

* Fixing broken compatibility (#828)

* Generate raw chainspecs in script

* Make compatibility work again

Co-authored-by: timorl <timorl@disroot.org>

* A0-1491: Change protocol naming convention and add block sync protocol (#829)

* Change protocol naming convention and add block sync protocol

* Turn the block sync network on properly

Co-authored-by: timorl <timorl@disroot.org>

* A0-1609 Removed unwrap()'s in aleph-client (#824)

* A0-1609 Removed unwrap()'s in aleph-client

* A0-1609 Review

* A0-1610: Contract support redux (#816)

* Add e2e tests for a simple contract

* Fix tests and warnings

* Run adder test on CI

* Install fmt/clippy/wasm target per package on CI

The different packages can have different toolchain versions, so
installing once isn't enough.

* Install cargo contract for e2e tests

* Install cargo-contract only in adder test

It can take a significant amount of time without cache, which exceeds
the timeout on the tests.

* Install rust-src for 1.65.0 on CI

* Set adder metadata on CI

* Pass ADDER_METADATA to adder test

* Extend adder test timeout

* Give names to adder arguments in CI

* Mount contract dir in e2e tests (for the metadata)

* Fix clippy

* Bump aleph-client to 2.5.0

* Authenticate when installing protoc

This should make it less likely that we hit API limits.

* Revert "Authenticate when installing protoc"

This reverts commit f7563d4.

* Add Option<T> conversion for contract returns

* Extract variables

* A0-1796: add justification broadcast ticker (#833)

* add justification broadcast ticker

* Join periodic and normal broadcast last Instant

* move clippy dead code

* rename to ticker

* restructure tests

* change timeout after try tick true

* hmmmmmm

* apply suggested changes to docs

* add assert to constructor

* or maybe no assert

* the in docs

Co-authored-by: kostekIV <27210860+kostekIV@users.noreply.github.com>

* wait_and_tick

Co-authored-by: kostekIV <27210860+kostekIV@users.noreply.github.com>

* A0-1770: Add basic interfaces used and exposed by sync (#837)

* Add basic interfaces used and exposed by sync

* Huh, hashes are `Copy`

* Better verification abstraction

* Use BlockNumber

Co-authored-by: timorl <timorl@disroot.org>

* A0-1822: add substrate chain status notifier (#839)

* add substrate chain status notifier

* A0-1795: add task queue (#836)

* add task queue

* extract aleph-block-sync LOG_TARGET

* Add justification implementation (#841)

Co-authored-by: timorl <timorl@disroot.org>

* A0-1613 Improving `Connection`s (#834)

* synthetic-network for nightly-pipeline (#804)

* as_ref in aleph-client for Connection types

* rust API for synthetic-network's json API

* refactored synthetic-link

* new e2e-tests: high out-latency

* refactored synthetic-network bash scripts

* added git submodule for synthetic-network

* added nightly e2e test for synthetic-network

* refactored synthetic-link library

* added load_config for synthetic-network e2e test

* more refactoring of synthetic-link

* missing synthetic-link in Cargo.toml

* e2e-tests/config.rs cleaned

* Into -> From in synthetic-link

* slightly cleaned code for synthetic-network

* added RUST_SRC_PATH in shell.nix for better support for IDEs

* slightly cleaned synthetic-link

* refactored synthetic-link: more types for ranged parameters

* refactored synthetic-link lib

* added code-docs to synthetic-link

* using try_from for PortRange in synthetic-lib for input validation

* missing deps after merge for synthetic-network

* REVERT ME testing nightly pipeline

* fix after merge

* say no to install-protoc in github pipelines

* Revert "say no to install-protoc in github pipelines"

This reverts commit b991f75.

* GITHUB_TOKEN for "Install Protoc" action

* reverted changed file permissions

* reverted rust-toolchain file

* typo in description for PortRange

* e2e-tests: config.validator_names() uses validators_count

* e2e-tests: added description for the `latency` tests

* shell.nix: added description for new ENV var RUST_SRC_PATH - it's for rust-analyzer

* BACKUP: e2e-tests/config.rs with iterators

* new verion of the synthetic-network e2e-test that supports non-dockerized runs (urls)

* fix for e2e-test `no_quorum_without_high_latency` - missing call for urls instead of names

* extended README.md for the synthetic-network: how to run e2e-tests with synthetic-network locally

* renamed e2e-tests for high-out-latency with synthetic-network

* renamed one of the e2e-tests pipelines in nightly for high-latency (synthetic-network)

* Revert "REVERT ME testing nightly pipeline"

This reverts commit 8eb1410.

* A0-1619 New GH check for runtime metadata (#842)

* A0-1619 New GH check for runtime metadata

* A0-1619 Removed interactive mode from the new runtime check. Fixed steps dependencies.

* A0-1619 Attempt to fix workflows.

* A0-1619 use pre-build subxt image

* A0-1619 Fixed docker entrypoint. Regenerated runtime metadata as it was outdated.

* A0-1619 Attempt 4 to fix workflows

* A0-1619 Attempt 5 to fix workflows

* A0-1619 Hopefully better attempt to the Dockerfile

* A0-1608 Add documentation of all public API and traits of aleph-client (#832)

* A0-1608 Add documentation of all public API and traits

* A0-1608 Review

* A0-1608 Added basic workflow for building docs

* A0-1608 Removed redundant workflow condition

* A0-1068 Review part 2

* A0-1608 fixes after conflicts

* sneaky fix for outdated runtime data

* revert sneaky fix

* an ugly workaround for the fact we want to ignore rustdoc warnings in generated runtime file

* A0-1610: Restore contract event support (#838)

* Restore contract event listening

* Authenticate when installing protoc on CI

This should reduce the number of failures caused by rate limiting.

* Bump aleph-client version

* Update contract event docs

* Improve cosmetics

* This reverts commit e21d155.

* A0-1611: Full multisig support in `aleph-client` (#845)

* Full basic support

* Api is ready

* Playing

* Keep approvers instead of counter

* revert local playing

* Docs

* Easier review comments

* Move context code closer to ContextualApi

* Docs

* playground updated

* Revert "playground updated"

This reverts commit bf1dbdc.

* Updated aleph-client readme (#846)

* A0-1823: add substrate specific chain status (#844)

* add substrate chain status

* Remove `pub(crate)` from `aleph-client` (#849)

* Remove `pub(crate)`

* Don't expose client

* Revert "Don't expose client"

This reverts commit 66a3417.

* Bump

* Use official contract-transcode instead of fork (#847)

* Bump to 9.0 (#853)

* A0-1821: add substrate specific finalizer for sync protocol (#854)

* Fix syntax error in deploy-testnet workflow

* Remove unnecessary AWS credentials step from deploy-testnet workflow

* Save to S3 bucket

* Remove accidentally added file

* Authorities are staking finalization stall (#771)

* Init CI attempt

* More

* Finalization check

* Max node count

* GH action fix

* Improved error message

* Increased node count

* Increased timeout for authorities are staking e2e test

* Removed post-test finalization check

* Script fix

* Make sure rotate keys is done for every validator separately

* fmt

* Ip address and ports from config

* WS params parsing; default node count change

* Follow up finalization check

* Patch version bump

* Extracted controller connections; minor fixes

Co-authored-by: Marcin <marcin.radecki@cardinals.cc>

* `aleph-client`: Get tx events (#860)

* Change connection API

* Aleph client migrated

* Incorrect bump, but bumping anyway

* Rename to `TxInfo`

* Migrate cliain

* Move to lib

* Revert "Move to lib"

This reverts commit cb58f2a.

* Get tx events

* Example usage

* rename variables

* Correct info for submitted

* Grammar

* xD for the first time

* xD for the second time

* Make AsConnection and AsSigned visible outside aleph-client (#861)

* pub use for AsConnection and SignedConnection

* bump

* A0-1766: Sketch out the pricing script (#852)

* Sketch out the pricing script

* Format the pricing table prettier

* Improve cosmetics

* Improve cosmetics

Co-authored-by: Michal Handzlik <h4nsu@users.noreply.github.com>

* fix justification request status report not resetting (#866)

* A0-1852 remove send-runtime-hook and fork-off from Deploy to Devnet workflow (#858)

* A0-1852 remove send-runtime-hook and fork-off from Deploy to Devnet workflow

* A0-1852 Use r-9.0-rc2 image for testing

* A0-1852 Use current commit for testing. Decrease sleep

* Remove deprecated set-output command

* Testing workflow

* Revert "Testing workflow"

This reverts commit 0b917db.

* Review remarks

* adds `protobuf-compiler` to list of build dependencies (#859)

* added protobuf-compiler to list of packages required to manually build aleph-node

* nix: version.nix uses fixed version of rust toolchain now (nightly-2022-08-12)

* Fix for the runtime check (#874)

* Wait for finalized on transfer of money for tests (#873)

Without this, the money might not yet be available for subsequent
actions. This happens especially often on non-local nets.

* Migrate access_control to ink4

* Migrate ticket_token to ink4

* Migrate game_token to ink4

* Migrate marketplace to ink4

* Hide primitive types behind Balance and BlockNumber (#871)

* A0-1845: Authorities api (#870)

* `aleph-client`: Cast `ConvertibleValue` to a sequence (#875)

* Create ConvertibleValue from sequence

* Support arrays

* Simplify results

* A0-1820: implement substrate specific verifier for sync protocol (#864)

* Small refactor to prepare for verifier

* move justification verification to sync folder

* implement SessionVerifier cache

* implement verifier for VerifierCache

* Use Ref to talk to access_control

* Migrate button to ink4

* Migrate wrapped_azero to ink4

* Migrate simple_dex to ink4

* `aleph-client`: Fetch contract events (#877)

* Move all button comms to Ref

* Pin version of buildx. (#878)

* A0-1614 (don't) hide subxt types (#848)

* `aleph-client`: Custom gas limit (#880)

* Custom gas limit

* Bump

* locks

* Custom proof size limit

* Precise estimate

* A0-1872: Network data for sync (#879)

* Network data for sync

* Actually remembered we need one more kind of message in this version

Co-authored-by: timorl <timorl@disroot.org>

* A0-1794 Write initial version of the forest struct (#830)

* init

* the forest grows

* Vertex

* first version

* remove empty file

* add parent check to update_body

* polishing

* yet another Vertex

* forest reimagined

* grown forest

* Trim

* Tests

* Better tests

* Add max forest depth

Co-authored-by: Damian Leśniak <damian.lesniak@cardinals.cc>
Co-authored-by: timorl <timorl@disroot.org>

* A0-1824: add sync required mocks (#883)

* WIP

* Fix e2e contract tests.

* wait_for_death returns Err when button doesn't die.

* Log when dry-run call reverts.

* FMT button_game tests.

* wait_for_death actually waits up to timeout.

* Restore unnecessary change to Cargo.toml

* Debug messages are not errors.

* Remove debug printlns from the contract.

* Cleanup error handling.

* Import info log

* A0-1718 remove old authentications (#881)

* A0-1855: In FE, replace private feature-env-aleph-node repo with public aleph-node (#884)

* Replace 573243519133.dkr.ecr.us-east-1.amazonaws.com/feature-env-aleph-node with public.ecr.aws/p6e8q1z1/aleph-node

* Change FE repository to feature-env-aleph-node

* A0-1304: add state pruning compatibility (#890)

* make aleph node compatible with state pruning

* add/fix session map tests

* fix experimental pruning logs

* remove unnecessary wrapping

* A0-1502: Finality version e2e test (#717)

* Setting up AlephBFT version

* Changed handling to map from session to version

* Changed logic to handle serving last set AlephBFT version

* Changed logic to handle setting of version in future only

* Reworked storage and accessors to only store one version plus session to change it

* Treat version change as a delimiting flag

* Loose coupling between pallet_aleph and pallet_session to access current session index

* Fixed trait implementation for mock

* Added comment to trait

* Replaced panics with Results in AlephBFT version handling

* Changed logic to work with numbered versions

* Changed behavior on session start and end

* Fixed version change update

* Linked SessionManager in runtime

* Mock impl

* Reworked SessionManage link

* Linter

* Removed pallet_elections from mock

* Removed event

* linter

* Linter

* Reworked AlephBFT version history updates

* Reworked storage to use value instead of map

* Added unit test

* Added version change unscheduling and next session version

* Removed explicit version unscheduling; added version default

* Extended docs for pallet aleph

* Moved default AlephBFT version to const

* Renamed helper function

* Fixed test

* Changed naming

* Bumped spec version

* Bumped transaction version

* Finality version RPC and e2e test, first stab

* Added GenesisBuild to pallet_aleph

* Added finality version e2e test

* Reworked test logic

* Removed unused imports

* Dependency version fixes; prep work for test logic change

* Post factum checks

* Changed checks; changed finality version update session

* Added test description

* aleph-client and aleph-e2e-client version bumps

* spec_version and transaction_version bumps

* Changed comment about error code

* Added doc comment

* Cargo.lock

* Bumped runtime version

* Disabled runtime upgrade check in CI

* Revert "Disabled runtime upgrade check in CI"

This reverts commit e4cc57b.

* Disabled runtime upgrade check without removing it

* Post-merge cleanup

* Back to storage; handle connection refactor

* Codegen

* Bumped aleph-client version

* Back to rpc call; prelims

* Rpc interface

* Rpc

* Link with node

* Rpc request; cleanup

* Partial fix

* Fixed RPC params

* Versioning

* Linter

* Default version fix

* E2e test version bump

* Interface reorg

* Linter

* Connection fixes; pipelines

* Linter

* Finality version set in chain spec

* Subxt codegen

* E2e test fix

* Runtime metadata for aleph-client

* Hide doc warnings

* Removed hide docs

* Actually check the version change

* Subxt metadata

* Linter cleanup

* Const reorg

* Current finality version calculated based on the legacy one

* Use tokio instead of thread to sleep in e2e

* Simplify error unpacking

* Run CI contract tests on regular nodes

* Use existing action for button e2e tests on CI

* Build image for contract e2e tests

* A0-1897 validator-network authorization (#892)

* new authorizator service for the validator network - no send/receive data before a user is authorized

* unit-tests for the authorization api for the validator-network

* fixed path in the script for synthetic-network

* simplified authorization impl for validator network

* authorization: lint

* more verbose types for the authorization api

* - removed mocks for AsyncWrite/Read used by the the clique authorization tests
- tests for authorization in clique-network use now `prepare` instead of mocking the handshake

* cleaned tests for authorization

* removed the Authorization api - switched bare channels

* refactored out names of the authorizator

* fixed tests after refactoring the authorizator

* simplified `handle_authorization` in clique network

* review changes related with authorization in clique network

* cleaned tests fot the authorization in the clique network

* Install protoc in contract e2e tests

* Use built image in contract e2e

* Run button e2e tests along with others

* Fix clippy warnings

* Extend e2e button test timeout

* Empty commit to trigger actions

* Add a new line to the workflow to trigger

* Change most workflows to use self-hosted runners

* Comment out starting sccache server as it should be started in the runner already

* Add empty step to post-cache as it cannot be empty

* Add missing 'shell: bash' line

* Uncomment installing cargo-cache

* Comment out cargo-cache

* Remove restore- and post-cache from workflows

* A0-1763: Remove v0 connections from clique (#895)

* v0 removal

* Remove ConnectionType

* Update some comments

* Main logic for justification sync (#902)

Co-authored-by: timorl <timorl@disroot.org>

* Set specific cargo contract version on CI

* Update cargo contract version in README

* Use good ole' run to install cargo-contract

It seems the baptiste0928/cargo-install action, while great at caching, is
not able to fix the version to *-beta.1 when a *-rc.1 version exists.
Using this method for now, as the rc line is not compatible with our
current node, it should be switched to the caching
baptiste0928/cargo-install action when a stable version is compatible
with the node.

* Restore using dockerized node to inspect key

The script contracts/scripts/deploy.sh might be run on CI without
compiling the node first, so this is needed.

* Add call indices to pallets (#917)

* Add call indices to pallets

* Change libssl version in cliain.

---------

Co-authored-by: Bartosz Jędrzejewski <bartosz.jedrzejewski@10clouds.com>

* A0-1923: add e2e tests for pruning (#914)

* add pruning catch up tests

* Set button test envs on CI

* A0-1932: Extend push-foundation-repo workflow to push release branches and tags (#901)

* Extend push-foundation-repo workflow to push release branches and tags

* Change 'git push' command to use URL instead of adding mirror

* Fixed version of actions/checkout

* Change libssl version in cliain.

---------

Co-authored-by: Piotr K <piotr.kusinski@cardinals.cc>
Co-authored-by: Michal Swietek <4404982+mike1729@users.noreply.github.com>
Co-authored-by: Michal Swietek <mike1729@users.noreply.github.com>

* Fix a specific cargo-contract version on CI (#935)

* Fix a specific cargo-contract version on CI

* Update metadata file location

* Pass button args in run_e2e_test.sh

* Fix invalid variable used for sha_short (#862)

* Fix invalid variable used for sha_short

* A0-1902: update to 0.9.33 (#923)

* change fork version to 0.9.33

* update dependencies

* no longer block id

* add max winners bound to elections

* fix pallets contract and nomination pools

* subxt code gen

* determinism arg in cliain and aleph-client

* substrate uses try-runtime in Cargo.toml like that

* bump spec version

* Fix triggering contract deploy

* Use cargo-contract 2.0.1

2.0.0-beta.1 is incompatible with current pallet-contracts.

* Fix clippy warning

* A0-1903: update to 0.9.34 (#926)

* Fix call to invalid step output in the deploy-mainnet workflow (#937)

* Use cargo contract 2.0.1 for button CI

* Enforce heap pages (#938)

* enforce-heap-pages

* set call stack

* bump-spec-version

* fix-typo

---------

Co-authored-by: Michal Swietek <mike1729@users.noreply.github.com>

* Fork off: child support (#915)

* A0-1904: update to 0.9.35 (#936)

* change fork version to 0.9.34

* pallet contracts UnsafeUnstableInterface set to false

* subxt code gen

* temporarily remove fee calculation test

* fix build

* change fork version to aleph-0.9.34

* bump spec version to 52

* move comment up

* change fork version to wip-0.9.35

* fix pruning arguments

* fix weight changes

* update jsonspree

* fix compiler error

* rm wip

* lock

* spec

* aleph

* lint

* lint

* cleanup

* maximize build space

* lint

* clean before unit

* revert

* set tmp dir

* fp

* fp2

* one more try

---------

Co-authored-by: KostekIV <koscis.j@gmail.com>
Co-authored-by: kostekIV <27210860+kostekIV@users.noreply.github.com>

* Fixed wrong merge

* Check excluded packages with a matrix job

This way the checks should run in parallel and not overflow available
disk space.

* A0-1905: update substrate to 0.9.36 (#939)

* change fork version to 0.9.34

* pallet contracts UnsafeUnstableInterface set to false

* subxt code gen

* temporarily remove fee calculation test

* fix build

* change fork version to aleph-0.9.34

* bump spec version to 52

* move comment up

* change fork version to wip-0.9.35

* fix pruning arguments

* fix weight changes

* update jsonspree

* fix compiler error

* rm wip

* lock

* spec

* aleph

* lint

* lint

* cleanup

* update

* bump spec

* set contracts-transcode version

* locks

* fix try-runtime

---------

Co-authored-by: maciejnems <macieknems@gmail.com>

* Use docker cargo contract image in adder e2e test

* Check contstraints for memory parameters (#940)

* Check contstraints for memory parameters

* Add comments

* Move smallvec to dev-dependencies

* fmt

---------

Co-authored-by: Michal Swietek <mike1729@users.noreply.github.com>

* Pinned version of ink-dev. Fixed bug so non-interactive mode is used

* Trying to fix added e2e

* Run adder e2e test to speed up build

* Run adder e2e test to speed up build - attempt 2

* Add cargo-cache with storing .cargo in S3 bucket for testing

* Fix missing 'env.' in call to env vars

* Add 'true' to ignore exit code != 0

* Add set +e to ignore exit code

* Add caching 'target' dir and rename things a bit

* Change uploading cache to devnet CI S3 bucket

* Tweak step names

* Comment out blocks uploading builds to S3 bucket

* Do not gzip files

* Extract cache key to a separate env var

* A0-1906: bump substrate to 0.9.37 (#941)

* change fork version to 0.9.34

* pallet contracts UnsafeUnstableInterface set to false

* subxt code gen

* temporarily remove fee calculation test

* fix build

* change fork version to aleph-0.9.34

* bump spec version to 52

* move comment up

* change fork version to wip-0.9.35

* fix pruning arguments

* fix weight changes

* update jsonspree

* fix compiler error

* rm wip

* lock

* spec

* aleph

* lint

* lint

* cleanup

* update

* bump spec

* set contracts-transcode version

* locks

* fix try-runtime

* bump substrate

* adjust runtime

* fix node

* update aleph-client

* update adder toolchain

* fix tests

* dont panic

* revert toolchain

* nightly

* skip adder

* ...

---------

Co-authored-by: maciejnems <macieknems@gmail.com>

* Remove cache steps

* Comment out using sccache

* Restore sccache in build-node-and-runtime.yml

* Trigger CI

* update to v0.9.38 (#944)

* update to 0.9.38

* bump spec & lint

* update metadata

* set forck branch

* Attempt to show output from a failed test

* In test catch_up, remvoe one non-validator from the test to decrease test CPU load

* update lock (#947)

* Make contract storage cheaper. (#945)

Co-authored-by: Marcin <marcin.radecki@cardinals.cc>

* Switch test_catch_up to self_hosted. Changed timeout for waiting for authorities to 300s

* Set CARGO_HOME to /Users/nicholas/Repositories/github.com/cc/aleph-node

* Fix typo

* Increased timeout for waiting for authorities in cathc_up tests

* Fix typos

* Add step that cleans the workspace

* Change cleanup workspace step to just 'rm' commands

* Extract workspace cleanup to a separate action

* Remove cleanup steps

* Increase free storage for unit tests (#952)

* Update logo link (#951)

* add posibility for experimental pruning in docker_entrypoint.sh (#949)

Co-authored-by: Marcin <marcin.radecki@cardinals.cc>

* Set timeout for waiting for authorities in catch_up tests and multiple restarts to 60s

* Increase multiple_restart waiting for authorities timeout to 120s

* clippy + local pipeline (#959)

* clippy + local pipeline

* update local image

* Fix docker usage in contract deploy

* Update metadata paths

---------

Co-authored-by: lesniak43 <lesniak43@gmail.com>
Co-authored-by: timorl <tymorl@gmail.com>
Co-authored-by: fixxxedpoint <lukasz.lachowski@cardinals.cc>
Co-authored-by: maciejzelaszczyk <48910177+maciejzelaszczyk@users.noreply.github.com>
Co-authored-by: Maciej Nemś <macieknems@gmail.com>
Co-authored-by: kostekIV <27210860+kostekIV@users.noreply.github.com>
Co-authored-by: Michal Swietek <michal.swietek@cardinals.cc>
Co-authored-by: Jan Koscisz <koscis.j@gmail.com>
Co-authored-by: Marcin <marcin.radecki@cardinals.cc>
Co-authored-by: Jędrzej Kula <kula.jedrek@gmail.com>
Co-authored-by: Jedrzej Kula <jedrzej.kula@cardinals.cc>
Co-authored-by: Michal Handzlik <h4nsu@users.noreply.github.com>
Co-authored-by: Damian Leśniak <damian.lesniak@cardinals.cc>
Co-authored-by: Mikolaj Gasior <mikolaj@gasior.dev>
Co-authored-by: timorl <timorl@disroot.org>
Co-authored-by: Krzysztof Ziobro <86822080+krzysztofziobro@users.noreply.github.com>
Co-authored-by: Piotr Mikołajczyk <piomiko41@gmail.com>
Co-authored-by: Damian Straszak <damian.straszak@gmail.com>
Co-authored-by: bartoszjedrzejewski <72252135+bartoszjedrzejewski@users.noreply.github.com>
Co-authored-by: deuszx <mateusz.gorski@cardinals.cc>
Co-authored-by: Bartosz Jędrzejewski <bartosz.jedrzejewski@10clouds.com>
Co-authored-by: Piotr K <piotr.kusinski@cardinals.cc>
Co-authored-by: Michal Swietek <4404982+mike1729@users.noreply.github.com>
Co-authored-by: Michal Swietek <mike1729@users.noreply.github.com>
Co-authored-by: Filip Bielejec <fbielejec@gmail.com>
  • Loading branch information
26 people committed Mar 3, 2023
1 parent 392fdcc commit b10a7ea
Show file tree
Hide file tree
Showing 357 changed files with 61,623 additions and 26,394 deletions.
14 changes: 14 additions & 0 deletions .github/actions/cleanup-workspace/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Clean runner workspace
description: Removes all the files from the runner working directory

runs:
using: composite
steps:
- name: Remove files and directories from working directory
shell: bash
run: |
rm -rf *
rm -rf ~/.cargo
rm -rf ~/.cache
echo "Running 'ls -al' on $(pwd)"
ls -al
56 changes: 44 additions & 12 deletions .github/actions/run-e2e-test/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ inputs:
default: '4'
test-case:
description: 'Name of test to run.'
required: true
required: false
randomized:
description: 'Whether to use randomized test params.'
required: false
Expand All @@ -26,6 +26,26 @@ inputs:
follow-up-finalization-check:
description: 'Whether to run a follow-up finalization check.'
required: false
deploy-adder:
description: 'Whether to deploy the adder sample contract to the node.'
required: false
default: 'false'
deploy-button:
description: 'Whether to deploy the button game contracts to the node.'
required: false
default: 'false'
image-path:
description: 'Custom path to docker image for aleph-node'
required: false
default: aleph-test-docker
node-image:
description: 'Custom name of aleph-node image'
required: false
default: aleph-node:latest
compose-file:
description: 'Custom docker-compose configuration'
required: false
default: ''

runs:
using: 'composite'
Expand All @@ -34,15 +54,15 @@ runs:
- name: Download artifact with docker image
uses: actions/download-artifact@v2
with:
name: aleph-test-docker
name: ${{ inputs.image-path }}

- name: Load node docker image
shell: bash
run: docker load -i aleph-node.tar

- name: Run consensus party
shell: bash
run: ./.github/scripts/run_consensus.sh -m ${{ inputs.min-validator-count }} -n ${{ inputs.node-count }}
run: NODE_IMAGE=${{ inputs.node-image }} DOCKER_COMPOSE=${{ inputs.compose-file }} ./.github/scripts/run_consensus.sh -m ${{ inputs.min-validator-count }} -n ${{ inputs.node-count }}

- name: Sleep
shell: bash
Expand All @@ -53,15 +73,18 @@ runs:
run: docker logs Node0 --follow &

- name: Download artifact with the test suite image
if: inputs.test-case != ''
uses: actions/download-artifact@v2
with:
name: aleph-e2e-client

- name: Load test suite docker image
if: inputs.test-case != ''
shell: bash
run: docker load -i aleph-e2e-client.tar

- name: Run single e2e test
if: inputs.test-case != ''
shell: bash
run: |
ARGS=(
Expand All @@ -72,7 +95,7 @@ runs:
RESERVED_SEATS="${{ inputs.reserved-seats }}"
NON_RESERVED_SEATS="${{ inputs.non-reserved-seats }}"
if [[ -n "${RANDOMIZED}" ]]; then
ARGS+=(-r "${RANDOMIZED}")
fi
Expand All @@ -84,16 +107,25 @@ runs:
)
fi
DEPLOY_ADDER="${{ inputs.deploy-adder }}"
if [[ "${DEPLOY_ADDER}" = "true" ]]; then
pushd contracts/adder
export ADDER=$(./deploy.sh)
popd
fi
DEPLOY_BUTTON="${{ inputs.deploy-button }}"
if [[ "${DEPLOY_BUTTON}" = "true" ]]; then
source contracts/env/dev
contracts/scripts/deploy.sh
source contracts/scripts/test_env.sh
fi
./.github/scripts/run_e2e_test.sh "${ARGS[@]}"
- name: Run finalization e2e test
if: inputs.follow-up-finalization-check == 'true'
shell: bash
run: ./.github/scripts/run_e2e_test.sh -t finalization -m "${{ inputs.min-validator-count }}"

- name: Print debug if failed
if: ${{ failure() }}
shell: bash
run: |
cd bin/cliain
cargo run -- --seed //Alice debug-storage
run: ./.github/scripts/run_e2e_test.sh -t finalization::finalization -m "${{ inputs.min-validator-count }}"
18 changes: 6 additions & 12 deletions .github/scripts/check_finalization.sh
Original file line number Diff line number Diff line change
@@ -1,18 +1,12 @@
#!/bin/bash

## USAGE
## .github/scripts/check_finalization.sh <rpc-host> <rpc-port>
## if <rpc-host> <rpc-port> <network> are empty default values will be used (127.0.0.1, 9933 and host)
##

RPC_HOST=${1:-127.0.0.1}
RPC_PORT=${2:-9933}
NETWORK=${3:-host}

RPC_HOST=${RPC_HOST:-127.0.0.1}
RPC_PORT=${RPC_PORT:-9933}
LAST_FINALIZED=""
VALIDATOR=${VALIDATOR:-damian}

while [[ "$LAST_FINALIZED" =~ "0x0" ]] || [[ -z "$LAST_FINALIZED" ]]; do
block_hash=$(docker run --network $NETWORK appropriate/curl:latest \
block_hash=$(docker run --rm --network container:$VALIDATOR appropriate/curl:latest \
-H "Content-Type: application/json" \
-d '{"id":1, "jsonrpc":"2.0", "method": "chain_getFinalizedHead"}' http://$RPC_HOST:$RPC_PORT | jq '.result')
ret_val=$?
Expand All @@ -21,7 +15,7 @@ while [[ "$LAST_FINALIZED" =~ "0x0" ]] || [[ -z "$LAST_FINALIZED" ]]; do
continue
fi

finalized_block=$(docker run --network $NETWORK appropriate/curl:latest \
finalized_block=$(docker run --rm --network container:$VALIDATOR appropriate/curl:latest \
-H "Content-Type: application/json" \
-d '{"id":1, "jsonrpc":"2.0", "method": "chain_getBlock", "params": ['$block_hash']}' http://$RPC_HOST:$RPC_PORT | jq '.result.block.header.number')

Expand All @@ -31,9 +25,9 @@ while [[ "$LAST_FINALIZED" =~ "0x0" ]] || [[ -z "$LAST_FINALIZED" ]]; do
continue
else
LAST_FINALIZED=$finalized_block
echo "Last finalized block number: $LAST_FINALIZED"
fi

done

echo "Last finalized block number: $LAST_FINALIZED"
exit $?
22 changes: 16 additions & 6 deletions .github/scripts/run_consensus.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,19 @@
set -euo pipefail

# default node count
# change when increasing the number of node containers
NODE_COUNT=5
# max node count that will not crash current GH machines
MAX_NODE_COUNT=6
# default minimum validator count
MIN_VALIDATOR_COUNT=4
DOCKER_COMPOSE=${DOCKER_COMPOSE:-"docker/docker-compose.yml"}
OVERRIDE_DOCKER_COMPOSE=${OVERRIDE_DOCKER_COMPOSE:-""}
NODE_IMAGE=${NODE_IMAGE:-aleph-node:latest}

# default minimum validator count
MIN_VALIDATOR_COUNT=4

export NODE_IMAGE=aleph-node:latest
export NODE_IMAGE

mkdir -p docker/data/

Expand Down Expand Up @@ -49,6 +53,11 @@ done

export NODE_COUNT

if [[ ${NODE_COUNT} -gt ${MAX_NODE_COUNT} ]]; then
echo "Tried to run ${NODE_COUNT} nodes. Max node count allowed: ${MAX_NODE_COUNT}."
exit 1
fi

function generate_authorities {
local authorities_count="$1"

Expand Down Expand Up @@ -83,19 +92,20 @@ function generate_bootnode_peer_id {

function run_containers {
local authorities_count="$1"
local override_file="$2"
local docker_compose_file="$2"
local override_file="$3"

echo "Running ${authorities_count} containers..."
if [[ -z ${override_file} ]]; then
docker-compose -f docker/docker-compose.yml up -d
docker-compose -f "${docker_compose_file}" up -d
else
docker-compose -f docker/docker-compose.yml -f "${override_file}" up -d
docker-compose -f "${docker_compose_file}" -f "${override_file}" up -d
fi
}

authorities=$(generate_authorities ${NODE_COUNT})
generate_chainspec "${authorities[@]}" "${MIN_VALIDATOR_COUNT}"
generate_bootnode_peer_id ${authorities[0]}
run_containers ${NODE_COUNT} "${OVERRIDE_DOCKER_COMPOSE}"
run_containers ${NODE_COUNT} "${DOCKER_COMPOSE}" "${OVERRIDE_DOCKER_COMPOSE}"

exit $?
28 changes: 26 additions & 2 deletions .github/scripts/run_e2e_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ function set_randomized_test_params {

ARGS=(
--network "container:Node0"
-e NODE_URL="127.0.0.1:9943"
-e NODE_URL="ws://127.0.0.1:9943"
-e RUST_LOG=info
)

Expand Down Expand Up @@ -111,6 +111,30 @@ if [[ -n "${ONLY_LEGACY:-}" ]]; then
ARGS+=(-e ONLY_LEGACY)
fi

docker run -v $(pwd)/docker/data:/data "${ARGS[@]}" aleph-e2e-client:latest
if [[ -n "${ADDER:-}" ]]; then
ARGS+=(-e "ADDER=${ADDER}")
ARGS+=(-e "ADDER_METADATA=/contracts/adder/target/ink/adder.json")
fi

if [[ -n "${BUTTON_GAME_METADATA:-}" ]]; then
ARGS+=(-e "THE_PRESSIAH_COMETH=${THE_PRESSIAH_COMETH}")
ARGS+=(-e "EARLY_BIRD_SPECIAL=${EARLY_BIRD_SPECIAL}")
ARGS+=(-e "BACK_TO_THE_FUTURE=${BACK_TO_THE_FUTURE}")
ARGS+=(-e "SIMPLE_DEX=${SIMPLE_DEX}")
ARGS+=(-e "WRAPPED_AZERO=${WRAPPED_AZERO}")
ARGS+=(-e "RUST_LOG=${RUST_LOG}")
ARGS+=(-e "BUTTON_GAME_METADATA=/contracts/button/target/ink/button.json")
ARGS+=(-e "TICKET_TOKEN_METADATA=/contracts/ticket_token/target/ink/ticket_token.json")
ARGS+=(-e "REWARD_TOKEN_METADATA=/contracts/game_token/target/ink/game_token.json")
ARGS+=(-e "MARKETPLACE_METADATA=/contracts/marketplace/target/ink/marketplace.json")
ARGS+=(-e "SIMPLE_DEX_METADATA=/contracts/simple_dex/target/ink/simple_dex.json")
ARGS+=(-e "WRAPPED_AZERO_METADATA=/contracts/wrapped_azero/target/ink/wrapped_azero.json")
fi

if [[ -n "${OUT_LATENCY:-}" ]]; then
ARGS+=(-e OUT_LATENCY)
fi

docker run -v "$(pwd)/contracts:/contracts" -v "$(pwd)/docker/data:/data" "${ARGS[@]}" aleph-e2e-client:latest

exit $?
2 changes: 1 addition & 1 deletion .github/scripts/run_smartnet.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

set -e

export NODE_IMAGE=public.ecr.aws/p6e8q1z1/feature-env-aleph-node:fe-benjamin_c643069
export NODE_IMAGE=public.ecr.aws/p6e8q1z1/aleph-node:latest

# key derived from "//0"
export NODE_ID=5D34dL5prEUaGNQtPPZ3yN5Y6BnkfXunKXXz6fo7ZJbLwRRH
Expand Down
1 change: 1 addition & 0 deletions .github/scripts/test_catch_up.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,5 @@ chmod +x "$ALEPH_NODE_BINARY"
pip install -r requirements.txt

echo 'Running test'
export PYTHONUNBUFFERED=y
exec ./test_catch_up.py
1 change: 1 addition & 0 deletions .github/scripts/test_multiple_restarts.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,5 @@ chmod +x "$ALEPH_NODE_BINARY"
pip install -r requirements.txt

echo 'Running test'
export PYTHONUNBUFFERED=y
exec ./test_multiple_restarts.py
18 changes: 13 additions & 5 deletions .github/workflows/build-and-push-cliain.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,33 +9,41 @@ on:
jobs:
build-image:
name: Build binary
runs-on: ubuntu-20.04
runs-on: self-hosted
steps:
- name: GIT | Checkout source code
uses: actions/checkout@v2

- name: Install Rust toolchain
uses: actions-rs/toolchain@v1

- name: Install Protoc
uses: arduino/setup-protoc@v1
with:
version: '3.6.1'
repo-token: ${{ secrets.GITHUB_TOKEN }}

- name: Cargo | Build release binary
run: |
cd ./bin/cliain && cargo build --release
- name: GIT | Get branch name and commit SHA
id: get_branch
uses: ./.github/actions/get-branch

- name: Login to ECR
uses: docker/login-action@v1
with:
registry: public.ecr.aws
username: ${{ secrets.AWS_MAINNET_ACCESS_KEY_ID }}
password: ${{ secrets.AWS_MAINNET_SECRET_ACCESS_KEY }}

- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@master

uses: docker/setup-buildx-action@v2
with:
version: v0.9.1

- name: Build and push latest docker image
id: build-image
env:
Expand Down
20 changes: 20 additions & 0 deletions .github/workflows/build-docs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# this workflow builds rustdoc for aleph-node crates
name: build-docs

on:
push:

jobs:
build-aleph-client-docs:
name: Build docs
runs-on: self-hosted
steps:
- name: GIT | Checkout source code
uses: actions/checkout@v2

- name: Install Rust toolchain
uses: actions-rs/toolchain@v1

- name: rustdoc | Build aleph-client docs
run: |
cd aleph-client && cargo doc --no-deps

0 comments on commit b10a7ea

Please sign in to comment.