* new ethereum consensus tests, #10908
* Update JSON tests to 725dbc73a
This PR reverts the controversial changes of the previous PR and skips the failing tests.
Maybe I misunderstand the suggested workaround of putting the fix under `#[cfg(test)]` but it seems odd to run different code in production than we run in tests. Instead here I suggest we skip the failing tests with the argument that we do not wish to fix this issue (at least not at this time) because it does not affect us. If I am wrong, and I likely am, I look forward to hearing why and what a better approach to updating the state tests is.
Branched off https://github.com/paritytech/parity-ethereum/pull/10923
ref #10908
* Update json test commit to 1dc9d20e97165708f7db0bbf2d1a87a6b4285827
* Fail with error message
* Handle missing r, s, v params in json tests
Light cleanup of json test runner
* Include the path to the test file
* Handle new `postState` format: string or map
Sort out tests
Missing docs
* WIP
* Include test-helpers from ethjson
* Sort out new paths
* Remove dead code
* Fix warnings stemming from code called only from macros
Skip failing tests in stRevert/ and stTransactionTest/ (too course a filter!)
Docs and light touch refactorings for readability
* Skip all failing tests
* Document the single-test-skipping madness
* Update tests to latest commit on the `develop` branch
* Rename test skipping types to reflect actual purpose
* Switch to skipping individual tests in currents.json
Add some logging to help debug skipping
* Fix rpc test by curve fitting to new json test source file
* Add refs to all issues for fixing failing&skipped json tests
* Sort out the need for Clone for tests
* [json-tests] populate state from genesis pod state (#11083)
* [json-tests] populate state from genesis pod state
* [json-tests] #11075 is resolved as well
* [json-tests] #11076 hopefully too
* [json-tests] #11077🎉
* [json-tests] fix trailing comma
* Update ethcore/src/json_tests/chain.rs
Co-Authored-By: Andronik Ordian <write@reusable.software>
* Add issue numbers to TODOs
* Apply @ordians fix for wrong state_root
* Warn on invalid RLP
* Remove the `ci-skip-tests` feature
* whisper is no longer a part of parity-ethereum repo
* fix failing tests
* update whisper help with the link to the new repo
* Removed AttachedProtocols
* updated whisper info in README.md files
* Update parity/deprecated.rs
Co-Authored-By: Andronik Ordian <write@reusable.software>
* Run cargo fix
* Optimize imports
* compiles
* cleanup
* Use Secret to store mac-key
Truncate payload properly
* cleanup
* Reorg imports
* brwchk hand waving
* Review feedback
* whitespace
* error chain is dead
* Build parity-ethereum with SSE2, SSSE3 and AES enabled
This enables the `aesni` crate for 50x faster AES crypto.
* Correct rustflag setting
* List all target triples because [target.'cfg(…)'] is broken
* whitespace
* Enable hardware aes for CI builds
* Add note about synchronizing changes
* Remove "Linker" printout
* Build artefacts to check hardware aesni
* Skip signing windows binaries
* Build windows like before
* address grumble
* Use RUSTFLAGS to set the optimization level
Cargo has a [quirk]() in how configuration settings are propagated when `cargo test` runs: local code respect the settings in `[profile.test]` but all dependencies use the `[profile.dev]` settings. Here we force `opt-level=3` for all dependencies.
* Remove unused profile settings
* Maybe like this?
* Turn off incremental compilation
* Remove colors; try again with overflow-checks on
* Use quiet CI machine
* Turn overflow checking back on
* Be explicit about what options we use
* Remove "quiet machine" override
* docker images are now built on k8s: test run
* copy check_sync.sh in build-linux job
* copy scripts/docker/hub/* in build-linux job
* removed cache var
* cleanup, no more nightly dockers
* cleanup in dockerfile
* some new tags
* removed sccsche debug log, cleanup
* no_gits, new artifacts dir, changed scripts. Test run.
* define version once
* one source for TRACK
* stop kovan onchain updates
* moved changes for two images to a new branch
* rename Dockerfile
* no need in libudev-dev
* check if it was the file
* collect tog files
* some debug
* some more debug
* some even more debug
* upload all the logs
* change cache max size
* test with max cache size overflow
* verbose for all cargo jobs
* lower max cache size
* Rust nightly and beta test runs reintroduced
* artifacts:when: always, coz on_success is default
* sccache full log
* normal artifacts name, big cache size
* add file to test the compilation again
* another way of getting artifacts
* per-job cache
* data race tests
* is it needed to clean the working folder?
* return to common cache dir
* do not pass logs between jobs
* typo
* avoid artifacts conflict
* colored logs
* always colored logs
* proper stages
* more proper stages skip-ci
* more proper stages [skip-ci]
* shouldn't skip ci
* Initial support sccache for win build
* show sccache stats
* cache paths for shared runners
* sccache status is in the script.
* removed windows test for now
* tests splitted, phase 1
* typo
* fix wrong launch commands
* typos
* rearrangements
* use `nproc` function for threads
* use nproc for threads
* let theads be auto, build-andriod no more in regular run
* split val chain and cargo check
* renamed some files
* wrong phase
* check rust files before test jobs
* lint error
* rust files modivied var
* test except changes
* add rust_changes except
* lint error
* fixes
* .gitlab-ci.yml can't be excluded
* pipeline shouldn't start
* pipeline must go
* pipeline must go 2
* pipeline must go 3
* pipeline must go 4
* pipeline must go 5
* pipeline must go 6
* pipeline must go 7
* pipeline must not go 1
* pipeline must go 8
* avoid skippng tests yet, reintroducing them after the caching
* test theory
* parallelized cargo check with combusting helicopters
* less uploads
* alias for cargo checks
* nice template
* Updating the CI system with the publication of releases and binary files on github
Signed-off-by: Denis S. Soldatov aka General-Beck <general.beck@gmail.com>
* move publish aws from gitlab.yml to gitlab scripts
Signed-off-by: Denis S. Soldatov aka General-Beck <general.beck@gmail.com>
* gitlab.yml cleaning
move publish AWS to gitlab scripts
remove dependencies from android build
Signed-off-by: Denis S. Soldatov aka General-Beck <general.beck@gmail.com>
* Revert "Updating the CI system with the publication of releases and binary files on github"
This reverts commit da87e06f2e4751dbca08a898b52926aef5ad0aba.
* remove no-git for aws
* microfix
* no need in no_git then
* snap: reenable i386, arm64, armhf architecture publishing
* gitlab: fix indent
* gitlab: fix yml syntax
* Linker for crosscomile
* fix target to linker
* new docker image
* fix lint, add build to this PR
* calc SHA3 using rhash
* add new images for i386, armhf
* show snap target & artifacts
* set CARGO_TARGET for publish snap
* move detect Version to publish snap
* rm libc6 dep from snap-template up pub-snap script
* clean up cargo config before add linker
* move linker config to docker images
* CI optimizations
* fix stripping
* new dockerfile
* no need n submodule upd
* review
* moved dockerfile
* it becomes large
* onchain update depends on s3
* fix dependency
* fix cache status
* fix cache status
* new cache status
* publish docs changes for autogen config docs
* Update publish-docs.sh
adding an environment variable so js knows not to download git master and just grab the local repo
* Update publish-docs.sh
made some changes making this unnecessary
* fix env variable
env variable passes to node properly now
* use yarn
* test pipeline, revert me
* fix test pipeline, revert me
* change runner tag
* change runner tag 2
* change runner tag
* global git config
* supress upload_files output
* Update .gitlab-ci.yml
reverting testing changes
* Replace tag if exists
Very unlikely to be important/useful
* Update Dockerfile
Since parity is built for "mission critical use", I thought other operators may see the need for this.
Adding the `curl` and `jq` commands allows for an extremely simple health check to be usable in container orchestrators.
For example. Here is a health check for a parity docker container running in Kubernetes.
This can be setup as a readiness Probe that would prevent clustered nodes that aren't ready from serving traffic.
```bash
#!/bin/bash
ETH_SYNCING=$(curl -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}' http://localhost:8545 -H 'Content-Type: application/json')
RESULT=$(echo "$ETH_SYNCING | jq -r .result)
if [ "$RESULT" == "false" ]; then
echo "Parity is ready to start accepting traffic"
exit 0
else
echo "Parity is still syncing the blockchain"
exit 1
fi
```
* add sync check script