Skip to content

Commit 25be097

Browse files
authored
Merge branch 'main' into main
2 parents 7d95cfa + 88b6670 commit 25be097

1,547 files changed

Lines changed: 43964 additions & 27244 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/ISSUE_TEMPLATE/release-checklist.md

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,41 +7,42 @@ assignees: ''
77

88
---
99

10-
- [ ] Confirm anything outstanding for release with other maintainers on #besu-release in Discord
10+
- [ ] Confirm at least 24 hours prior anything outstanding for release with other maintainers on #besu-release in Discord
1111
- [ ] Update changelog if necessary, and merge a PR for it to main
1212
- [ ] Notify maintainers about updating changelog for in-flight PRs
1313
- [ ] Optional: for hotfixes, create a release branch and cherry-pick, e.g. `release-<version>-hotfix`
1414
- [ ] Optional: for hotfixes, create a PR into main from the hotfix branch to see the CI checks pass
1515
- [ ] On the appropriate branch/commit, create a calver tag for the release candidate, format example: `24.4.0-RC1`
16-
- [ ] git tag 24.4.0-RC1
17-
- [ ] git push upstream 24.4.0-RC1
16+
- [ ] `git tag 24.4.0-RC1`
17+
- [ ] `git push upstream 24.4.0-RC1`
1818
- [ ] Sign-off with team; announce the tag in #besu-release in Discord
1919
- [ ] Targeting this tag for the burn-in: https://github.com/hyperledger/besu/releases/tag/24.4.0-RC1
2020
- [ ] Consensys staff start burn-in using this tag
2121
- [ ] Seek sign off for burn-in
2222
- [ ] Pass? Go ahead and complete the release process
2323
- [ ] Fail? Put a message in #besu-release in Discord indicating the release will be aborted because it failed burn-in
2424
- [ ] Optional: Perform a dry run with https://github.com/consensys/protocols-release-sandbox to test the workflows
25-
- [ ] Sync fork
26-
- [ ] git checkout <sha of 24.4.0-RC1>
27-
- [ ] git tag 24.4.0
28-
- [ ] git push origin 24.4.0
25+
- [ ] Sync fork in github
26+
- [ ] `git checkout <sha of 24.4.0-RC1>`
27+
- [ ] `git tag 24.4.0`
28+
- [ ] `git push <your remote name> 24.4.0`
2929
- [ ] Manually run https://github.com/Consensys/protocols-release-sandbox/actions/workflows/draft-release.yml using `main` branch and `24.4.0` tag
3030
- [ ] Back on besu, using the same git sha as 24.4.0-RC1, create a calver tag for the FULL RELEASE, example format `24.4.0`
31-
- [ ] git checkout 24.4.0-RC1
32-
- [ ] git tag 24.4.0
33-
- [ ] git push upstream 24.4.0
31+
- [ ] `git checkout 24.4.0-RC1`
32+
- [ ] `git tag 24.4.0`
33+
- [ ] `git push upstream 24.4.0`
3434
- [ ] Manually run https://github.com/hyperledger/besu/actions/workflows/draft-release.yml using `main` branch` and the FULL RELEASE tag name, i.e. `24.4.0`. Note, this workflow should always be run from `main` branch (hotfix tags will still be released even if they were created based on another branch)
3535
- publishes artefacts and version-specific docker tags but does not fully publish the GitHub release so subscribers are not yet notified
3636
- [ ] Check all draft-release workflow jobs went green
3737
- [ ] Check binary SHAs are correct on the release page
38+
- [ ] Check artifacts exist in https://hyperledger.jfrog.io/ui/repos/tree/General/besu-maven
3839
- [ ] Update release notes in the GitHub draft release, save draft and sign-off with team
3940
- [ ] Publish draft release ensuring it is marked as latest release (if appropriate)
4041
- this is now public and notifies subscribed users
4142
- makes the release "latest" in github
4243
- publishes the docker `latest` tag variants
43-
- [ ] Create homebrew release using [update-version workflow](https://github.com/hyperledger/homebrew-besu/actions/workflows/update-version.yml)
44+
- [ ] Create homebrew release PR using [update-version workflow](https://github.com/hyperledger/homebrew-besu/actions/workflows/update-version.yml)
4445
- If the PR has not been automatically created, create the PR manually using the created branch `update-<version>`
45-
- Run commands `brew tap hyperledger/besu && brew install besu` on MacOSX and verify latest version has been installed
46+
- [ ] Verify homebrew release once the PR has merged using `brew tap hyperledger/besu && brew install besu` on MacOSX to verify latest version has been installed
4647
- [ ] Delete the burn-in nodes (unless required for further analysis eg performance)
4748
- [ ] Social announcements

.github/pull_request_template.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
## PR description
23

34
## Fixed Issue(s)
@@ -14,6 +15,7 @@
1415

1516
### Locally, you can run these tests to catch failures early:
1617

18+
- [ ] spotless: `./gradlew spotlessApply`
1719
- [ ] unit tests: `./gradlew build`
1820
- [ ] acceptance tests: `./gradlew acceptanceTest`
1921
- [ ] integration tests: `./gradlew integrationTest`

.github/workflows/acceptance-tests.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
name: acceptance-tests
22
on:
33
workflow_dispatch:
4+
merge_group:
45
pull_request:
56
branches:
67
- main
78
- release-*
9+
- verkle
810

911
concurrency:
1012
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
1113
cancel-in-progress: true
1214

1315
env:
14-
GRADLE_OPTS: "-Xmx7g"
16+
GRADLE_OPTS: "-Xmx1g"
1517
total-runners: 14
1618

1719
jobs:
@@ -77,7 +79,7 @@ jobs:
7779
name: test-args-${{ matrix.runner_index }}.txt
7880
path: '*.txt'
7981
- name: run acceptance tests
80-
run: ./gradlew acceptanceTestNotPrivacy `cat gradleArgs.txt` -Dorg.gradle.parallel=true -Dorg.gradle.caching=true
82+
run: ./gradlew --max-workers 1 acceptanceTestNotPrivacy `cat gradleArgs.txt` -Dorg.gradle.caching=true
8183
- name: Remove downloaded test results
8284
run: rm -rf tmp/junit-xml-reports-downloaded
8385
- name: Upload Acceptance Test Results

.github/workflows/draft-release.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -396,3 +396,23 @@ jobs:
396396
ARTIFACTORY_USER: ${{ secrets.BESU_ARTIFACTORY_USER }}
397397
ARTIFACTORY_KEY: ${{ secrets.BESU_ARTIFACTORY_TOKEN }}
398398
run: ./gradlew -Prelease.releaseVersion=${{ env.RELEASE_VERSION }} -Pversion=${{env.RELEASE_VERSION}} artifactoryPublish
399+
400+
verify_artifactory:
401+
runs-on: ubuntu-22.04
402+
needs: [artifactory, validate, test-linux, test-windows]
403+
steps:
404+
- name: checkout
405+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
406+
with:
407+
ref: ${{ env.RELEASE_VERSION }}
408+
409+
# actions/setup-python@5.3
410+
- uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b
411+
with:
412+
python-version: '3.13'
413+
414+
- name: Install dependencies
415+
run: pip install requests argparse
416+
417+
- name: Run the script
418+
run: python3 .github/workflows/verify_artifacts.py --besu_version="${{ needs.validate.outputs.release_version }}"

.github/workflows/integration-tests.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
name: integration-tests
22
on:
33
workflow_dispatch:
4+
merge_group:
45
pull_request:
56
branches:
67
- main
78
- release-*
9+
- verkle
810

911
concurrency:
1012
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}

.github/workflows/pre-review.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,20 @@
11
name: pre-review
22

33
on:
4+
merge_group:
45
pull_request:
56
branches:
67
- main
78
- release-*
9+
- verkle
810

911
concurrency:
1012
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
1113
cancel-in-progress: true
1214

1315
env:
1416
GRADLE_OPTS: "-Xmx6g -Dorg.gradle.parallel=true"
15-
total-runners: 10
17+
total-runners: 14
1618

1719
jobs:
1820
repolint:
@@ -83,7 +85,7 @@ jobs:
8385
strategy:
8486
fail-fast: true
8587
matrix:
86-
runner_index: [0,1,2,3,4,5,6,7,8,9]
88+
runner_index: [0,1,2,3,4,5,6,7,8,9,10,11,12,13]
8789
steps:
8890
- name: Checkout Repo
8991
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11

.github/workflows/reference-tests.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
name: reference-tests
22
on:
33
workflow_dispatch:
4+
merge_group:
45
pull_request:
56
branches:
67
- main
78
- release-*
9+
- verkle
810

911
env:
1012
GRADLE_OPTS: "-Xmx6g -Dorg.gradle.daemon=false -Dorg.gradle.parallel=true -Dorg.gradle.caching=true"
11-
total-runners: 8
13+
total-runners: 4
1214

1315
concurrency:
1416
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
@@ -24,7 +26,7 @@ jobs:
2426
strategy:
2527
fail-fast: true
2628
matrix:
27-
runner_index: [1,2,3,4,5,6,7,8]
29+
runner_index: [1,2,3,4]
2830
steps:
2931
- name: Checkout Repo
3032
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11

.github/workflows/sonarcloud.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ jobs:
1717
steps:
1818
- name: checkout
1919
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11
20+
with:
21+
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
2022
- name: Set up Java
2123
uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93
2224
with:
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
import requests
2+
import argparse
3+
4+
5+
def create_artifact_paths(version):
6+
artifacts_base_path = "https://hyperledger.jfrog.io/hyperledger/besu-maven/org/hyperledger/besu"
7+
# add to this list here to update the list of artifacts to check
8+
artifacts = [
9+
# besu/evm
10+
f"{artifacts_base_path}/evm/{version}/evm-{version}.module",
11+
f"{artifacts_base_path}/evm/{version}/evm-{version}.pom",
12+
f"{artifacts_base_path}/evm/{version}/evm-{version}.jar",
13+
# besu/plugin-api
14+
f"{artifacts_base_path}/plugin-api/{version}/plugin-api-{version}.module",
15+
f"{artifacts_base_path}/plugin-api/{version}/plugin-api-{version}.pom",
16+
f"{artifacts_base_path}/plugin-api/{version}/plugin-api-{version}.jar",
17+
# besu/metrics-core
18+
f"{artifacts_base_path}/internal/metrics-core/{version}/metrics-core-{version}.module",
19+
f"{artifacts_base_path}/internal/metrics-core/{version}/metrics-core-{version}.pom",
20+
f"{artifacts_base_path}/internal/metrics-core/{version}/metrics-core-{version}.jar",
21+
# besu/internal/core
22+
f"{artifacts_base_path}/internal/core/{version}/core-{version}.module",
23+
f"{artifacts_base_path}/internal/core/{version}/core-{version}.pom",
24+
f"{artifacts_base_path}/internal/core/{version}/core-{version}.jar",
25+
# besu/internal/config
26+
f"{artifacts_base_path}/internal/config/{version}/config-{version}.module",
27+
f"{artifacts_base_path}/internal/config/{version}/config-{version}.pom",
28+
f"{artifacts_base_path}/internal/config/{version}/config-{version}.jar",
29+
# bom
30+
f"{artifacts_base_path}/bom/{version}/bom-{version}.module",
31+
f"{artifacts_base_path}/bom/{version}/bom-{version}.pom",
32+
]
33+
return artifacts
34+
35+
36+
37+
def check_url(url):
38+
print(f"Checking artifact at: {url}")
39+
r = requests.head(url)
40+
if (r.status_code != 200):
41+
raise Exception(f"Sorry, No artifact found at '{url}' !!!")
42+
43+
def main():
44+
parser = argparse.ArgumentParser(description='Check besu artifacts')
45+
parser.add_argument('--besu_version', action="store", dest='besu_version', default="")
46+
args = parser.parse_args()
47+
print(args.besu_version)
48+
49+
artifacts = create_artifact_paths(args.besu_version)
50+
print(artifacts)
51+
for url in artifacts:
52+
check_url(url)
53+
54+
if __name__ == "__main__":
55+
main()

0 commit comments

Comments
 (0)