Skip to content

Commit

Permalink
Merge branch 'main' of github.com:hashgraph/hedera-services into 1679…
Browse files Browse the repository at this point in the history
…0-enhance-consistency-testing-tool

# Conflicts:
#	platform-sdk/swirlds-platform-core/src/main/java/com/swirlds/platform/system/SwirldMain.java
  • Loading branch information
mustafauzunn committed Jan 6, 2025
2 parents 7a1f1aa + f3ec5d1 commit 9da0556
Show file tree
Hide file tree
Showing 230 changed files with 5,664 additions and 3,909 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/config/node-release.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
release:
branching:
execution:
time: "18:00:00"
time: "20:00:00"
schedule:
- on: "2024-12-13"
- on: "2024-12-20"
name: release/0.58
initial-tag:
create: true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/flow-artifact-determinism.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ on:
default: "21.0.4"
push:
branches:
- develop
- main
- 'release/**'
tags:
- 'v*.*.*'
Expand Down
3 changes: 1 addition & 2 deletions .github/workflows/node-flow-build-application.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@ on:
default: "temurin"
push:
branches:
- develop
- main
- 'release/*'

Expand Down Expand Up @@ -124,7 +123,7 @@ jobs:
with:
workflow: .github/workflows/node-flow-deploy-release-artifact.yaml
repo: hashgraph/hedera-services # ensure we are executing in the hashgraph org
ref: develop # ensure we are always using the workflow definition from the develop branch
ref: main # ensure we are always using the workflow definition from the main branch
token: ${{ secrets.GH_ACCESS_TOKEN }}
inputs: '{
"ref": "${{ steps.workflow-inputs.outputs.input-ref }}",
Expand Down
41 changes: 35 additions & 6 deletions .github/workflows/node-flow-deploy-release-artifact.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,11 @@ defaults:
run:
shell: bash

permissions:
id-token: write
contents: read
actions: read

jobs:
prepare-tag-release:
name: Prepare Release [Tag]
Expand Down Expand Up @@ -150,28 +155,52 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: '0'
ref: develop
ref: main
token: ${{ secrets.GH_ACCESS_TOKEN }}

- name: Trigger ZXF Prepare Extended Test Suite
- name: Check Prep XTS Job State
id: check-xts-job
if: ${{ needs.release-branch.result == 'success' }}
env:
GH_TOKEN: ${{ github.token }}
run: |
JOB_ENABLED="true"
JOB_STATE=$(gh workflow list --all --json name,state | jq -r '.[]|select(.name=="ZXF: Prepare Extended Test Suite")|.state')
[[ "${JOB_STATE}" == "disabled_manually" ]] && JOB_ENABLED="false"
echo "enabled=${JOB_ENABLED}" >> $GITHUB_OUTPUT
- name: Trigger ZXF Prepare Extended Test Suite
if: ${{ needs.release-branch.result == 'success' && steps.check-xts-job.outputs.enabled == 'true' }}
uses: step-security/workflow-dispatch@4d1049025980f72b1327cbfdeecb07fe7a20f577 # v1.2.4
with:
workflow: .github/workflows/zxf-prepare-extended-test-suite.yaml
repo: hashgraph/hedera-services # ensure we are executing in the hashgraph org
ref: develop # ensure we are always using the workflow definition from the develop branch
ref: main # ensure we are always using the workflow definition from the main branch
token: ${{ secrets.GH_ACCESS_TOKEN }}
inputs: '{ "ref": "${{ inputs.ref }}" }'

