6
6
- main
7
7
- v2
8
8
paths :
9
+ - ' powertools-batch/**'
9
10
- ' powertools-cloudformation/**'
10
- - ' powertools-core/**'
11
- - ' powertools-serialization/**'
11
+ - ' powertools-core/**' # not in v2
12
+ - ' powertools-common/**' # v2 only
13
+ - ' powertools-e2e-tests/**'
14
+ - ' powertools-idempotency/**'
15
+ - ' powertools-large-messages/**'
12
16
- ' powertools-logging/**'
13
- - ' powertools-sqs/**'
17
+ - ' powertools-metrics/**'
18
+ - ' powertools-parameters/**'
19
+ - ' powertools-serialization/**'
14
20
- ' powertools-tracing/**'
15
21
- ' powertools-validation/**'
16
- - ' powertools-idempotency/**'
17
- - ' powertools-parameters/**'
18
- - ' powertools-metrics/**'
19
- - ' powertools-test-suite/**'
20
- - ' powertools-e2e-tests/**'
21
22
- ' examples/**'
22
23
- ' pom.xml'
23
24
- ' examples/pom.xml'
26
27
branches :
27
28
- main
28
29
paths :
30
+ - ' powertools-batch/**'
29
31
- ' powertools-cloudformation/**'
30
32
- ' powertools-core/**'
33
+ - ' powertools-e2e-tests/**'
34
+ - ' powertools-idempotency/**'
35
+ - ' powertools-large-messages/**'
36
+ - ' powertools-metrics/**'
37
+ - ' powertools-parameters/**'
31
38
- ' powertools-serialization/**'
32
- - ' powertools-logging/**'
33
39
- ' powertools-sqs/**'
34
40
- ' powertools-tracing/**'
35
41
- ' powertools-validation/**'
36
- - ' powertools-idempotency/**'
37
- - ' powertools-parameters/**'
38
- - ' powertools-metrics/**'
39
- - ' powertools-test-suite/**'
40
- - ' powertools-e2e-tests/**'
41
42
- ' examples/**'
42
43
- ' pom.xml'
43
44
- ' examples/pom.xml'
@@ -48,11 +49,14 @@ jobs:
48
49
strategy :
49
50
max-parallel : 5
50
51
matrix :
51
- java : [8, 11, 15, 16, 17, 18, 19, 20 ]
52
+ java : [8, 11, 17, 21, 15, 16, 18, 19, 20]
52
53
name : Java ${{ matrix.java }}
53
54
env :
54
55
JAVA : ${{ matrix.java }}
55
56
AWS_REGION : eu-west-1
57
+ permissions :
58
+ id-token : write # needed to interact with GitHub's OIDC Token endpoint.
59
+ contents : read
56
60
steps :
57
61
- uses : actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
58
62
- name : Setup java
@@ -63,16 +67,46 @@ jobs:
63
67
cache : ' maven'
64
68
- name : Build with Maven
65
69
run : mvn -B install --file pom.xml
66
- - name : Build Gradle Example
70
+ - name : Build Gradle Example - Java
67
71
if : ${{ matrix.java == '8' }} # Gradle example can only be built on Java 8
72
+ working-directory : examples/powertools-examples-core-utilities/gradle
73
+ run : ./gradlew build
74
+ - name : Build Gradle Example - Kotlin
75
+ if : ${{ matrix.java == '8' }} # Gradle example can only be built on Java 8
76
+ working-directory : examples/powertools-examples-core-utilities/kotlin
77
+ run : ./gradlew build
78
+ - name : Setup Terraform
79
+ if : ${{ matrix.java == '11' }}
80
+ uses : hashicorp/setup-terraform@633666f66e0061ca3b725c73b2ec20cd13a8fdd1 # v2.0.3
81
+ - name : Setup AWS credentials
82
+ if : ${{ matrix.java == '11' }}
83
+ uses : aws-actions/configure-aws-credentials@5fd3084fc36e372ff1fff382a39b10d03659f355 # v2.2.0
84
+ with :
85
+ role-to-assume : ${{ secrets.AWS_ROLE_ARN_TO_ASSUME }}
86
+ aws-region : ${{ env.AWS_REGION }}
87
+ - name : Terraform validate
88
+ working-directory : examples/powertools-examples-core-utilities/terraform
89
+ if : ${{ matrix.java == '11' }}
90
+ run : |
91
+ terraform -version
92
+ terraform init -backend=false
93
+ terraform validate
94
+ terraform plan
95
+ - name : Setup Terraform lint
96
+ if : ${{ matrix.java == '11' }}
97
+ uses : terraform-linters/setup-tflint@a5a1af8c6551fb10c53f1cd4ba62359f1973746f # v3.1.1
98
+ - name : Terraform lint
99
+ working-directory : examples/powertools-examples-core-utilities/terraform
100
+ if : ${{ matrix.java == '11' }}
68
101
run : |
69
- cd examples/powertools-examples-core-utilities/gradle
70
- ./gradlew build
102
+ tflint --version
103
+ tflint --init
104
+ tflint -f compact
71
105
- name : Upload coverage to Codecov
72
106
uses : codecov/codecov-action@d9f34f8cd5cb3b3eb79b3e4b5dae3a16df499a70 # v3.1.1
73
107
if : ${{ matrix.java == '11' }} # publish results once
74
108
with :
75
- files : ./powertools-cloudformation/target/site/jacoco/jacoco.xml,./powertools-core/target/site/jacoco/jacoco.xml,./powertools-idempotency/target/site/jacoco/jacoco.xml,./powertools-logging/target/site/jacoco/jacoco.xml,./powertools-metrics/target/site/jacoco/jacoco.xml,./powertools-parameters/target/site/jacoco/jacoco.xml,./powertools-serialization/target/site/jacoco/jacoco.xml,./powertools-sqs/target/site/jacoco/jacoco.xml,./powertools-tracing/target/site/jacoco/jacoco.xml,./powertools-validation/target/site/jacoco/jacoco.xml
109
+ files : ./powertools-cloudformation/target/site/jacoco/jacoco.xml,./powertools-core/target/site/jacoco/jacoco.xml,./powertools-idempotency/target/site/jacoco/jacoco.xml,./powertools-logging/target/site/jacoco/jacoco.xml,./powertools-metrics/target/site/jacoco/jacoco.xml,./powertools-parameters/target/site/jacoco/jacoco.xml,./powertools-serialization/target/site/jacoco/jacoco.xml,./powertools-sqs/target/site/jacoco/jacoco.xml,./powertools-tracing/target/site/jacoco/jacoco.xml,./powertools-validation/target/site/jacoco/jacoco.xml,./powertools-large-messages/target/site/jacoco/jacoco.xml,./powertools-batch/target/site/jacoco/jacoco.xml
76
110
savepr :
77
111
runs-on : ubuntu-latest
78
112
name : Save PR number if running on PR by dependabot
0 commit comments