Skip to content

Commit 1407ecd

Browse files
authored
Merge branch 'main' into infrastructure-failure-detection
Signed-off-by: Andrew Brandt <andrew.brandt@hashgraph.com>
2 parents 020565a + 8186317 commit 1407ecd

File tree

1,207 files changed

+78262
-16335
lines changed

Some content is hidden

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

1,207 files changed

+78262
-16335
lines changed

.github/workflows/050-user-memory-profile-ctrl.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ jobs:
120120
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
121121
with:
122122
distribution: temurin
123-
java-version: 21.0.6
123+
java-version: 25
124124

125125
- name: Install tools
126126
run: |

.github/workflows/210-flow-merge-queue-controller.yaml

Lines changed: 35 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,29 @@ permissions:
1313
pull-requests: write
1414
statuses: write
1515
checks: write
16-
contents: read
16+
contents: write
1717

1818
jobs:
19+
# Trigger the MATS Tests
20+
trigger-mats-tests:
21+
name: MQ MATS
22+
uses: ./.github/workflows/zxc-mats-tests.yaml
23+
with:
24+
ref: ${{ github.ref }}
25+
enable-snyk-scan: "true" # for Snyk
26+
enable-gradle-determinism: "true"
27+
enable-docker-determinism: "true"
28+
secrets:
29+
access-token: ${{ secrets.GITHUB_TOKEN }}
30+
codacy-project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
31+
codecov-token: ${{ secrets.CODECOV_TOKEN }}
32+
gradle-cache-username: ${{ secrets.GRADLE_CACHE_USERNAME }}
33+
gradle-cache-password: ${{ secrets.GRADLE_CACHE_PASSWORD }}
34+
snyk-token: ${{ secrets.SNYK_TOKEN }}
35+
1936
# Trigger the MQ XTS Tests
2037
trigger-merge-queue-xts-tests:
21-
name: Merge Queue XTS Required Tests
38+
name: MQ XTS
2239
uses: ./.github/workflows/zxc-xts-tests.yaml
2340
with:
2441
ref: ${{ github.ref }}
@@ -50,44 +67,19 @@ jobs:
5067
slack-tck-report-webhook: ${{ secrets.SLACK_TCK_MONITOR_WEBHOOK }}
5168

5269
# Trigger the MQ Performance/Longevity Tests
53-
# trigger-merge-queue-performance-longevity-tests:
54-
# name: Merge Queue Performance/Longevity Tests
55-
# uses: ./.github/workflows/zxc-performance-tests.yaml
56-
# Ensure we use ${{ vars.MQPT_CLUSTER }} to determine which cluster to run the tests on
57-
58-
# Update the variable `MQPT_CLUSTER` in Github
59-
# Options are: Dallas_n10, Dallas_n11, Dallas_n12
60-
# This job will be removed before Merge Queues are required
61-
# This job is ONLY for testing purposes to rapidly iterate and test
62-
update-mqpt-cluster-variable:
63-
name: Update MQPT_CLUSTER Variable
64-
runs-on: hl-cn-default-lin-sm
65-
steps:
66-
- name: Harden Runner
67-
uses: step-security/harden-runner@ec9f2d5744a09debf3a187a3f4f675c53b671911 # v2.13.0
68-
with:
69-
egress-policy: audit
70-
71-
- name: Calculate Next Dallas Cluster Name
72-
run: |
73-
current_cluster="${{ vars.MQPT_CLUSTER }}"
74-
if [[ "${current_cluster}" == "Dallas_n10" ]]; then
75-
next_cluster="Dallas_n11"
76-
elif [[ "${current_cluster}" == "Dallas_n11" ]]; then
77-
next_cluster="Dallas_n12"
78-
elif [[ "${current_cluster}" == "Dallas_n12" ]]; then
79-
next_cluster="Dallas_n10"
80-
else
81-
echo "Error: Invalid cluster name '${current_cluster}'. Expected 'Dallas_n10', 'Dallas_n11', or 'Dallas_n12'."
82-
exit 1
83-
fi
84-
echo "Next cluster: ${next_cluster}"
85-
echo "NEXT_CLUSTER=$next_cluster" >> "${GITHUB_ENV}"
86-
87-
- name: Update MQPT_CLUSTER to input value
88-
uses: mmoyaferrer/set-github-variable@31e0d07964802728d7bf8e09dc45b86ee2c8d5f8 # v1.0.0
89-
with:
90-
name: "MQPT_CLUSTER"
91-
value: "${{ env.NEXT_CLUSTER }}"
92-
repository: ${{ github.repository }}
93-
token: ${{ secrets.GH_ACCESS_TOKEN }}
70+
trigger-merge-queue-performance-tests:
71+
name: MQPT
72+
uses: ./.github/workflows/zxc-merge-queue-performance-test.yaml
73+
with:
74+
test-asset: "${{ vars.MQPT_CLUSTER }}"
75+
ref: "${{ github.ref }}"
76+
solo-version: "${{ vars.CITR_SOLO_VERSION }}"
77+
nlg-accounts: "20000000"
78+
nlg-time: "60"
79+
add-app-props: ""
80+
add-settings: ""
81+
run_NLGDparams: "-Dbenchmark.stepDuration=20m -Dbenchmark.coolDown=3m"
82+
delete-namespace: true
83+
secrets:
84+
slack-report-webhook: ${{ secrets.SLACK_CITR_DETAILED_REPORTS_WEBHOOK }}
85+
rootly-api-token: ${{ secrets.ROOTLY_API_TOKEN }}

