diff --git a/.github/workflows/run-e2e-tests.yml b/.github/workflows/run-e2e-tests.yml
new file mode 100644
index 000000000..2d9324ef0
--- /dev/null
+++ b/.github/workflows/run-e2e-tests.yml
@@ -0,0 +1,48 @@
+name: Run end-to-end tests
+
+on:
+ workflow_dispatch:
+
+ push:
+ branches: [main]
+ paths: # add other modules when there are under e2e tests
+ - 'powertools-e2e-tests/**'
+ - 'powertools-core/**'
+ - 'powertools-serialization/**'
+ - 'powertools-logging/**'
+ - 'powertools-tracing/**'
+ - 'powertools-idempotency/**'
+ - 'powertools-parameters/**'
+ - 'powertools-metrics/**'
+ - 'pom.xml'
+ - '.github/workflows/**'
+
+jobs:
+ e2e:
+ runs-on: ubuntu-latest
+ strategy:
+ max-parallel: 3
+ matrix:
+ java: [ 8, 11, 17 ]
+ name: End-to-end tests java${{ matrix.java }}
+ env:
+ JAVA_VERSION: ${{ matrix.java }}
+ AWS_DEFAULT_REGION: eu-west-1
+ permissions:
+ id-token: write # needed to interact with GitHub's OIDC Token endpoint.
+ contents: read
+ steps:
+ - uses: actions/checkout@v3
+ - name: Setup java
+ uses: actions/setup-java@v3
+ with:
+ distribution: 'corretto'
+ java-version: ${{ matrix.java }}
+ cache: maven
+ - name: Setup AWS credentials
+ uses: aws-actions/configure-aws-credentials@v1.6.1
+ with:
+ role-to-assume: ${{ secrets.AWS_ROLE_ARN_TO_ASSUME }}
+ aws-region: ${{ env.AWS_DEFAULT_REGION }}
+ - name: Run e2e test with Maven
+ run: mvn -Pe2e -B verify --file powertools-e2e-tests/pom.xml
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index ea57585e3..53c9762f9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -296,7 +296,7 @@
ch.qos.logback
logback-classic
- 1.4.7
+ 1.3.8
test
diff --git a/powertools-e2e-tests/pom.xml b/powertools-e2e-tests/pom.xml
index 9dc20f784..eae7d4a22 100644
--- a/powertools-e2e-tests/pom.xml
+++ b/powertools-e2e-tests/pom.xml
@@ -29,7 +29,7 @@
ch.qos.logback
logback-classic
- 1.4.7
+ 1.3.8
diff --git a/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/IdempotencyE2ET.java b/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/IdempotencyE2ET.java
index 4133f986f..6923c3caa 100644
--- a/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/IdempotencyE2ET.java
+++ b/powertools-e2e-tests/src/test/java/software/amazon/lambda/powertools/IdempotencyE2ET.java
@@ -10,6 +10,7 @@
import java.time.Year;
import java.util.Collections;
+import java.util.UUID;
import java.util.concurrent.TimeUnit;
import static software.amazon.lambda.powertools.testutils.lambda.LambdaInvoker.invokeFunction;
@@ -21,11 +22,12 @@ public class IdempotencyE2ET {
@BeforeAll
@Timeout(value = 5, unit = TimeUnit.MINUTES)
public static void setup() {
+ String random = UUID.randomUUID().toString().substring(0, 6);
infrastructure = Infrastructure.builder()
.testName(IdempotencyE2ET.class.getSimpleName())
.pathToFunction("idempotency")
- .idempotencyTable("idempo")
- .environmentVariables(Collections.singletonMap("IDEMPOTENCY_TABLE", "idempo"))
+ .idempotencyTable("idempo" + random)
+ .environmentVariables(Collections.singletonMap("IDEMPOTENCY_TABLE", "idempo" + random))
.build();
functionName = infrastructure.deploy();
}