diff --git a/.github/workflows/flow-artifact-determinism.yaml b/.github/workflows/flow-artifact-determinism.yaml index f4ef8f8a580..a67316fb04a 100644 --- a/.github/workflows/flow-artifact-determinism.yaml +++ b/.github/workflows/flow-artifact-determinism.yaml @@ -32,7 +32,7 @@ on: description: "Java JDK Version:" type: string required: false - default: "21.0.1" + default: "21" push: branches: - develop @@ -55,7 +55,7 @@ jobs: with: ref: ${{ github.event.inputs.ref || '' }} java-distribution: ${{ inputs.java-distribution || 'temurin' }} - java-version: ${{ inputs.java-version || '21.0.1' }} + java-version: ${{ inputs.java-version || '21' }} secrets: gradle-cache-username: ${{ secrets.GRADLE_CACHE_USERNAME }} gradle-cache-password: ${{ secrets.GRADLE_CACHE_PASSWORD }} @@ -66,7 +66,7 @@ jobs: with: ref: ${{ github.event.inputs.ref || '' }} java-distribution: ${{ inputs.java-distribution || 'temurin' }} - java-version: ${{ inputs.java-version || '21.0.1' }} + java-version: ${{ inputs.java-version || '21' }} secrets: gradle-cache-username: ${{ secrets.GRADLE_CACHE_USERNAME }} gradle-cache-password: ${{ secrets.GRADLE_CACHE_PASSWORD }} diff --git a/.github/workflows/flow-node-performance-tests.yaml b/.github/workflows/flow-node-performance-tests.yaml index 226f546e711..27176b036f4 100644 --- a/.github/workflows/flow-node-performance-tests.yaml +++ b/.github/workflows/flow-node-performance-tests.yaml @@ -45,7 +45,7 @@ permissions: jobs: canonical-test: name: Canonical (10 hour) - runs-on: [self-hosted, Linux, medium, ephemeral] + runs-on: network-node-linux-medium steps: - name: Checkout Code uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 diff --git a/.github/workflows/flow-pull-request-formatting.yaml b/.github/workflows/flow-pull-request-formatting.yaml index d24dd473e67..9bb55f8caf9 100644 --- a/.github/workflows/flow-pull-request-formatting.yaml +++ b/.github/workflows/flow-pull-request-formatting.yaml @@ -43,7 +43,7 @@ permissions: jobs: title-check: name: Title Check - runs-on: [self-hosted, Linux, medium, ephemeral] + runs-on: network-node-linux-medium steps: - name: Check PR Title uses: step-security/conventional-pr-title-action@0eae74515f5a79f8773fa04142dd746df76666ac # v1.0.0 @@ -52,7 +52,7 @@ jobs: milestone-check: name: Milestone Check - runs-on: [self-hosted, Linux, medium, ephemeral] + runs-on: network-node-linux-medium steps: - name: Check Milestone if: ${{ github.event.pull_request.milestone == null }} @@ -62,7 +62,7 @@ jobs: assignee-check: name: Assignee Check - runs-on: [ self-hosted, Linux, medium, ephemeral ] + runs-on: network-node-linux-medium steps: - name: Check Assignee diff --git a/.github/workflows/node-flow-build-application.yaml b/.github/workflows/node-flow-build-application.yaml index 01a3b54f4c1..6c31d00d84e 100644 --- a/.github/workflows/node-flow-build-application.yaml +++ b/.github/workflows/node-flow-build-application.yaml @@ -52,7 +52,7 @@ on: description: "Java JDK Version:" type: string required: false - default: "21.0.1" + default: "21" java-distribution: description: "Java JDK Distribution:" type: string @@ -73,7 +73,7 @@ jobs: name: Code uses: ./.github/workflows/node-zxc-compile-application-code.yaml with: - java-version: ${{ github.event.inputs.java-version || '21.0.1' }} + java-version: ${{ github.event.inputs.java-version || '21' }} java-distribution: ${{ github.event.inputs.java-distribution || 'temurin' }} enable-unit-tests: ${{ github.event_name == 'push' || github.event.inputs.enable-unit-tests == 'true' }} enable-integration-tests: ${{ github.event.inputs.enable-integration-tests == 'true' }} diff --git a/.github/workflows/node-flow-deploy-adhoc-artifact.yaml b/.github/workflows/node-flow-deploy-adhoc-artifact.yaml index 2160fee3da9..2ff197d2a55 100644 --- a/.github/workflows/node-flow-deploy-adhoc-artifact.yaml +++ b/.github/workflows/node-flow-deploy-adhoc-artifact.yaml @@ -27,7 +27,7 @@ on: description: "Java JDK Version:" type: string required: false - default: "21.0.1" + default: "21" java-distribution: description: "Java JDK Distribution:" type: string @@ -53,7 +53,7 @@ jobs: trigger-env-deploy: none release-profile: AdhocCommit dry-run-enabled: ${{ github.event.inputs.dry-run-enabled == 'true' }} - java-version: ${{ github.event.inputs.java-version || '21.0.1' }} + java-version: ${{ github.event.inputs.java-version || '21' }} java-distribution: ${{ github.event.inputs.java-distribution || 'temurin' }} gradle-version: ${{ github.event.inputs.gradle-version || 'wrapper' }} diff --git a/.github/workflows/node-flow-deploy-preview.yaml b/.github/workflows/node-flow-deploy-preview.yaml index ecb843c0978..fe10d3bebd4 100644 --- a/.github/workflows/node-flow-deploy-preview.yaml +++ b/.github/workflows/node-flow-deploy-preview.yaml @@ -35,7 +35,7 @@ defaults: jobs: prepare-deploy-preview: name: Prepare for Deploy - runs-on: [self-hosted, Linux, medium, ephemeral] + runs-on: network-node-linux-medium outputs: version: ${{ steps.tag.outputs.version }} prerelease: ${{ steps.tag.outputs.prerelease }} diff --git a/.github/workflows/node-flow-deploy-release-artifact.yaml b/.github/workflows/node-flow-deploy-release-artifact.yaml index 0ed97fba36c..72fbb8f9f16 100644 --- a/.github/workflows/node-flow-deploy-release-artifact.yaml +++ b/.github/workflows/node-flow-deploy-release-artifact.yaml @@ -29,7 +29,7 @@ defaults: jobs: prepare-tag-release: name: Prepare Release [Tag] - runs-on: [self-hosted, Linux, medium, ephemeral] + runs-on: network-node-linux-medium if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') }} outputs: version: ${{ steps.tag.outputs.version }} diff --git a/.github/workflows/node-flow-fsts-custom-regression.yaml b/.github/workflows/node-flow-fsts-custom-regression.yaml index 8f002489174..415cf26c1ad 100644 --- a/.github/workflows/node-flow-fsts-custom-regression.yaml +++ b/.github/workflows/node-flow-fsts-custom-regression.yaml @@ -37,7 +37,7 @@ on: description: "Java JDK Version:" type: string required: false - default: "21.0.1" + default: "21" java-distribution: description: "Java JDK Distribution:" type: string @@ -67,7 +67,7 @@ jobs: branch-name: ${{ github.ref_name }} slack-results-channel: ${{ github.event.inputs.slack-results-channel }} slack-summary-channel: ${{ github.event.inputs.slack-summary-channel }} - java-version: ${{ github.event.inputs.java-version || '21.0.1' }} + java-version: ${{ github.event.inputs.java-version || '21' }} java-distribution: ${{ github.event.inputs.java-distribution || 'temurin' }} gradle-version: ${{ github.event.inputs.gradle-version || 'wrapper' }} use-branch-for-slack-channel: false diff --git a/.github/workflows/node-flow-pull-request-checks.yaml b/.github/workflows/node-flow-pull-request-checks.yaml index 18bf62659b5..0ac07575d09 100644 --- a/.github/workflows/node-flow-pull-request-checks.yaml +++ b/.github/workflows/node-flow-pull-request-checks.yaml @@ -276,7 +276,7 @@ jobs: with: ref: ${{ github.event.inputs.ref || '' }} java-distribution: temurin - java-version: 21.0.1 + java-version: 21 secrets: gradle-cache-username: ${{ secrets.GRADLE_CACHE_USERNAME }} gradle-cache-password: ${{ secrets.GRADLE_CACHE_PASSWORD }} @@ -291,7 +291,7 @@ jobs: with: ref: ${{ github.event.inputs.ref || '' }} java-distribution: temurin - java-version: 21.0.1 + java-version: 21 secrets: gradle-cache-username: ${{ secrets.GRADLE_CACHE_USERNAME }} gradle-cache-password: ${{ secrets.GRADLE_CACHE_PASSWORD }} diff --git a/.github/workflows/node-zxc-build-release-artifact.yaml b/.github/workflows/node-zxc-build-release-artifact.yaml index c395217df4a..aa4f58efea6 100644 --- a/.github/workflows/node-zxc-build-release-artifact.yaml +++ b/.github/workflows/node-zxc-build-release-artifact.yaml @@ -59,7 +59,7 @@ on: description: "Java JDK Version:" type: string required: false - default: "21.0.1" + default: "21" gradle-version: description: "Gradle Version:" type: string @@ -119,7 +119,7 @@ permissions: jobs: validate: name: Validate - runs-on: [ self-hosted, Linux, large, ephemeral ] + runs-on: network-node-linux-large outputs: branch-name: ${{ steps.parameters.outputs.branch-name }} branch-name-lower: ${{ steps.parameters.outputs.branch-name-lower }} @@ -222,7 +222,7 @@ jobs: build-artifact: name: Build Artifact - runs-on: [self-hosted, Linux, large, ephemeral] + runs-on: network-node-linux-large needs: - validate steps: @@ -415,7 +415,7 @@ jobs: local-node-images: name: Publish Local Node Images - runs-on: [ self-hosted, Linux, large, ephemeral ] + runs-on: network-node-linux-large needs: - validate - build-artifact @@ -454,9 +454,11 @@ jobs: - name: Setup Docker Buildx Support uses: docker/setup-buildx-action@4fd812986e6c8c2a69e18311145f9371337f27d4 # v3.4.0 with: - version: v0.15.1 + version: v0.16.2 driver-opts: network=host - buildkitd-config: /etc/docker/buildkitd.toml + buildkitd-config-inline: | + [registry."docker.io"] + mirrors = ["https://hub.mirror.docker.lat.ope.eng.hashgraph.io"] - name: Setup Local Docker Registry if: ${{ inputs.dry-run-enabled == true && !cancelled() && !failure() }} @@ -582,7 +584,7 @@ jobs: validate-production-image: name: Validate Production Image - runs-on: [ self-hosted, Linux, large, ephemeral ] + runs-on: network-node-linux-large needs: - gcp-production-image - jfr-production-image @@ -691,7 +693,7 @@ jobs: publish: name: Publish to ${{ inputs.version-policy == 'specified' && 'Maven Central' || 'GCP Registry' }} - runs-on: [ self-hosted, Linux, large, ephemeral ] + runs-on: network-node-linux-large needs: - validate if: ${{ inputs.release-profile != 'none' }} @@ -865,7 +867,7 @@ jobs: send-notifications: name: Send Release Notifications - runs-on: [ self-hosted, Linux, large, ephemeral ] + runs-on: network-node-linux-large needs: - validate - local-node-images diff --git a/.github/workflows/node-zxc-compile-application-code.yaml b/.github/workflows/node-zxc-compile-application-code.yaml index 3d47074af87..48f6464fc45 100644 --- a/.github/workflows/node-zxc-compile-application-code.yaml +++ b/.github/workflows/node-zxc-compile-application-code.yaml @@ -87,12 +87,12 @@ on: description: "Java JDK Version:" type: string required: false - default: "21.0.1" + default: "21" node-version: description: "NodeJS Version:" type: string required: false - default: "16" + default: "20" custom-job-label: description: "Custom Job Label:" type: string @@ -134,13 +134,15 @@ permissions: env: GRADLE_CACHE_USERNAME: ${{ secrets.gradle-cache-username }} GRADLE_CACHE_PASSWORD: ${{ secrets.gradle-cache-password }} - GRADLE_EXEC: cgexec -g cpu,memory:gradle-${{ github.run_id }} --sticky ionice -c 2 -n 2 nice -n 19 ./gradlew - CG_EXEC: cgexec -g cpu,memory:gradle-${{ github.run_id }} --sticky ionice -c 2 -n 2 nice -n 19 + #GRADLE_EXEC: cgexec -g cpu,memory:gradle-${{ github.run_id }} --sticky ionice -c 2 -n 2 nice -n 19 ./gradlew + GRADLE_EXEC: ionice -c 2 -n 2 nice -n 19 ./gradlew + #CG_EXEC: cgexec -g cpu,memory:gradle-${{ github.run_id }} --sticky ionice -c 2 -n 2 nice -n 19 + CG_EXEC: ionice -c 2 -n 2 nice -n 19 jobs: compile: name: ${{ inputs.custom-job-label || 'Compiles' }} - runs-on: [self-hosted, Linux, large, ephemeral] + runs-on: network-node-linux-large steps: - name: Checkout Code uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 @@ -165,42 +167,42 @@ jobs: with: node-version: ${{ inputs.node-version }} - - name: Setup Control Groups - run: | - echo "::group::Get System Configuration" - USR_ID="$(id -un)" - GRP_ID="$(id -gn)" - GRADLE_MEM_LIMIT="30064771072" - AGENT_MEM_LIMIT="2147483648" - GRADLE_GROUP_NAME="gradle-${{ github.run_id }}" - AGENT_GROUP_NAME="agent-${{ github.run_id }}" - echo "::endgroup::" - - echo "::group::Install Control Group Tools" - if ! command -v cgcreate >/dev/null 2>&1; then - sudo apt-get update - sudo apt-get install -y cgroup-tools - fi - echo "::endgroup::" - - echo "::group::Create Control Groups" - sudo cgcreate -g cpu,memory:${GRADLE_GROUP_NAME} -a ${USR_ID}:${GRP_ID} -t ${USR_ID}:${GRP_ID} - sudo cgcreate -g cpu,memory:${AGENT_GROUP_NAME} -a ${USR_ID}:${GRP_ID} -t ${USR_ID}:${GRP_ID} - echo "::endgroup::" - - echo "::group::Set Control Group Limits" - cgset -r cpu.shares=768 ${GRADLE_GROUP_NAME} - cgset -r cpu.shares=500 ${AGENT_GROUP_NAME} - cgset -r memory.limit_in_bytes=${GRADLE_MEM_LIMIT} ${GRADLE_GROUP_NAME} - cgset -r memory.limit_in_bytes=${AGENT_MEM_LIMIT} ${AGENT_GROUP_NAME} - cgset -r memory.memsw.limit_in_bytes=${GRADLE_MEM_LIMIT} ${GRADLE_GROUP_NAME} - cgset -r memory.memsw.limit_in_bytes=${AGENT_MEM_LIMIT} ${AGENT_GROUP_NAME} - echo "::endgroup::" - - echo "::group::Move Runner Processes to Control Groups" - sudo cgclassify --sticky -g cpu,memory:${AGENT_GROUP_NAME} $(pgrep 'Runner.Listener' | tr '\n' ' ') - sudo cgclassify -g cpu,memory:${AGENT_GROUP_NAME} $(pgrep 'Runner.Worker' | tr '\n' ' ') - echo "::endgroup::" +# - name: Setup Control Groups +# run: | +# echo "::group::Get System Configuration" +# USR_ID="$(id -un)" +# GRP_ID="$(id -gn)" +# GRADLE_MEM_LIMIT="30064771072" +# AGENT_MEM_LIMIT="2147483648" +# GRADLE_GROUP_NAME="gradle-${{ github.run_id }}" +# AGENT_GROUP_NAME="agent-${{ github.run_id }}" +# echo "::endgroup::" +# +# echo "::group::Install Control Group Tools" +# if ! command -v cgcreate >/dev/null 2>&1; then +# sudo apt-get update +# sudo apt-get install -y cgroup-tools +# fi +# echo "::endgroup::" +# +# echo "::group::Create Control Groups" +# sudo cgcreate -g cpu,memory:${GRADLE_GROUP_NAME} -a ${USR_ID}:${GRP_ID} -t ${USR_ID}:${GRP_ID} +# sudo cgcreate -g cpu,memory:${AGENT_GROUP_NAME} -a ${USR_ID}:${GRP_ID} -t ${USR_ID}:${GRP_ID} +# echo "::endgroup::" +# +# echo "::group::Set Control Group Limits" +# cgset -r cpu.shares=768 ${GRADLE_GROUP_NAME} +# cgset -r cpu.shares=500 ${AGENT_GROUP_NAME} +# cgset -r memory.limit_in_bytes=${GRADLE_MEM_LIMIT} ${GRADLE_GROUP_NAME} +# cgset -r memory.limit_in_bytes=${AGENT_MEM_LIMIT} ${AGENT_GROUP_NAME} +# cgset -r memory.memsw.limit_in_bytes=${GRADLE_MEM_LIMIT} ${GRADLE_GROUP_NAME} +# cgset -r memory.memsw.limit_in_bytes=${AGENT_MEM_LIMIT} ${AGENT_GROUP_NAME} +# echo "::endgroup::" +# +# echo "::group::Move Runner Processes to Control Groups" +# sudo cgclassify --sticky -g cpu,memory:${AGENT_GROUP_NAME} $(pgrep 'Runner.Listener' | tr '\n' ' ') +# sudo cgclassify -g cpu,memory:${AGENT_GROUP_NAME} $(pgrep 'Runner.Worker' | tr '\n' ' ') +# echo "::endgroup::" - name: Compile id: gradle-build @@ -224,7 +226,6 @@ jobs: if: ${{ inputs.enable-unit-tests && steps.gradle-build.conclusion == 'success' && !cancelled() }} with: check_name: 'Node: Unit Test Results' - check_run_disabled: false json_thousands_separator: ',' junit_files: "**/build/test-results/test/TEST-*.xml" comment_mode: errors # only comment if we could not find or parse the JUnit XML files @@ -251,7 +252,6 @@ jobs: if: ${{ inputs.enable-hapi-tests-misc && steps.gradle-build.conclusion == 'success' && !cancelled() }} with: check_name: 'Node: HAPI Test (Misc) Results' - check_run_disabled: false json_thousands_separator: ',' junit_files: "**/test-clients/build/test-results/test/TEST-*.xml" comment_mode: errors # only comment if we could not find or parse the JUnit XML files @@ -286,7 +286,6 @@ jobs: if: ${{ inputs.enable-hapi-tests-crypto && steps.gradle-build.conclusion == 'success' && !cancelled() }} with: check_name: 'Node: HAPI Test (Crypto) Results' - check_run_disabled: false json_thousands_separator: ',' junit_files: "**/test-clients/build/test-results/test/TEST-*.xml" comment_mode: errors # only comment if we could not find or parse the JUnit XML files @@ -321,7 +320,6 @@ jobs: if: ${{ inputs.enable-hapi-tests-token && steps.gradle-build.conclusion == 'success' && !cancelled() }} with: check_name: 'Node: HAPI Test (Token) Results' - check_run_disabled: false json_thousands_separator: ',' junit_files: "**/test-clients/build/test-results/test/TEST-*.xml" comment_mode: errors # only comment if we could not find or parse the JUnit XML files @@ -356,7 +354,6 @@ jobs: if: ${{ inputs.enable-hapi-tests-smart-contract && steps.gradle-build.conclusion == 'success' && !cancelled() }} with: check_name: 'Node: HAPI Test (Smart Contract) Results' - check_run_disabled: false json_thousands_separator: ',' junit_files: "**/test-clients/build/test-results/test/TEST-*.xml" comment_mode: errors # only comment if we could not find or parse the JUnit XML files @@ -391,7 +388,6 @@ jobs: if: ${{ inputs.enable-hapi-tests-time-consuming && steps.gradle-build.conclusion == 'success' && !cancelled() }} with: check_name: 'Node: HAPI Test (Time Consuming) Results' - check_run_disabled: false json_thousands_separator: ',' junit_files: "**/test-clients/build/test-results/test/TEST-*.xml" comment_mode: errors # only comment if we could not find or parse the JUnit XML files @@ -426,7 +422,6 @@ jobs: if: ${{ inputs.enable-hapi-tests-restart && steps.gradle-build.conclusion == 'success' && !cancelled() }} with: check_name: 'Node: HAPI Test (Restart) Results' - check_run_disabled: false json_thousands_separator: ',' junit_files: "**/test-clients/build/test-results/test/TEST-*.xml" comment_mode: errors # only comment if we could not find or parse the JUnit XML files @@ -462,7 +457,6 @@ jobs: if: ${{ inputs.enable-hapi-tests-nd-reconnect && steps.gradle-build.conclusion == 'success' && !cancelled() }} with: check_name: 'Node: HAPI Test (Node Death Reconnect) Results' - check_run_disabled: false json_thousands_separator: ',' junit_files: "**/test-clients/build/test-results/test/TEST-*.xml" comment_mode: errors # only comment if we could not find or parse the JUnit XML files diff --git a/.github/workflows/node-zxc-deploy-preview.yaml b/.github/workflows/node-zxc-deploy-preview.yaml index 83beb136a95..e6fe96b33ff 100644 --- a/.github/workflows/node-zxc-deploy-preview.yaml +++ b/.github/workflows/node-zxc-deploy-preview.yaml @@ -57,7 +57,7 @@ permissions: jobs: Deploy-Preview: name: ${{ inputs.custom-job-label || 'Deploy Preview' }} - runs-on: [self-hosted, Linux, large, ephemeral] + runs-on: network-node-linux-large outputs: version: ${{ steps.effective-version.outputs.number }} steps: diff --git a/.github/workflows/node-zxcron-develop-fsts-regression.yaml b/.github/workflows/node-zxcron-develop-fsts-regression.yaml index 3d6fe150222..ad870bd4efe 100644 --- a/.github/workflows/node-zxcron-develop-fsts-regression.yaml +++ b/.github/workflows/node-zxcron-develop-fsts-regression.yaml @@ -25,7 +25,7 @@ defaults: jobs: trigger-task: name: Trigger Daily Run - runs-on: [ self-hosted, Linux, small, scheduler, ephemeral ] + runs-on: network-node-linux-small-scheduler steps: - name: Display Branch Information run: | diff --git a/.github/workflows/node-zxcron-release-branching.yaml b/.github/workflows/node-zxcron-release-branching.yaml index 9050ec748b0..2b131502ab7 100644 --- a/.github/workflows/node-zxcron-release-branching.yaml +++ b/.github/workflows/node-zxcron-release-branching.yaml @@ -36,7 +36,7 @@ env: jobs: check-trigger: name: Check Trigger Conditions - runs-on: [self-hosted, Linux, small, scheduler, ephemeral] + runs-on: network-node-linux-small-scheduler outputs: triggered: ${{ steps.evaluate.outputs.triggered }} steps: @@ -75,7 +75,7 @@ jobs: check-branch: name: Check Branching Conditions - runs-on: [self-hosted, Linux, small, scheduler, ephemeral] + runs-on: network-node-linux-small-scheduler needs: - check-trigger outputs: @@ -97,7 +97,7 @@ jobs: create-branch: name: Create Release Branch - runs-on: [self-hosted, Linux, small, scheduler, ephemeral] + runs-on: network-node-linux-small-scheduler needs: - check-branch env: @@ -187,7 +187,7 @@ jobs: create-tag: name: Create Release Tag - runs-on: [ self-hosted, Linux, small, scheduler, ephemeral ] + runs-on: network-node-linux-small-scheduler needs: - check-branch - create-branch diff --git a/.github/workflows/node-zxcron-release-fsts-regression.yaml b/.github/workflows/node-zxcron-release-fsts-regression.yaml index 9f7f5f11bad..b7885c0d7c3 100644 --- a/.github/workflows/node-zxcron-release-fsts-regression.yaml +++ b/.github/workflows/node-zxcron-release-fsts-regression.yaml @@ -30,7 +30,7 @@ env: jobs: cron: name: Cron / Launch Workflows - runs-on: [self-hosted, Linux, small, scheduler, ephemeral] + runs-on: network-node-linux-small-scheduler steps: - name: Checkout Code uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 diff --git a/.github/workflows/node-zxf-snyk-monitor.yaml b/.github/workflows/node-zxf-snyk-monitor.yaml index e7abb8cebfb..0b9b9151019 100644 --- a/.github/workflows/node-zxf-snyk-monitor.yaml +++ b/.github/workflows/node-zxf-snyk-monitor.yaml @@ -29,7 +29,7 @@ permissions: jobs: snyk: name: Snyk Monitor - runs-on: [self-hosted, Linux, medium, ephemeral] + runs-on: network-node-linux-medium steps: - name: Checkout uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 @@ -38,7 +38,7 @@ jobs: uses: actions/setup-java@387ac29b308b003ca37ba93a6cab5eb57c8f5f93 # v4.0.0 with: distribution: temurin - java-version: 21.0.1 + java-version: 21 - name: Setup Gradle uses: gradle/actions/setup-gradle@dbbdc275be76ac10734476cc723d82dfe7ec6eda # v3.4.2 @@ -58,7 +58,7 @@ jobs: - name: Setup NodeJS uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: - node-version: 16 + node-version: 20 - name: Setup Snyk env: diff --git a/.github/workflows/platform-flow-jrs-custom-regression.yaml b/.github/workflows/platform-flow-jrs-custom-regression.yaml index 93bc6aecc63..f80d639380a 100644 --- a/.github/workflows/platform-flow-jrs-custom-regression.yaml +++ b/.github/workflows/platform-flow-jrs-custom-regression.yaml @@ -37,7 +37,7 @@ on: description: "Java JDK Version:" type: string required: false - default: "21.0.1" + default: "21" java-distribution: description: "Java JDK Distribution:" type: string @@ -66,7 +66,7 @@ jobs: branch-name: ${{ github.ref_name }} slack-results-channel: ${{ github.event.inputs.slack-results-channel }} slack-summary-channel: ${{ github.event.inputs.slack-summary-channel }} - java-version: ${{ github.event.inputs.java-version || '21.0.1' }} + java-version: ${{ github.event.inputs.java-version || '21' }} java-distribution: ${{ github.event.inputs.java-distribution || 'temurin' }} gradle-version: ${{ github.event.inputs.gradle-version || 'wrapper' }} use-branch-for-slack-channel: false diff --git a/.github/workflows/platform-pull-request-extended-checks.yaml b/.github/workflows/platform-pull-request-extended-checks.yaml index 13c45533aa4..4af44bf9dff 100644 --- a/.github/workflows/platform-pull-request-extended-checks.yaml +++ b/.github/workflows/platform-pull-request-extended-checks.yaml @@ -31,7 +31,7 @@ on: description: "Java JDK Version:" type: string required: false - default: "21.0.1" + default: "21" java-distribution: description: "Java JDK Distribution:" type: string @@ -61,7 +61,7 @@ jobs: branch-name: ${{ github.ref_name }} slack-results-channel: ${{ github.event.inputs.slack-results-channel }} slack-summary-channel: ${{ github.event.inputs.slack-summary-channel }} - java-version: ${{ github.event.inputs.java-version || '21.0.1' }} + java-version: ${{ github.event.inputs.java-version || '21' }} java-distribution: ${{ github.event.inputs.java-distribution || 'temurin' }} gradle-version: ${{ github.event.inputs.gradle-version || 'wrapper' }} use-branch-for-slack-channel: false @@ -86,7 +86,7 @@ jobs: branch-name: ${{ github.ref_name }} slack-results-channel: ${{ github.event.inputs.slack-results-channel }} slack-summary-channel: ${{ github.event.inputs.slack-summary-channel }} - java-version: ${{ github.event.inputs.java-version || '21.0.1' }} + java-version: ${{ github.event.inputs.java-version || '21' }} java-distribution: ${{ github.event.inputs.java-distribution || 'temurin' }} gradle-version: ${{ github.event.inputs.gradle-version || 'wrapper' }} use-branch-for-slack-channel: false @@ -111,7 +111,7 @@ jobs: branch-name: ${{ github.ref_name }} slack-results-channel: ${{ github.event.inputs.slack-results-channel }} slack-summary-channel: ${{ github.event.inputs.slack-summary-channel }} - java-version: ${{ github.event.inputs.java-version || '21.0.1' }} + java-version: ${{ github.event.inputs.java-version || '21' }} java-distribution: ${{ github.event.inputs.java-distribution || 'temurin' }} gradle-version: ${{ github.event.inputs.gradle-version || 'wrapper' }} use-branch-for-slack-channel: false @@ -136,7 +136,7 @@ jobs: branch-name: ${{ github.ref_name }} slack-results-channel: ${{ github.event.inputs.slack-results-channel }} slack-summary-channel: ${{ github.event.inputs.slack-summary-channel }} - java-version: ${{ github.event.inputs.java-version || '21.0.1' }} + java-version: ${{ github.event.inputs.java-version || '21' }} java-distribution: ${{ github.event.inputs.java-distribution || 'temurin' }} gradle-version: ${{ github.event.inputs.gradle-version || 'wrapper' }} use-branch-for-slack-channel: false diff --git a/.github/workflows/platform-zxc-launch-jrs-workflow.yaml b/.github/workflows/platform-zxc-launch-jrs-workflow.yaml index 39cbd1bffec..da1f1798a2e 100644 --- a/.github/workflows/platform-zxc-launch-jrs-workflow.yaml +++ b/.github/workflows/platform-zxc-launch-jrs-workflow.yaml @@ -50,7 +50,7 @@ defaults: jobs: launch-workflow: name: Launch Workflow - runs-on: [self-hosted, Linux, small, scheduler, ephemeral] + runs-on: network-node-linux-small-scheduler steps: - name: Install Github CLI env: diff --git a/.github/workflows/platform-zxcron-develop-jrs-regression.yaml b/.github/workflows/platform-zxcron-develop-jrs-regression.yaml index 92217648ded..100643d4cba 100644 --- a/.github/workflows/platform-zxcron-develop-jrs-regression.yaml +++ b/.github/workflows/platform-zxcron-develop-jrs-regression.yaml @@ -27,7 +27,7 @@ defaults: jobs: trigger-task: name: Trigger Daily Run - runs-on: [ self-hosted, Linux, small, scheduler, ephemeral ] + runs-on: network-node-linux-small-scheduler steps: - name: Display Branch Information run: | diff --git a/.github/workflows/platform-zxcron-release-jrs-regression.yaml b/.github/workflows/platform-zxcron-release-jrs-regression.yaml index f5465741892..595c1af5da4 100644 --- a/.github/workflows/platform-zxcron-release-jrs-regression.yaml +++ b/.github/workflows/platform-zxcron-release-jrs-regression.yaml @@ -30,7 +30,7 @@ env: jobs: cron: name: Cron / Launch Workflows - runs-on: [self-hosted, Linux, small, scheduler, ephemeral] + runs-on: network-node-linux-small-scheduler steps: - name: Checkout Code uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 diff --git a/.github/workflows/zxc-jrs-regression.yaml b/.github/workflows/zxc-jrs-regression.yaml index 43b2a2e25cb..dbfdb5cbbaa 100644 --- a/.github/workflows/zxc-jrs-regression.yaml +++ b/.github/workflows/zxc-jrs-regression.yaml @@ -82,7 +82,7 @@ on: description: "Java JDK Version:" type: string required: false - default: "21.0.1" + default: "21" gradle-version: description: "Gradle Version:" type: string @@ -166,8 +166,10 @@ env: JAVA_OPTS: -Xmx28g -XX:ActiveProcessorCount=16 GRADLE_CACHE_USERNAME: ${{ secrets.gradle-cache-username }} GRADLE_CACHE_PASSWORD: ${{ secrets.gradle-cache-password }} - CG_EXEC: cgexec -g cpu,memory:gradle-${{ github.run_id }} --sticky ionice -c 2 -n 2 nice -n 19 - PING_CG_EXEC: cgexec -g cpu,memory:ping-${{ github.run_id }} --sticky ionice -c 2 -n 2 nice -n 19 + #CG_EXEC: cgexec -g cpu,memory:gradle-${{ github.run_id }} --sticky ionice -c 2 -n 2 nice -n 19 + CG_EXEC: ionice -c 2 -n 2 nice -n 19 + #PING_CG_EXEC: cgexec -g cpu,memory:ping-${{ github.run_id }} --sticky ionice -c 2 -n 2 nice -n 19 + PING_CG_EXEC: ionice -c 2 -n 2 nice -n 19 defaults: run: @@ -182,7 +184,7 @@ permissions: jobs: jrs-regression: name: ${{ inputs.custom-job-name || 'Standard' }} - runs-on: [self-hosted, Linux, large, ephemeral] + runs-on: network-node-linux-large steps: - name: Checkout Platform Code uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 @@ -237,48 +239,48 @@ jobs: echo "file=${FINAL_PATH}" >> "${GITHUB_OUTPUT}" - - name: Setup Control Groups - run: | - echo "::group::Get System Configuration" - USR_ID="$(id -un)" - GRP_ID="$(id -gn)" - GRADLE_MEM_LIMIT="30064771072" - PING_MEM_LIMIT="1073741824" - AGENT_MEM_LIMIT="2147483648" - GRADLE_GROUP_NAME="gradle-${{ github.run_id }}" - PING_GROUP_NAME="ping-${{ github.run_id }}" - AGENT_GROUP_NAME="agent-${{ github.run_id }}" - echo "::endgroup::" - - echo "::group::Install Control Group Tools" - if ! command -v cgcreate >/dev/null 2>&1; then - sudo apt-get update - sudo apt-get install -y cgroup-tools - fi - echo "::endgroup::" - - echo "::group::Create Control Groups" - sudo cgcreate -g cpu,memory:${GRADLE_GROUP_NAME} -a ${USR_ID}:${GRP_ID} -t ${USR_ID}:${GRP_ID} - sudo cgcreate -g cpu,memory:${PING_GROUP_NAME} -a ${USR_ID}:${GRP_ID} -t ${USR_ID}:${GRP_ID} - sudo cgcreate -g cpu,memory:${AGENT_GROUP_NAME} -a ${USR_ID}:${GRP_ID} -t ${USR_ID}:${GRP_ID} - echo "::endgroup::" - - echo "::group::Set Control Group Limits" - cgset -r cpu.shares=768 ${GRADLE_GROUP_NAME} - cgset -r cpu.shares=768 ${PING_GROUP_NAME} - cgset -r cpu.shares=500 ${AGENT_GROUP_NAME} - cgset -r memory.limit_in_bytes=${GRADLE_MEM_LIMIT} ${GRADLE_GROUP_NAME} - cgset -r memory.limit_in_bytes=${PING_MEM_LIMIT} ${PING_GROUP_NAME} - cgset -r memory.limit_in_bytes=${AGENT_MEM_LIMIT} ${AGENT_GROUP_NAME} - cgset -r memory.memsw.limit_in_bytes=${GRADLE_MEM_LIMIT} ${GRADLE_GROUP_NAME} - cgset -r memory.memsw.limit_in_bytes=${PING_MEM_LIMIT} ${PING_GROUP_NAME} - cgset -r memory.memsw.limit_in_bytes=${AGENT_MEM_LIMIT} ${AGENT_GROUP_NAME} - echo "::endgroup::" - - echo "::group::Move Runner Processes to Control Groups" - sudo cgclassify --sticky -g cpu,memory:${AGENT_GROUP_NAME} $(pgrep 'Runner.Listener' | tr '\n' ' ') - sudo cgclassify -g cpu,memory:${AGENT_GROUP_NAME} $(pgrep 'Runner.Worker' | tr '\n' ' ') - echo "::endgroup::" +# - name: Setup Control Groups +# run: | +# echo "::group::Get System Configuration" +# USR_ID="$(id -un)" +# GRP_ID="$(id -gn)" +# GRADLE_MEM_LIMIT="30064771072" +# PING_MEM_LIMIT="1073741824" +# AGENT_MEM_LIMIT="2147483648" +# GRADLE_GROUP_NAME="gradle-${{ github.run_id }}" +# PING_GROUP_NAME="ping-${{ github.run_id }}" +# AGENT_GROUP_NAME="agent-${{ github.run_id }}" +# echo "::endgroup::" +# +# echo "::group::Install Control Group Tools" +# if ! command -v cgcreate >/dev/null 2>&1; then +# sudo apt-get update +# sudo apt-get install -y cgroup-tools +# fi +# echo "::endgroup::" +# +# echo "::group::Create Control Groups" +# sudo cgcreate -g cpu,memory:${GRADLE_GROUP_NAME} -a ${USR_ID}:${GRP_ID} -t ${USR_ID}:${GRP_ID} +# sudo cgcreate -g cpu,memory:${PING_GROUP_NAME} -a ${USR_ID}:${GRP_ID} -t ${USR_ID}:${GRP_ID} +# sudo cgcreate -g cpu,memory:${AGENT_GROUP_NAME} -a ${USR_ID}:${GRP_ID} -t ${USR_ID}:${GRP_ID} +# echo "::endgroup::" +# +# echo "::group::Set Control Group Limits" +# cgset -r cpu.shares=768 ${GRADLE_GROUP_NAME} +# cgset -r cpu.shares=768 ${PING_GROUP_NAME} +# cgset -r cpu.shares=500 ${AGENT_GROUP_NAME} +# cgset -r memory.limit_in_bytes=${GRADLE_MEM_LIMIT} ${GRADLE_GROUP_NAME} +# cgset -r memory.limit_in_bytes=${PING_MEM_LIMIT} ${PING_GROUP_NAME} +# cgset -r memory.limit_in_bytes=${AGENT_MEM_LIMIT} ${AGENT_GROUP_NAME} +# cgset -r memory.memsw.limit_in_bytes=${GRADLE_MEM_LIMIT} ${GRADLE_GROUP_NAME} +# cgset -r memory.memsw.limit_in_bytes=${PING_MEM_LIMIT} ${PING_GROUP_NAME} +# cgset -r memory.memsw.limit_in_bytes=${AGENT_MEM_LIMIT} ${AGENT_GROUP_NAME} +# echo "::endgroup::" +# +# echo "::group::Move Runner Processes to Control Groups" +# sudo cgclassify --sticky -g cpu,memory:${AGENT_GROUP_NAME} $(pgrep 'Runner.Listener' | tr '\n' ' ') +# sudo cgclassify -g cpu,memory:${AGENT_GROUP_NAME} $(pgrep 'Runner.Worker' | tr '\n' ' ') +# echo "::endgroup::" - name: Install Grafana Agent run: | diff --git a/.github/workflows/zxc-publish-production-image.yaml b/.github/workflows/zxc-publish-production-image.yaml index da54a963153..8a81e0d509b 100644 --- a/.github/workflows/zxc-publish-production-image.yaml +++ b/.github/workflows/zxc-publish-production-image.yaml @@ -79,7 +79,7 @@ permissions: jobs: publish-image: name: ${{ inputs.custom-job-name || 'Publish Production Image (GCP)' }} - runs-on: [self-hosted, Linux, large, ephemeral] + runs-on: network-node-linux-large outputs: docker-registry: ${{ steps.set-registry.outputs.docker-registry }} docker-image: ${{ steps.set-registry.outputs.docker-tag-base }}/consensus-node:${{ inputs.version }} @@ -201,9 +201,11 @@ jobs: - name: Setup Docker Buildx Support uses: docker/setup-buildx-action@4fd812986e6c8c2a69e18311145f9371337f27d4 # v3.4.0 with: - version: v0.15.1 + version: v0.16.2 driver-opts: network=host - buildkitd-config: /etc/docker/buildkitd.toml + buildkitd-config-inline: | + [registry."docker.io"] + mirrors = ["https://hub.mirror.docker.lat.ope.eng.hashgraph.io"] - name: Setup Local Docker Registry if: ${{ inputs.dry-run-enabled == true && !cancelled() && !failure() }} diff --git a/.github/workflows/zxc-verify-docker-build-determinism.yaml b/.github/workflows/zxc-verify-docker-build-determinism.yaml index 33fd38b253a..47e2984b485 100644 --- a/.github/workflows/zxc-verify-docker-build-determinism.yaml +++ b/.github/workflows/zxc-verify-docker-build-determinism.yaml @@ -32,7 +32,7 @@ on: description: "Java JDK Version:" type: string required: false - default: "21.0.1" + default: "21" secrets: gradle-cache-username: @@ -63,7 +63,7 @@ env: jobs: generate-baseline: name: Generate Baseline - runs-on: [self-hosted, Linux, medium, ephemeral] + runs-on: network-node-linux-medium outputs: sha: ${{ steps.commit.outputs.sha }} sha-abbrev: ${{ steps.commit.outputs.sha-abbrev }} @@ -130,61 +130,61 @@ jobs: sudo apt-get update sudo apt-get install --yes --no-install-recommends skopeo jq - - name: Install KillAll - if: ${{ steps.baseline.outputs.exists == 'false' && !failure() && !cancelled() }} - run: sudo apt-get install --yes --no-install-recommends psmisc - - - name: Create Docker Working Directory - if: ${{ steps.baseline.outputs.exists == 'false' && !failure() && !cancelled() }} - run: | - USER="$(id -un)" - GROUP="$(id -gn)" - sudo mkdir -p /x - sudo chown -vR ${USER}:${GROUP} /x - sudo ls -lah /x - - - name: Remove Docker from Self Hosted Runners - if: ${{ steps.baseline.outputs.exists == 'false' && !failure() && !cancelled() }} - run: | - set -x - sudo killall dockerd || true - sudo killall containerd || true - sudo rm -rvf /usr/bin/*containerd* || true - sudo rm -rvf /usr/bin/docker* || true - sudo rm -rvf /usr/local/bin/docker* || true - sudo rm -rvf /usr/local/bin/*lima* || true - - - name: Setup Containerd Support - uses: crazy-max/ghaction-setup-containerd@60acbf31e6572da7b83a4ed6b428ed92a35ff4d7 # v3.0.0 - if: ${{ steps.baseline.outputs.exists == 'false' && !failure() && !cancelled() }} - with: - containerd-version: v1.7.2 - - - name: Setup Docker Support - uses: step-security/ghaction-setup-docker@42e219a378b907a83f1b323a1458fbf352af3ffd # v3.3.0 - if: ${{ steps.baseline.outputs.exists == 'false' && !failure() && !cancelled() }} - env: - HOME: /x - with: - version: v25.0.5 - daemon-config: | - { - "registry-mirrors": [ - "https://hub.mirror.docker.lat.ope.eng.hashgraph.io" - ] - } - - - name: Configure Default Docker Context - if: ${{ steps.baseline.outputs.exists == 'false' && !failure() && !cancelled() }} - run: | - set -x - if grep setup-docker-action < <(docker context ls --format '{{ .Name }}') >/dev/null; then - docker context rm -f setup-docker-action - fi - - DOCKER_CONTEXT_PATH="$(sudo find /x -name docker.sock | tr -d '[:space:]')" - docker context create setup-docker-action --docker "host=unix://${DOCKER_CONTEXT_PATH}" - docker context use setup-docker-action +# - name: Install KillAll +# if: ${{ steps.baseline.outputs.exists == 'false' && !failure() && !cancelled() }} +# run: sudo apt-get install --yes --no-install-recommends psmisc + +# - name: Create Docker Working Directory +# if: ${{ steps.baseline.outputs.exists == 'false' && !failure() && !cancelled() }} +# run: | +# USER="$(id -un)" +# GROUP="$(id -gn)" +# sudo mkdir -p /x +# sudo chown -vR ${USER}:${GROUP} /x +# sudo ls -lah /x + +# - name: Remove Docker from Self Hosted Runners +# if: ${{ steps.baseline.outputs.exists == 'false' && !failure() && !cancelled() }} +# run: | +# set -x +# sudo killall dockerd || true +# sudo killall containerd || true +# sudo rm -rvf /usr/bin/*containerd* || true +# sudo rm -rvf /usr/bin/docker* || true +# sudo rm -rvf /usr/local/bin/docker* || true +# sudo rm -rvf /usr/local/bin/*lima* || true + +# - name: Setup Containerd Support +# uses: crazy-max/ghaction-setup-containerd@60acbf31e6572da7b83a4ed6b428ed92a35ff4d7 # v3.0.0 +# if: ${{ steps.baseline.outputs.exists == 'false' && !failure() && !cancelled() }} +# with: +# containerd-version: v1.7.2 + +# - name: Setup Docker Support +# uses: step-security/ghaction-setup-docker@42e219a378b907a83f1b323a1458fbf352af3ffd # v3.3.0 +# if: ${{ steps.baseline.outputs.exists == 'false' && !failure() && !cancelled() }} +# env: +# HOME: /x +# with: +# version: v25.0.5 +# daemon-config: | +# { +# "registry-mirrors": [ +# "https://hub.mirror.docker.lat.ope.eng.hashgraph.io" +# ] +# } + +# - name: Configure Default Docker Context +# if: ${{ steps.baseline.outputs.exists == 'false' && !failure() && !cancelled() }} +# run: | +# set -x +# if grep setup-docker-action < <(docker context ls --format '{{ .Name }}') >/dev/null; then +# docker context rm -f setup-docker-action +# fi +# +# DOCKER_CONTEXT_PATH="$(sudo find /x -name docker.sock | tr -d '[:space:]')" +# docker context create setup-docker-action --docker "host=unix://${DOCKER_CONTEXT_PATH}" +# docker context use setup-docker-action - name: Setup QEmu Support uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3.0.0 @@ -194,9 +194,11 @@ jobs: uses: docker/setup-buildx-action@4fd812986e6c8c2a69e18311145f9371337f27d4 # v3.4.0 if: ${{ steps.baseline.outputs.exists == 'false' && !failure() && !cancelled() }} with: - version: v0.15.1 + version: v0.16.2 driver-opts: network=host - buildkitd-config: /etc/docker/buildkitd.toml + buildkitd-config-inline: | + [registry."docker.io"] + mirrors = ["https://hub.mirror.docker.lat.ope.eng.hashgraph.io"] - name: Setup Local Docker Registry if: ${{ steps.baseline.outputs.exists == 'false' && !failure() && !cancelled() }} @@ -277,8 +279,8 @@ jobs: #- ubuntu-20.04 #- macos-12 #- macos-11 - - [self-hosted, Linux, medium, ephemeral] - - [self-hosted, Linux, large, ephemeral] + - network-node-linux-medium + - network-node-linux-large steps: - name: Standardize Git Line Endings run: | @@ -309,9 +311,9 @@ jobs: sudo apt-get install --yes --no-install-recommends skopeo fi - - name: Install KillAll (Linux) - if: ${{ runner.os == 'Linux' }} - run: sudo apt-get install --yes --no-install-recommends psmisc +# - name: Install KillAll (Linux) +# if: ${{ runner.os == 'Linux' }} +# run: sudo apt-get install --yes --no-install-recommends psmisc - name: Install Skopeo and JQ (macOS) if: ${{ runner.os == 'macOS' }} @@ -343,17 +345,17 @@ jobs: tar -xzf "${{ needs.generate-baseline.outputs.name }}" mv "sdk" "${{ github.workspace }}/${{ env.DOCKER_CONTEXT_PATH }}/" - - name: Create Docker Working Directory - if: ${{ runner.os == 'Linux' }} - run: | - USER="$(id -un)" - GROUP="$(id -gn)" - sudo mkdir -p /x - sudo chown -vR ${USER}:${GROUP} /x - sudo ls -lah /x +# - name: Create Docker Working Directory +# if: ${{ runner.os == 'Linux' }} +# run: | +# USER="$(id -un)" +# GROUP="$(id -gn)" +# sudo mkdir -p /x +# sudo chown -vR ${USER}:${GROUP} /x +# sudo ls -lah /x - name: Remove Preinstalled Docker - if: ${{ contains(matrix.os, 'self-hosted') || runner.os == 'macOS' }} + if: ${{ runner.os == 'macOS' }} run: | set -x sudo killall dockerd || true @@ -373,37 +375,37 @@ jobs: id: home run: echo "directory=$(tr -d '[:space:]' < <(cd ~ && pwd))" >> "${GITHUB_OUTPUT}" - - name: Setup Containerd Support - uses: crazy-max/ghaction-setup-containerd@60acbf31e6572da7b83a4ed6b428ed92a35ff4d7 # v3.0.0 - if: ${{ runner.os == 'Linux' }} - with: - containerd-version: v1.7.2 - - - name: Setup Docker Support - uses: step-security/ghaction-setup-docker@42e219a378b907a83f1b323a1458fbf352af3ffd # v3.3.0 - env: - HOME: ${{ runner.os == 'Linux' && '/x' || steps.home.outputs.directory }} - with: - version: v25.0.5 - daemon-config: | - { - "registry-mirrors": [ - "https://hub.mirror.docker.lat.ope.eng.hashgraph.io" - ] - } - - - name: Configure Default Docker Context - env: - SEARCH_PATH: ${{ runner.os == 'Linux' && '/x' || steps.home.outputs.directory }} - run: | - set -x - if grep setup-docker-action < <(docker context ls --format '{{ .Name }}') >/dev/null; then - docker context rm -f setup-docker-action - fi - - DOCKER_CONTEXT_PATH="$(sudo find "${SEARCH_PATH}" -name docker.sock | tr -d '[:space:]')" - docker context create setup-docker-action --docker "host=unix://${DOCKER_CONTEXT_PATH}" - docker context use setup-docker-action +# - name: Setup Containerd Support +# uses: crazy-max/ghaction-setup-containerd@60acbf31e6572da7b83a4ed6b428ed92a35ff4d7 # v3.0.0 +# if: ${{ runner.os == 'Linux' }} +# with: +# containerd-version: v1.7.2 +# +# - name: Setup Docker Support +# uses: step-security/ghaction-setup-docker@42e219a378b907a83f1b323a1458fbf352af3ffd # v3.3.0 +# env: +# HOME: ${{ runner.os == 'Linux' && '/x' || steps.home.outputs.directory }} +# with: +# version: v25.0.5 +# daemon-config: | +# { +# "registry-mirrors": [ +# "https://hub.mirror.docker.lat.ope.eng.hashgraph.io" +# ] +# } +# +# - name: Configure Default Docker Context +# env: +# SEARCH_PATH: ${{ runner.os == 'Linux' && '/x' || steps.home.outputs.directory }} +# run: | +# set -x +# if grep setup-docker-action < <(docker context ls --format '{{ .Name }}') >/dev/null; then +# docker context rm -f setup-docker-action +# fi +# +# DOCKER_CONTEXT_PATH="$(sudo find "${SEARCH_PATH}" -name docker.sock | tr -d '[:space:]')" +# docker context create setup-docker-action --docker "host=unix://${DOCKER_CONTEXT_PATH}" +# docker context use setup-docker-action - name: Setup QEmu Support uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3.0.0 @@ -411,9 +413,11 @@ jobs: - name: Setup Docker Buildx Support uses: docker/setup-buildx-action@4fd812986e6c8c2a69e18311145f9371337f27d4 # v3.4.0 with: - version: v0.15.1 + version: v0.16.2 driver-opts: network=host - buildkitd-config: /etc/docker/buildkitd.toml + buildkitd-config-inline: | + [registry."docker.io"] + mirrors = ["https://hub.mirror.docker.lat.ope.eng.hashgraph.io"] - name: Setup Local Docker Registry run: docker run -d -p 5000:5000 --restart=always --name registry registry:latest diff --git a/.github/workflows/zxc-verify-gradle-build-determinism.yaml b/.github/workflows/zxc-verify-gradle-build-determinism.yaml index 32d57467576..9db521d3265 100644 --- a/.github/workflows/zxc-verify-gradle-build-determinism.yaml +++ b/.github/workflows/zxc-verify-gradle-build-determinism.yaml @@ -32,7 +32,7 @@ on: description: "Java JDK Version:" type: string required: false - default: "21.0.1" + default: "21" secrets: gradle-cache-username: @@ -60,7 +60,7 @@ env: jobs: generate-baseline: name: Generate Baseline - runs-on: [self-hosted, Linux, medium, ephemeral] + runs-on: network-node-linux-medium outputs: sha: ${{ steps.commit.outputs.sha }} path: ${{ steps.baseline.outputs.path }} @@ -146,8 +146,8 @@ jobs: #- macos-11 - windows-2022 - windows-2019 - - [self-hosted, Linux, medium, ephemeral] - - [self-hosted, Linux, large, ephemeral] + - network-node-linux-medium + - network-node-linux-large steps: - name: Standardize Git Line Endings run: | diff --git a/gradle/plugins/src/main/kotlin/com.hedera.gradle.java.gradle.kts b/gradle/plugins/src/main/kotlin/com.hedera.gradle.java.gradle.kts index 5c02140002a..e66213b62f8 100644 --- a/gradle/plugins/src/main/kotlin/com.hedera.gradle.java.gradle.kts +++ b/gradle/plugins/src/main/kotlin/com.hedera.gradle.java.gradle.kts @@ -38,7 +38,7 @@ version = providers.fileContents(rootProject.layout.projectDirectory.versionTxt()).asText.get().trim() val javaVersionMajor = JavaVersion.VERSION_21 -val javaVersionPatch = "0.1" +val javaVersionPatch = "0.4" val currentJavaVersionMajor = JavaVersion.current() val currentJavaVersion = providers.systemProperty("java.version").get() diff --git a/hedera-node/infrastructure/docker/containers/production-next/consensus-node/Dockerfile b/hedera-node/infrastructure/docker/containers/production-next/consensus-node/Dockerfile index 4703408b66d..e408f45ee7e 100644 --- a/hedera-node/infrastructure/docker/containers/production-next/consensus-node/Dockerfile +++ b/hedera-node/infrastructure/docker/containers/production-next/consensus-node/Dockerfile @@ -38,21 +38,21 @@ RUN set -eux; \ ARCH="$(dpkg --print-architecture)"; \ case "${ARCH}" in \ aarch64|arm64) \ - ESUM='e184dc29a6712c1f78754ab36fb48866583665fa345324f1a79e569c064f95e9'; \ - BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.1%2B12/OpenJDK21U-jdk_aarch64_linux_hotspot_21.0.1_12.tar.gz'; \ - ;; \ + ESUM='d768eecddd7a515711659e02caef8516b7b7177fa34880a56398fd9822593a79'; \ + BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.4%2B7/OpenJDK21U-jdk_aarch64_linux_hotspot_21.0.4_7.tar.gz'; \ + ;; \ amd64|i386:x86-64) \ - ESUM='1a6fa8abda4c5caed915cfbeeb176e7fbd12eb6b222f26e290ee45808b529aa1'; \ - BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.1%2B12/OpenJDK21U-jdk_x64_linux_hotspot_21.0.1_12.tar.gz'; \ + ESUM='51fb4d03a4429c39d397d3a03a779077159317616550e4e71624c9843083e7b9'; \ + BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.4%2B7/OpenJDK21U-jdk_x64_linux_hotspot_21.0.4_7.tar.gz'; \ ;; \ ppc64el|powerpc:common64) \ - ESUM='9574828ef3d735a25404ced82e09bf20e1614f7d6403956002de9cfbfcb8638f'; \ - BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.1%2B12/OpenJDK21U-jdk_ppc64le_linux_hotspot_21.0.1_12.tar.gz'; \ - ;; \ + ESUM='c208cd0fb90560644a90f928667d2f53bfe408c957a5e36206585ad874427761'; \ + BINARY_URL='https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.4%2B7/OpenJDK21U-jdk_ppc64le_linux_hotspot_21.0.4_7.tar.gz'; \ + ;; \ *) \ - echo "Unsupported arch: ${ARCH}"; \ - exit 1; \ - ;; \ + echo "Unsupported arch: ${ARCH}"; \ + exit 1; \ + ;; \ esac; \ curl -LfsSo /tmp/openjdk.tar.gz ${BINARY_URL}; \ echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; \ @@ -222,7 +222,7 @@ FROM operating-system-base AS production-image-interim ARG SOURCE_DATE_EPOCH # Define Standard Environment Variables -ENV JAVA_VERSION "jdk-21.0.1+12" +ENV JAVA_VERSION "jdk-21.0.4+7" ENV JAVA_HOME /usr/local/java ENV PATH ${JAVA_HOME}/bin:${PATH} @@ -256,7 +256,7 @@ FROM scratch AS production-image COPY --from=production-image-interim / / # Define Standard Environment Variables -ENV JAVA_VERSION "jdk-21.0.1+12" +ENV JAVA_VERSION "jdk-21.0.4+7" ENV JAVA_HOME /usr/local/java ENV PATH ${JAVA_HOME}/bin:${PATH}