.github/workflows/docs/citr-test-config.md

Lines changed: 170 additions & 95 deletions
Large diffs are not rendered by default.

.github/workflows/flow-artifact-determinism.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ on:
1717
description: "Java JDK Version:"
1818
type: string
1919
required: false
20-
default: "21.0.6"
20+
default: "25"
2121

2222
defaults:
2323
run:
@@ -57,7 +57,7 @@ jobs:
5757
with:
5858
ref: ${{ needs.commit-info.outputs.sha }}
5959
java-distribution: ${{ inputs.java-distribution || 'temurin' }}
60-
java-version: ${{ inputs.java-version || '21.0.6' }}
60+
java-version: ${{ inputs.java-version || '25' }}
6161
secrets:
6262
gradle-cache-username: ${{ secrets.GRADLE_CACHE_USERNAME }}
6363
gradle-cache-password: ${{ secrets.GRADLE_CACHE_PASSWORD }}
@@ -70,7 +70,7 @@ jobs:
7070
with:
7171
ref: ${{ needs.commit-info.outputs.sha }}
7272
java-distribution: ${{ inputs.java-distribution || 'temurin' }}
73-
java-version: ${{ inputs.java-version || '21.0.6' }}
73+
java-version: ${{ inputs.java-version || '25' }}
7474
secrets:
7575
github-token: ${{ secrets.GITHUB_TOKEN }}
7676
gradle-cache-username: ${{ secrets.GRADLE_CACHE_USERNAME }}

.github/workflows/flow-dry-run-mats-suite.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,11 +83,16 @@ jobs:
8383
enable-hapi-tests: "${{ inputs.enable-hapi-tests || 'false' }}"
8484
enable-hapi-tests-crypto: "${{ inputs.enable-hapi-tests || 'false' }}"
8585
enable-hapi-tests-token: "${{ inputs.enable-hapi-tests || 'false' }}"
86+
enable-hapi-tests-time-consuming: "${{ inputs.enable-hapi-tests || 'false' }}"
87+
enable-hapi-tests-state-throttling: "${{ inputs.enable-hapi-tests || 'false' }}"
88+
enable-hapi-tests-simplefees: "${{ inputs.enable-hapi-tests || 'false' }}"
89+
enable-hapi-tests-atomic-batch: "${{ inputs.enable-hapi-tests || 'false' }}"
90+
enable-hapi-tests-smart-contract: "${{ inputs.enable-hapi-tests || 'false' }}"
8691
enable-otter-tests: "${{ inputs.enable-otter-tests || 'false' }}"
8792
enable-snyk-scan: "${{ inputs.enable-snyk-scan || 'false' }}"
8893
enable-gradle-determinism: "${{ inputs.enable-gradle-determinism || 'false' }}"
8994
enable-docker-determinism: "${{ inputs.enable-docker-determinism || 'false' }}"
90-
java-version: "21.0.6"
95+
java-version: "25"
9196
java-distribution: "temurin"
9297
custom-job-label: "${{ inputs.custom-job-label || 'MATS (dry-run):' }}"
9398
secrets:

.github/workflows/flow-increment-next-main-release.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
4343
with:
4444
distribution: "temurin"
45-
java-version: "21.0.4"
45+
java-version: "25"
4646

4747
- name: Setup Gradle
4848
uses: gradle/actions/setup-gradle@4d9f0ba0025fe599b4ebab900eb7f3a1d93ef4c2 # v5.0.0

.github/workflows/node-flow-build-application.yaml