- name: Trigger ZXF Deploy Integration
- name: Check Integration Job State
id: check-integration-job
if: ${{ needs.release-branch.result == 'success' &&
(inputs.author != '' && inputs.msg != '' && inputs.sha != '') &&
!cancelled() }}
env:
GH_TOKEN: ${{ github.token }}
run: |
JOB_ENABLED="true"
JOB_STATE=$(gh workflow list --all --json name,state | jq -r '.[]|select(.name=="ZXF: [Node] Deploy Integration Network Release")|.state')
[[ "${JOB_STATE}" == "disabled_manually" ]] && JOB_ENABLED="false"
echo "enabled=${JOB_ENABLED}" >> $GITHUB_OUTPUT
- name: Trigger ZXF Deploy Integration
if: ${{ needs.release-branch.result == 'success' && steps.check-integration-job.outputs.enabled == 'true' &&
(inputs.author != '' && inputs.msg != '' && inputs.sha != '') &&
!cancelled() }}
uses: step-security/workflow-dispatch@4d1049025980f72b1327cbfdeecb07fe7a20f577 # v1.2.4
with:
workflow: .github/workflows/node-zxf-deploy-integration.yaml
repo: hashgraph/hedera-services # ensure we are executing in the hashgraph org
ref: develop # ensure we are always using the workflow definition from the develop branch
ref: main # ensure we are always using the workflow definition from the main branch
token: ${{ secrets.GH_ACCESS_TOKEN }}
inputs: '{
"ref": "${{ inputs.ref }}",
Expand All @@ -195,7 +224,7 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
token: ${{ secrets.GH_ACCESS_TOKEN }}
ref: develop
ref: main
fetch-depth: '0'

- name: Checkout Hedera Protobufs Code
Expand Down
33 changes: 24 additions & 9 deletions .github/workflows/node-zxc-build-release-artifact.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,19 @@
# SPDX-License-Identifier: Apache-2.0
##
# Copyright (C) 2024 Hedera Hashgraph, LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
##

name: "ZXC: [Node] Deploy Release Artifacts"
on:
workflow_call:
Expand Down Expand Up @@ -164,13 +179,13 @@ jobs:
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Setup Java
uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0
uses: actions/setup-java@7a6d8a8234af8eb26422e24e3006232cccaa061b # v4.6.0
with:
distribution: ${{ inputs.java-distribution }}
java-version: ${{ inputs.java-version }}

- name: Setup Gradle
uses: gradle/actions/setup-gradle@cc4fc85e6b35bafd578d5ffbc76a5518407e1af0 # v4.2.1
uses: gradle/actions/setup-gradle@0bdd871935719febd78681f197cd39af5b6e16a6 # v4.2.2
with:
gradle-version: ${{ inputs.gradle-version }}

Expand Down Expand Up @@ -269,13 +284,13 @@ jobs:
if: ${{ inputs.dry-run-enabled != true && !cancelled() && !failure() }}

- name: Setup Java
uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0
uses: actions/setup-java@7a6d8a8234af8eb26422e24e3006232cccaa061b # v4.6.0
with:
distribution: ${{ inputs.java-distribution }}
java-version: ${{ inputs.java-version }}

- name: Setup Gradle
uses: gradle/actions/setup-gradle@cc4fc85e6b35bafd578d5ffbc76a5518407e1af0 # v4.2.1
uses: gradle/actions/setup-gradle@0bdd871935719febd78681f197cd39af5b6e16a6 # v4.2.2
with:
gradle-version: ${{ inputs.gradle-version }}

Expand Down Expand Up @@ -560,7 +575,7 @@ jobs:
service_account: "[email protected]"

- name: Setup JFrog CLI
uses: jfrog/setup-jfrog-cli@dff217c085c17666e8849ebdbf29c8fe5e3995e6 # v4.5.2
uses: jfrog/setup-jfrog-cli@f0a84f35b0e0bd21838c5fb3e6788072d6540d13 # v4.5.5
env:
JF_URL: ${{ secrets.jf-url }}
JF_ACCESS_TOKEN: ${{ secrets.jf-access-token }}
Expand Down Expand Up @@ -643,7 +658,7 @@ jobs:
fi
- name: Upload Manifests
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
if: ${{ (steps.gcp.outcome == 'success' || steps.jfrog.outcome == 'success') && !cancelled() && always() }}
with:
name: Production Image Manifests
Expand Down Expand Up @@ -699,13 +714,13 @@ jobs:
if: ${{ inputs.dry-run-enabled != true && !cancelled() && !failure() }}

- name: Setup Java
uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0
uses: actions/setup-java@7a6d8a8234af8eb26422e24e3006232cccaa061b # v4.6.0
with:
distribution: ${{ inputs.java-distribution }}
java-version: ${{ inputs.java-version }}

- name: Setup Gradle
uses: gradle/actions/setup-gradle@cc4fc85e6b35bafd578d5ffbc76a5518407e1af0 # v4.2.1
uses: gradle/actions/setup-gradle@0bdd871935719febd78681f197cd39af5b6e16a6 # v4.2.2
with:
gradle-version: ${{ inputs.gradle-version }}

