Skip to content

Commit

Permalink
adds diehard
Browse files Browse the repository at this point in the history
Signed-off-by: Gregory Markou <gregorymarkou@gmail.com>
  • Loading branch information
GregTheGreek committed Nov 7, 2019
1 parent 5e0d9dd commit 25107f4
Show file tree
Hide file tree
Showing 379 changed files with 34,800 additions and 3,451 deletions.
225 changes: 225 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,225 @@
---
version: 2.1
executors:
besu_executor_med:
docker:
- image: circleci/openjdk:11.0.4-jdk-stretch
resource_class: medium
working_directory: ~/project
environment:
JAVA_TOOL_OPTIONS: -Xmx2048m
GRADLE_OPTS: -Dorg.gradle.daemon=false -Dorg.gradle.parallel=true -Dorg.gradle.workers.max=2 -Xmx2048m

besu_executor_xl:
docker:
- image: circleci/openjdk:11.0.4-jdk-stretch
resource_class: xlarge
working_directory: ~/project
environment:
JAVA_TOOL_OPTIONS: -Xmx2048m
GRADLE_OPTS: -Dorg.gradle.daemon=false -Dorg.gradle.parallel=true -Dorg.gradle.workers.max=6 -Xmx2048m

commands:
prepare:
description: "Prepare"
steps:
- checkout
- run:
name: Install Packages - LibSodium
command: |
sudo apt-get update
sudo apt-get install -y libsodium18 libsodium-dev apt-transport-https
- restore_cache:
name: Restore cached gradle dependencies
keys:
- deps-{{ checksum "build.gradle" }}-{{ .Branch }}-{{ .Revision }}
- deps-{{ checksum "build.gradle" }}
- deps-

capture_test_results:
description: "Capture test results"
steps:
- run:
name: Gather test results
when: always
command: |
FILES=`find . -name test-results`
for FILE in $FILES
do
MODULE=`echo "$FILE" | sed -e 's@./\(.*\)/build/test-results@\1@'`
TARGET="build/test-results/$MODULE"
mkdir -p "$TARGET"
cp -rf ${FILE}/*/* "$TARGET"
done
- store_test_results:
path: build/test-results

jobs:
assemble:
executor: besu_executor_xl
steps:
- prepare
- run:
name: DCO check
command: |
./scripts/dco_check.sh
- run:
name: Assemble
command: |
./gradlew --no-daemon --parallel clean spotlessCheck compileJava compileTestJava assemble
- save_cache:
name: Caching gradle dependencies
key: deps-{{ checksum "build.gradle" }}-{{ .Branch }}-{{ .Revision }}
paths:
- .gradle
- ~/.gradle
- persist_to_workspace:
root: ~/project
paths:
- ./

unitTests:
executor: besu_executor_xl
steps:
- prepare
- attach_workspace:
at: ~/project
- run:
name: Build
no_output_timeout: 20m
command: |
./gradlew --no-daemon --parallel build
- capture_test_results

integrationTests:
executor: besu_executor_med
steps:
- prepare
- attach_workspace:
at: ~/project
- run:
name: IntegrationTests
command: |
./gradlew --no-daemon --parallel integrationTest
- run:
name: Javadoc
command: |
./gradlew --no-daemon --parallel javadoc
- run:
name: CompileJmh
command: |
./gradlew --no-daemon --parallel compileJmh
- capture_test_results

referenceTests:
executor: besu_executor_xl
steps:
- prepare
- attach_workspace:
at: ~/project
- run:
name: ReferenceTests
no_output_timeout: 20m
command: |
git submodule update --init --recursive
./gradlew --no-daemon --parallel referenceTest
- capture_test_results

acceptanceTests:
executor: besu_executor_xl
steps:
- prepare
- attach_workspace:
at: ~/project
- run:
name: AcceptanceTests
no_output_timeout: 40m
command: |
./gradlew --no-daemon --parallel acceptanceTest
- capture_test_results

buildDocker:
executor: besu_executor_med
steps:
- prepare
- attach_workspace:
at: ~/project
- setup_remote_docker
- run:
name: hadoLint
command: |
docker run --rm -i hadolint/hadolint < docker/Dockerfile
- run:
name: build image
command: |
./gradlew --no-daemon distDocker
publish:
executor: besu_executor_med
steps:
- prepare
- attach_workspace:
at: ~/project
- run:
name: Publish
command: |
./gradlew --no-daemon --parallel bintrayUpload
publishDocker:
executor: besu_executor_med
steps:
- prepare
- attach_workspace:
at: ~/project
- setup_remote_docker
- run:
name: Publish Docker
command: |
docker login --username "${DOCKER_USER}" --password "${DOCKER_PASSWORD}"
./gradlew --no-daemon --parallel "-Pbranch=${CIRCLE_BRANCH}" dockerUpload
workflows:
version: 2
default:
jobs:
- assemble
- unitTests:
requires:
- assemble
- referenceTests:
requires:
- assemble
- integrationTests:
requires:
- assemble
- acceptanceTests:
requires:
- assemble
- buildDocker:
requires:
- unitTests
- publish:
filters:
branches:
only:
- master
#- /^release-.*/
requires:
- integrationTests
- unitTests
- acceptanceTests
- referenceTests
- buildDocker
- publishDocker:
filters:
branches:
only:
- master
#- /^release-.*/
requires:
- integrationTests
- unitTests
- acceptanceTests
- referenceTests
- buildDocker

