66 - main
77 - v2
88 paths :
9+ - ' powertools-batch/**'
910 - ' 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/**'
1216 - ' powertools-logging/**'
13- - ' powertools-sqs/**'
17+ - ' powertools-metrics/**'
18+ - ' powertools-parameters/**'
19+ - ' powertools-serialization/**'
1420 - ' powertools-tracing/**'
1521 - ' powertools-validation/**'
16- - ' powertools-idempotency/**'
17- - ' powertools-parameters/**'
18- - ' powertools-metrics/**'
19- - ' powertools-test-suite/**'
20- - ' powertools-e2e-tests/**'
2122 - ' examples/**'
2223 - ' pom.xml'
2324 - ' examples/pom.xml'
2627 branches :
2728 - main
2829 paths :
30+ - ' powertools-batch/**'
2931 - ' powertools-cloudformation/**'
3032 - ' powertools-core/**'
33+ - ' powertools-e2e-tests/**'
34+ - ' powertools-idempotency/**'
35+ - ' powertools-large-messages/**'
36+ - ' powertools-metrics/**'
37+ - ' powertools-parameters/**'
3138 - ' powertools-serialization/**'
32- - ' powertools-logging/**'
3339 - ' powertools-sqs/**'
3440 - ' powertools-tracing/**'
3541 - ' powertools-validation/**'
36- - ' powertools-idempotency/**'
37- - ' powertools-parameters/**'
38- - ' powertools-metrics/**'
39- - ' powertools-test-suite/**'
40- - ' powertools-e2e-tests/**'
4142 - ' examples/**'
4243 - ' pom.xml'
4344 - ' examples/pom.xml'
@@ -48,11 +49,14 @@ jobs:
4849 strategy :
4950 max-parallel : 5
5051 matrix :
51- java : [8, 11, 15, 16, 17, 18, 19, 20 ]
52+ java : [8, 11, 17, 21, 15, 16, 18, 19, 20]
5253 name : Java ${{ matrix.java }}
5354 env :
5455 JAVA : ${{ matrix.java }}
5556 AWS_REGION : eu-west-1
57+ permissions :
58+ id-token : write # needed to interact with GitHub's OIDC Token endpoint.
59+ contents : read
5660 steps :
5761 - uses : actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
5862 - name : Setup java
@@ -63,16 +67,46 @@ jobs:
6367 cache : ' maven'
6468 - name : Build with Maven
6569 run : mvn -B install --file pom.xml
66- - name : Build Gradle Example
70+ - name : Build Gradle Example - Java
6771 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' }}
68101 run : |
69- cd examples/powertools-examples-core-utilities/gradle
70- ./gradlew build
102+ tflint --version
103+ tflint --init
104+ tflint -f compact
71105 - name : Upload coverage to Codecov
72106 uses : codecov/codecov-action@d9f34f8cd5cb3b3eb79b3e4b5dae3a16df499a70 # v3.1.1
73107 if : ${{ matrix.java == '11' }} # publish results once
74108 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
76110 savepr :
77111 runs-on : ubuntu-latest
78112 name : Save PR number if running on PR by dependabot
0 commit comments