Expand Down
42 changes: 21 additions & 21 deletions .github/workflows/node-zxc-compile-application-code.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -176,13 +176,13 @@ jobs:
run: git fetch --unshallow --no-recurse-submodules

- name: Setup Java
uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0
uses: actions/setup-java@7a6d8a8234af8eb26422e24e3006232cccaa061b # v4.6.0
with:
distribution: ${{ inputs.java-distribution }}
java-version: ${{ inputs.java-version }}

- name: Setup Gradle
uses: gradle/actions/setup-gradle@cc4fc85e6b35bafd578d5ffbc76a5518407e1af0 # v4.2.1
uses: gradle/actions/setup-gradle@0bdd871935719febd78681f197cd39af5b6e16a6 # v4.2.2
with:
cache-read-only: false

Expand Down Expand Up @@ -219,7 +219,7 @@ jobs:
comment_mode: errors # only comment if we could not find or parse the JUnit XML files

- name: Upload Unit Test Report Artifacts
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
if: ${{ inputs.enable-unit-tests && steps.gradle-build.conclusion == 'success' && !cancelled() }}
with:
name: Unit Test Report
Expand All @@ -241,7 +241,7 @@ jobs:
comment_mode: errors # only comment if we could not find or parse the JUnit XML files

- name: Upload Unit Test (Timing Sensitive) Report Artifacts
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
if: ${{ inputs.enable-timing-sensitive-tests && steps.gradle-build.conclusion == 'success' && !cancelled() }}
with:
name: Unit Test Report (Timing Sensitive)
Expand All @@ -263,7 +263,7 @@ jobs:
comment_mode: errors # only comment if we could not find or parse the JUnit XML files

- name: Upload Unit Test (Time Consuming) Report Artifacts
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
if: ${{ inputs.enable-time-consuming-tests && steps.gradle-build.conclusion == 'success' && !cancelled() }}
with:
name: Unit Test Report (Time Consuming)
Expand All @@ -285,7 +285,7 @@ jobs:
comment_mode: errors # only comment if we could not find or parse the JUnit XML files

- name: Upload Hammer Test Report Artifacts
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
if: ${{ inputs.enable-hammer-tests && steps.gradle-build.conclusion == 'success' && !cancelled() }}
with:
name: Hammer Test Report
Expand All @@ -311,15 +311,15 @@ jobs:
comment_mode: errors # only comment if we could not find or parse the JUnit XML files

- name: Upload HAPI Test (Misc) Report Artifacts
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
if: ${{ inputs.enable-hapi-tests-misc && steps.gradle-build.conclusion == 'success' && !cancelled() }}
with:
name: HAPI Test (Misc) Reports
path: "**/test-clients/build/test-results/**/TEST-*.xml"
retention-days: 7

- name: Upload HAPI Test (Misc) Network Logs
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
if: ${{ inputs.enable-hapi-tests-misc && inputs.enable-network-log-capture && steps.gradle-hapi-misc.conclusion == 'failure' && !cancelled() }}
with:
name: HAPI Test (Misc) Network Logs
Expand All @@ -345,15 +345,15 @@ jobs:
comment_mode: errors # only comment if we could not find or parse the JUnit XML files

- name: Upload HAPI Test (Crypto) Report Artifacts
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
if: ${{ inputs.enable-hapi-tests-crypto && steps.gradle-build.conclusion == 'success' && !cancelled() }}
with:
name: HAPI Test (Crypto) Report
path: "**/test-clients/build/test-results/testSubprocess/TEST-*.xml"
retention-days: 7

- name: Upload HAPI Test (crypto) Network Logs
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
if: ${{ inputs.enable-hapi-tests-crypto && inputs.enable-network-log-capture && steps.gradle-hapi-crypto.conclusion == 'failure' && !cancelled() }}
with:
name: HAPI Test (Crypto) Network Logs
Expand All @@ -379,15 +379,15 @@ jobs:
comment_mode: errors # only comment if we could not find or parse the JUnit XML files

- name: Upload HAPI Test (Token) Report Artifacts
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
if: ${{ inputs.enable-hapi-tests-token && steps.gradle-build.conclusion == 'success' && !cancelled() }}
with:
name: HAPI Test (Token) Report
path: "**/test-clients/build/test-results/testSubprocess/TEST-*.xml"
retention-days: 7

