-
Notifications
You must be signed in to change notification settings - Fork 2
98 lines (94 loc) · 3.45 KB
/
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
92
93
94
95
96
97
98
##
# Copyright (C) 2022-2023 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: "Build Application"
on:
workflow_dispatch:
inputs:
enable-unit-tests:
description: "Unit Testing Enabled"
type: boolean
required: false
default: true
enable-sonar-analysis:
description: "Sonar Analysis 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.1"
java-distribution:
description: "Java JDK Distribution:"
type: string
required: false
default: "temurin"
gradle-version:
description: "Gradle Version:"
type: string
required: false
default: "wrapper"
push:
branches:
- main
- 'release/*'
defaults:
run:
shell: bash
jobs:
code:
name: Code
uses: ./.github/workflows/zxc-compile-code.yaml
with:
java-version: ${{ github.event.inputs.java-version || '21.0.1' }}
java-distribution: ${{ github.event.inputs.java-distribution || 'temurin' }}
gradle-version: ${{ github.event.inputs.gradle-version || 'wrapper' }}
enable-unit-tests: ${{ github.event_name == 'push' || github.event.inputs.enable-unit-tests == 'true' }}
enable-spotless-check: ${{ github.event_name == 'push' || github.event.inputs.enable-spotless-check == 'true' }}
secrets:
gradle-cache-username: ${{ secrets.GRADLE_CACHE_USERNAME }}
gradle-cache-password: ${{ secrets.GRADLE_CACHE_PASSWORD }}
analyze:
name: Analyze
uses: ./.github/workflows/zxc-code-analysis.yaml
needs:
- code
if: ${{ github.event_name == 'push' || github.event.inputs.enable-unit-tests == 'true' }}
with:
custom-job-label: Source Code
java-version: ${{ github.event.inputs.java-version || '21.0.1' }}
java-distribution: ${{ github.event.inputs.java-distribution || 'temurin' }}
gradle-version: ${{ github.event.inputs.gradle-version || 'wrapper' }}
enable-snyk-scan: ${{ github.event_name == 'push' || github.event.inputs.enable-snyk-scan == 'true' }}
enable-sonar-analysis: ${{ github.event_name == 'push' || github.event.inputs.enable-sonar-analysis == 'true' }}
enable-codecov-analysis: ${{ github.event_name == 'push' || github.event.inputs.enable-unit-tests == 'true' }}
secrets:
gradle-cache-username: ${{ secrets.GRADLE_CACHE_USERNAME }}
gradle-cache-password: ${{ secrets.GRADLE_CACHE_PASSWORD }}
sonar-token: ${{ secrets.SONAR_TOKEN }}
snyk-token: ${{ secrets.SNYK_TOKEN }}
codecov-token: ${{ secrets.CODECOV_TOKEN }}