Lines changed: 35 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,19 @@ jobs:
2828
enable-dependency-check: "true"
2929
enable-unit-tests: "true"
3030
enable-integration-tests: "true"
31+
# general hapi tests include misc, misc records, iss, smart contract, restart, nd reconnect, atomic batch
3132
enable-hapi-tests: "true"
3233
enable-hapi-tests-crypto: "true"
3334
enable-hapi-tests-token: "true"
35+
enable-hapi-tests-time-consuming: "true"
36+
enable-hapi-tests-state-throttling: "true"
37+
enable-hapi-tests-simplefees: "true"
38+
enable-hapi-tests-smart-contract: "true"
3439
enable-otter-tests: "true"
3540
enable-snyk-scan: "true"
3641
enable-gradle-determinism: "true"
3742
enable-docker-determinism: "true"
38-
java-version: "21.0.6"
43+
java-version: "25"
3944
java-distribution: "temurin"
4045
custom-job-label: "MATS (main):"
4146
secrets:
@@ -58,12 +63,30 @@ jobs:
5863
with:
5964
egress-policy: audit
6065

66+
- name: Checkout Code
67+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
68+
with:
69+
fetch-depth: "0"
70+
71+
- name: Resolve Workflow Reference
72+
id: resolve-ref
73+
run: |
74+
RESOLVED_REF=${{ github.ref_name }}
75+
76+
if ! git ls-remote --exit-code origin "${RESOLVED_REF}" &>/dev/null; then
77+
echo "::warning::Reference ${RESOLVED_REF} not found in remote. Defaulting to 'main'."
78+
RESOLVED_REF="main"
79+
fi
80+
81+
echo "Using workflow reference: ${RESOLVED_REF}"
82+
echo "workflow-ref=${RESOLVED_REF}" >> "${GITHUB_OUTPUT}"
83+
6184
- name: Trigger ZXF Deploy Production Release
6285
uses: step-security/workflow-dispatch@b4c1dc0afa074d0b4f0e653d3b80d4b2798599aa # v1.2.7
6386
with:
6487
workflow: .github/workflows/node-flow-deploy-release-artifact.yaml
6588
repo: hiero-ledger/hiero-consensus-node # ensure we are executing in the hiero-ledger org
66-
ref: main # ensure we are always using the workflow definition from the main branch
89+
ref: ${{ steps.resolve-ref.outputs.workflow-ref }} # ensure we are always using the correct workflow definition. Default to main.
6790
token: ${{ secrets.GH_ACCESS_TOKEN }}
6891
inputs: '{
6992
"ref": "${{ github.sha }}",
@@ -435,10 +458,10 @@ jobs:
435458
SLACKEOF
436459
437460
# Notification routing:
438-
# test failures -> citr-operations (detailed) + release-team (detailed)
439-
# infrastructure -> citr-failures (detailed) + release-team (summary) + citr-operations (summary)
440-
# canceled -> release-team (summary) + citr-operations (summary) + citr-failures (summary)
441-
- name: Notify test failure (citr-operations)
461+
# test failures -> citr-operations (detailed)
462+
# infrastructure -> citr-operations (summary) + citr-failures (detailed)
463+
# canceled -> citr-operations (summary) + citr-failures (summary)
464+
- name: Notify test failure detailed (citr-operations)
442465
if: ${{ steps.report-category.outputs.category == 'test' }}
443466
uses: slackapi/slack-github-action@b0fa283ad8fea605de13dc3f449259339835fc52 # v2.1.0
444467
with:
@@ -447,23 +470,23 @@ jobs:
447470
payload-templated: true
448471
payload-file-path: slack_payload.json
449472
450-
- name: Notify infrastructure failure (citr-failures)
473+
- name: Notify infrastructure failure summary (citr-operations)
451474
if: ${{ steps.report-category.outputs.category == 'infrastructure' }}
452475
uses: slackapi/slack-github-action@b0fa283ad8fea605de13dc3f449259339835fc52 # v2.1.0
453476
with:
454-
webhook: ${{ secrets.SLACK_CITR_FAILURES_WEBHOOK }}
477+
webhook: ${{ secrets.SLACK_CITR_OPERATIONS_WEBHOOK }}
455478
webhook-type: incoming-webhook
456479
payload-templated: true
457-
payload-file-path: slack_payload.json
480+
payload-file-path: slack_payload_summary.json
458481
459-
- name: Notify infrastructure failure summary (citr-operations)
482+
- name: Notify infrastructure failure detailed (citr-failures)
460483
if: ${{ steps.report-category.outputs.category == 'infrastructure' }}
461484
uses: slackapi/slack-github-action@b0fa283ad8fea605de13dc3f449259339835fc52 # v2.1.0
462485
with:
463-
webhook: ${{ secrets.SLACK_CITR_OPERATIONS_WEBHOOK }}
486+
webhook: ${{ secrets.SLACK_CITR_FAILURES_WEBHOOK }}
464487
webhook-type: incoming-webhook
465488
payload-templated: true
466-
payload-file-path: slack_payload_summary.json
489+
payload-file-path: slack_payload.json
467490
468491
- name: Notify cancelled summary (citr-operations)
469492
if: ${{ steps.report-category.outputs.category == 'cancelled' }}