- name: Upload HAPI Test (Token) Network Logs
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
if: ${{ inputs.enable-hapi-tests-token && inputs.enable-network-log-capture && steps.gradle-hapi-token.conclusion == 'failure' && !cancelled() }}
with:
name: HAPI Test (Token) Network Logs
Expand All @@ -413,15 +413,15 @@ jobs:
comment_mode: errors # only comment if we could not find or parse the JUnit XML files

- name: Upload HAPI Test (Smart Contract) Report Artifacts
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
if: ${{ inputs.enable-hapi-tests-smart-contract && steps.gradle-build.conclusion == 'success' && !cancelled() }}
with:
name: HAPI Test (Smart Contract) Report
path: "**/test-clients/build/test-results/testSubprocess/TEST-*.xml"
retention-days: 7

- name: Upload HAPI Test (Smart Contract) Network Logs
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
if: ${{ inputs.enable-hapi-tests-smart-contract && inputs.enable-network-log-capture && steps.gradle-hapi-smart-contract.conclusion == 'failure' && !cancelled() }}
with:
name: HAPI Test (Smart Contract) Network Logs
Expand All @@ -447,15 +447,15 @@ jobs:
comment_mode: errors # only comment if we could not find or parse the JUnit XML files

- name: Upload HAPI Test (Time Consuming) Report Artifacts
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
if: ${{ inputs.enable-hapi-tests-time-consuming && steps.gradle-build.conclusion == 'success' && !cancelled() }}
with:
name: HAPI Test (Time Consuming) Report
path: "**/test-clients/build/test-results/testSubprocess/TEST-*.xml"
retention-days: 7

- name: Upload HAPI Test (Time Consuming) Network Logs
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
if: ${{ inputs.enable-hapi-tests-time-consuming && inputs.enable-network-log-capture && steps.gradle-hapi-time-consuming.conclusion == 'failure' && !cancelled() }}
with:
name: HAPI Test (Time Consuming) Network Logs
Expand All @@ -481,15 +481,15 @@ jobs:
comment_mode: errors # only comment if we could not find or parse the JUnit XML files

- name: Upload HAPI Test (Restart) Report Artifacts
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
if: ${{ inputs.enable-hapi-tests-restart && steps.gradle-build.conclusion == 'success' && !cancelled() }}
with:
name: HAPI Test (Restart) Report
path: "**/test-clients/build/test-results/testSubprocess/TEST-*.xml"
retention-days: 7

- name: Upload HAPI Test (Restart) Network Logs
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
if: ${{ inputs.enable-hapi-tests-restart && inputs.enable-network-log-capture && steps.gradle-hapi-restart.conclusion == 'failure' && !cancelled() }}
with:
name: HAPI Test (Restart) Network Logs
Expand All @@ -516,15 +516,15 @@ jobs:
comment_mode: errors # only comment if we could not find or parse the JUnit XML files

- name: Upload HAPI Test (Node Death Reconnect) Report Artifacts
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
if: ${{ inputs.enable-hapi-tests-nd-reconnect && steps.gradle-build.conclusion == 'failure' && !cancelled() }}
with:
name: HAPI Test (Node Death Reconnect) Report
path: "**/test-clients/build/test-results/testSubprocess/TEST-*.xml"
retention-days: 7

- name: Upload HAPI Test (Node Death Reconnect) Network Logs
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
if: ${{ inputs.enable-hapi-tests-nd-reconnect && inputs.enable-network-log-capture && steps.gradle-hapi-nd-reconnect.conclusion == 'failure' && !cancelled() }}
with:
name: HAPI Test (Node Death Reconnect) Network Logs
Expand All @@ -547,7 +547,7 @@ jobs:
run: bash <(curl -Ls https://coverage.codacy.com/get.sh) report -l Java -r gradle/aggregation/build/reports/jacoco/testCodeCoverageReport/testCodeCoverageReport.xml

- name: Upload Test Reports
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0
if: ${{ inputs.enable-unit-tests && !cancelled() }}
with:
name: Test Reports
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
# limitations under the License.
##

name: "ZXCron: [Node] Develop JRS Tests"
name: "ZXCron: [Node] Main JRS Tests"
on:
workflow_dispatch:

Expand Down
Loading

0 comments on commit 9da0556

Please sign in to comment.