-
Notifications
You must be signed in to change notification settings - Fork 150
91 lines (87 loc) · 3.42 KB
/
node-flow-build-application.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# SPDX-License-Identifier: Apache-2.0
name: "Node: Build Application"
on:
workflow_dispatch:
inputs:
enable-unit-tests:
description: "Unit Testing Enabled"
type: boolean
required: false
default: true
enable-hapi-tests:
description: "HAPI Testing Enabled"
type: boolean
required: false
default: false
enable-spotless-check:
description: "Spotless Check Enabled"
type: boolean
required: false
default: false
enable-snyk-scan:
description: "Snyk Scan Enabled"
type: boolean
required: false
default: false
java-version:
description: "Java JDK Version:"
type: string
required: false
default: "21.0.6"
java-distribution:
description: "Java JDK Distribution:"
type: string
required: false
default: "temurin"
push:
branches:
- main
- "release/*"
defaults:
run:
shell: bash
jobs:
code:
name: Code
uses: ./.github/workflows/node-zxc-compile-application-code.yaml
with:
java-version: ${{ github.event.inputs.java-version || '21.0.6' }}
java-distribution: ${{ github.event.inputs.java-distribution || 'temurin' }}
enable-unit-tests: ${{ github.event_name == 'push' || github.event.inputs.enable-unit-tests == 'true' }}
enable-hapi-tests-misc: ${{ github.event.inputs.enable-hapi-tests == 'true' }}
enable-hapi-tests-crypto: ${{ github.event.inputs.enable-hapi-tests == 'true' }}
enable-hapi-tests-token: ${{ github.event.inputs.enable-hapi-tests == 'true' }}
enable-hapi-tests-smart-contract: ${{ github.event.inputs.enable-hapi-tests == 'true' }}
enable-hapi-tests-time-consuming: ${{ github.event.inputs.enable-hapi-tests == 'true' }}
enable-hapi-tests-restart: ${{ github.event.inputs.enable-hapi-tests == 'true' }}
enable-hapi-tests-nd-reconnect: ${{ github.event.inputs.enable-hapi-tests == 'true' }}
enable-spotless-check: ${{ github.event.inputs.enable-spotless-check == 'true' }}
enable-snyk-scan: ${{ github.event_name == 'push' || github.event.inputs.enable-snyk-scan == 'true' }}
enable-network-log-capture: true
secrets:
access-token: ${{ secrets.GITHUB_TOKEN }}
snyk-token: ${{ secrets.SNYK_TOKEN }}
codacy-project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
gradle-cache-username: ${{ secrets.GRADLE_CACHE_USERNAME }}
gradle-cache-password: ${{ secrets.GRADLE_CACHE_PASSWORD }}
codecov-token: ${{ secrets.CODECOV_TOKEN }}
deploy-ci-trigger:
name: Trigger CI Flows
runs-on: hiero-network-node-linux-medium
needs: code
if: ${{ needs.code.result == 'success' }}
steps:
- name: Harden Runner
uses: step-security/harden-runner@cb605e52c26070c328afc4562f0b4ada7618a84e # v2.10.4
with:
egress-policy: audit
- name: Trigger ZXF Deploy Production Release
uses: step-security/workflow-dispatch@05938d638f4ddc45d2c59dfd122d3ba247fb7015 # v1.2.6
with:
workflow: .github/workflows/node-flow-deploy-release-artifact.yaml
repo: hiero-ledger/hiero-consensus-node # ensure we are executing in the hiero-ledger org
ref: main # ensure we are always using the workflow definition from the main branch
token: ${{ secrets.GH_ACCESS_TOKEN }}
inputs: '{
"ref": "${{ github.ref }}"
}'