78 changes: 73 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,81 @@
# Changelog

## Istanbul Compatibility

### Java 11 Required from v1.2
For compatibility with Ethereum Istanbul upgrade, use v1.3.4 or later.

From v1.2, Besu requires Java 11. Besu on Java 8 is no longer supported.
## Pruning

### Docker Image Migration
Pruning cannot be used in networks using private transactions.

In v1.2, we removed the entry-point script from our Docker image. Refer to the [migration guide](https://besu.hyperledger.org/en/latest/HowTo/Get-Started/Migration-Docker/)
for information on options that were previously automatically added to the Besu command line.
### 1.3.4

- Reverted _Enable pruning by default for fast sync (#135)_ [\#164](https://github.com/hyperledger/besu/pull/164)

### 1.3.3

### Technical Improvements

- Add --identity flag for client identification in node browsers [\#150](https://github.com/hyperledger/besu/pull/150)
- Istanbul Mainnet Block [\#145](https://github.com/hyperledger/besu/pull/150)
- Add priv\_getEeaTransactionCount [\#110](https://github.com/hyperledger/besu/pull/110)

### Additions and Improvements

- Redesign of how JsonRpcMethods are created [\#159](https://github.com/hyperledger/besu/pull/159)
- Moving JsonRpcMethods classes into the same package, prior to refactor [\#154](https://github.com/hyperledger/besu/pull/154)
- Reflect default logging in CLI help [\#148](https://github.com/hyperledger/besu/pull/148)
- Handle zero port better in NAT [\#147](https://github.com/hyperledger/besu/pull/147)
- Rework how filter and log query parameters are created/used [\#146](https://github.com/hyperledger/besu/pull/146)
- Don't generate shutdown tasks in controller [\#141](https://github.com/hyperledger/besu/pull/141)
- Ibft queries [\#138](https://github.com/hyperledger/besu/pull/138)
- Enable pruning by default for fast sync [\#135](https://github.com/hyperledger/besu/pull/135)
- Ensure spotless runs in CI [\#132](https://github.com/hyperledger/besu/pull/132)
- Add more logging around peer disconnects [\#131](https://github.com/hyperledger/besu/pull/131)
- Repair EthGetLogs returning incorrect results [\#128](https://github.com/hyperledger/besu/pull/128)
- Use Bloombits for Logs queries [\#127](https://github.com/hyperledger/besu/pull/127)
- Improve message when extraData missing [\#121](https://github.com/hyperledger/besu/pull/121)
- Fix miner startup logic [\#104](https://github.com/hyperledger/besu/pull/104)
- Support log reordring from reorgs in `LogSubscriptionService` [\#86](https://github.com/hyperledger/besu/pull/86)

### 1.3.2

### Additions and Improvements

- besu -v to print plugin versions[\#123](https://github.com/hyperledger/besu/pull/123)

### Technical Improvements

- Update Governance and Code of Conduct verbiage [\#120](https://github.com/hyperledger/besu/pull/120)
- Fix private transaction root mismatch [\#118](https://github.com/hyperledger/besu/pull/118)
- Programatically enforce plugin CLI variable names [\#117](https://github.com/hyperledger/besu/pull/117)
- Additional unit test for selecting replaced pending transactions [\#116](https://github.com/hyperledger/besu/pull/116)
- Only set sync targets that have an estimated height value [\#115](https://github.com/hyperledger/besu/pull/115)
- Fix rlpx startup [\#114](https://github.com/hyperledger/besu/pull/114)
- Expose getPayload in Transaction plugin-api interface. [\#113](https://github.com/hyperledger/besu/pull/113)
- Dependency Version Upgrades [\#112](https://github.com/hyperledger/besu/pull/112)
- Add hash field in Transaction plugin interface. [\#111](https://github.com/hyperledger/besu/pull/111)
- Rework sync status events [\#106](https://github.com/hyperledger/besu/pull/106)

### 1.3.1

### Additions and Improvements

- Added GraphQL query/logs support [\#94](https://github.com/hyperledger/besu/pull/94)

### Technical Improvements

- Add totalDiffculty to BlockPropagated events. [\#97](https://github.com/hyperledger/besu/pull/97)
- Merge BlockchainQueries classes [\#101](https://github.com/hyperledger/besu/pull/101)
- Fixed casing of dynamic MetricCategorys [\#99](https://github.com/hyperledger/besu/pull/99)
- Fix private transactions breaking evm [\#96](https://github.com/hyperledger/besu/pull/96)
- Make SyncState variables thread-safe [\#95](https://github.com/hyperledger/besu/pull/95)
- Fix transaction tracking by sender [\#93](https://github.com/hyperledger/besu/pull/93)
- Make logic in PersistBlockTask more explicit to fix a LGTM warning [\#92](https://github.com/hyperledger/besu/pull/92)
- Removed Unused methods in the transaction simulator. [\#91](https://github.com/hyperledger/besu/pull/91)
- Fix ThreadBesuNodeRunner BesuConfiguration setup [\#90](https://github.com/hyperledger/besu/pull/90)
- JsonRpc method disabled error condition rewrite and unit test [\#80](https://github.com/hyperledger/besu/pull/80)
- Round trip testing of state trie account values [\#31](https://github.com/hyperledger/besu/pull/31)

### 1.3

Expand All @@ -18,6 +85,7 @@ for information on options that were previously automatically added to the Besu

### Additions and Improvements

- Add `--required-block` command line option to deal with chain splits [\#79](https://github.com/hyperledger/besu/pull/79)
- Store db metadata file in the root data directory. [\#46](https://github.com/hyperledger/besu/pull/46)
- Add `--target-gas-limit` command line option. [\#24](https://github.com/hyperledger/besu/pull/24)(thanks to new contributor [cfelde](https://github.com/cfelde))
- Allow private contracts to access public state. [\#9](https://github.com/hyperledger/besu/pull/9)
Expand Down
8 changes: 8 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,14 @@ and feel free to propose changes to this document in a pull request.
This project and everyone participating in it is governed by the [Besu Code of Conduct](CODE-OF-CONDUCT.md).
By participating, you are expected to uphold this code. Please report unacceptable behavior to [private@pegasys.tech].

The [Hyperledger Code of Conduct](https://wiki.hyperledger.org/community/hyperledger-project-code-of-conduct)
also applies to participants in this project.

## Governance

Hyperledger Besu is managed under an open governance model as described in the [HyperLedger
charter](https://www.hyperledger.org/about/charter). Hyperledger Besu is lead by a set of [maintainers](MAINTAINERS.md).

## I just have a quick question

> **Note:** Please don't file an issue to ask a question. You'll get faster results by using the resources below.
Expand Down
3 changes: 1 addition & 2 deletions DCO.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,4 @@ As per section 13.a of the [Hyperledger Charter](https://www.hyperledger.org/abo

The sign off needs to be using your legal name, not a pseudonym. Git has a built-in mechanism to allow this with the `-s` or `--signoff` argument to `git commit` command, providing your `user.name` and `user.email` have been setup correctly.

If you have any questions, you can reach us on [Besu chat].
[Besu chat]: https://chat.hyperledger.org/channel/besu
If you have any questions, you can reach us on [Besu chat](https://chat.hyperledger.org/channel/besu).
39 changes: 0 additions & 39 deletions GOVERNANCE.md

This file was deleted.

2 changes: 1 addition & 1 deletion Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ exit $status
docker.image(build_image).inside("--link ${d.id}:docker") {
try {
stage(stage_name + 'Prepare') {
sh './gradlew --no-daemon --parallel clean compileJava compileTestJava assemble'
sh './gradlew --no-daemon --parallel clean spotlessCheck compileJava compileTestJava assemble'
}
stage(stage_name + 'Unit tests') {
sh './gradlew --no-daemon --parallel build'
Expand Down
1 change: 1 addition & 0 deletions MAINTAINERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
| Byron Gravenorst | bgravenorst | bgravenorst |
| Chris Hare | CjHare | cjhare |
| Edward Evans | EdJoJob | EdJoJob |
| Ivaylo Kirilov | iikirilov | iikirilov |
| Jason Frame | jframe | jframe |
| Joshua Fernandes | joshuafernandes | joshuafernandes |
| Lucas Saldanha | lucassaldanha | lucassaldanha |
Expand Down
Loading

0 comments on commit 25107f4

Please sign in to comment.