.github/workflows/node-flow-deploy-adhoc-artifact.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ on:
1818
description: "Java JDK Version:"
1919
type: string
2020
required: false
21-
default: "21.0.6"
21+
default: "25"
2222
java-distribution:
2323
description: "Java JDK Distribution:"
2424
type: string
@@ -44,7 +44,7 @@ jobs:
4444
trigger-env-deploy: none
4545
release-profile: AdhocCommit
4646
dry-run-enabled: ${{ github.event.inputs.dry-run-enabled == 'true' }}
47-
java-version: ${{ github.event.inputs.java-version || '21.0.6' }}
47+
java-version: ${{ github.event.inputs.java-version || '25' }}
4848
java-distribution: ${{ github.event.inputs.java-distribution || 'temurin' }}
4949
gradle-version: ${{ github.event.inputs.gradle-version || 'wrapper' }}
5050
ref: ${{ github.event.inputs.ref }}
@@ -62,7 +62,7 @@ jobs:
6262
sdk-ossrh-password: ${{ secrets.PLATFORM_OSSRH_PASSWORD }}
6363
sdk-gpg-key-contents: ${{ secrets.PLATFORM_GPG_KEY_CONTENTS }}
6464
sdk-gpg-key-passphrase: ${{ secrets.PLATFORM_GPG_KEY_PASSPHRASE }}
65-
slack-webhook-url: ${{ secrets.PLATFORM_SLACK_RELEASE_WEBHOOK }}
65+
slack-webhook-url: ${{ secrets.SLACK_CITR_BUILD_PROMOTION_WEBHOOK }}
6666
jf-url: ${{ vars.JF_URL }}
6767
jf-docker-registry: ${{ vars.JF_DOCKER_REGISTRY }}
6868
jf-user-name: ${{ vars.JF_USER_NAME }}

.github/workflows/node-flow-deploy-release-artifact.yaml

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ jobs:
9191
sdk-ossrh-password: ${{ secrets.PLATFORM_OSSRH_PASSWORD }}
9292
sdk-gpg-key-contents: ${{ secrets.PLATFORM_GPG_KEY_CONTENTS }}
9393
sdk-gpg-key-passphrase: ${{ secrets.PLATFORM_GPG_KEY_PASSPHRASE }}
94-
slack-webhook-url: ${{ secrets.PLATFORM_SLACK_RELEASE_WEBHOOK }}
94+
slack-webhook-url: ${{ secrets.SLACK_CITR_BUILD_PROMOTION_WEBHOOK }}
9595
jf-url: ${{ vars.JF_URL }}
9696
jf-docker-registry: ${{ vars.JF_DOCKER_REGISTRY }}
9797
jf-user-name: ${{ vars.JF_USER_NAME }}
@@ -177,7 +177,7 @@ jobs:
177177
sdk-ossrh-password: ${{ secrets.PLATFORM_OSSRH_PASSWORD }}
178178
sdk-gpg-key-contents: ${{ secrets.PLATFORM_GPG_KEY_CONTENTS }}
179179
sdk-gpg-key-passphrase: ${{ secrets.PLATFORM_GPG_KEY_PASSPHRASE }}
180-
slack-webhook-url: ${{ secrets.PLATFORM_SLACK_RELEASE_WEBHOOK }}
180+
slack-webhook-url: ${{ secrets.SLACK_CITR_BUILD_PROMOTION_WEBHOOK }}
181181
jf-url: ${{ vars.JF_URL }}
182182
jf-docker-registry: ${{ vars.JF_DOCKER_REGISTRY }}
183183
jf-user-name: ${{ vars.JF_USER_NAME }}
@@ -489,11 +489,3 @@ jobs:
489489
webhook-type: incoming-webhook
490490
payload-templated: true
491491
payload-file-path: slack_payload.json
492-
493-
- name: Report failure (slack release-team)
494-
uses: slackapi/slack-github-action@b0fa283ad8fea605de13dc3f449259339835fc52 # v2.1.0
495-
with:
496-
webhook: ${{ secrets.SLACK_RELEASE_TEAM_WEBHOOK }}
497-
webhook-type: incoming-webhook
498-
payload-templated: true
499-
payload-file-path: slack_payload.json

0 commit comments

Comments
 (0)