From 00a032e1733473d6ac8396fb3d50459d4e15b011 Mon Sep 17 00:00:00 2001 From: Maxime David Date: Tue, 6 Aug 2024 13:35:20 +0200 Subject: [PATCH 01/11] feat: disable CodeArtifact publishing, enable CodeCov publishing --- ...runtime-interface-client_merge_to_main.yml | 34 +++---------------- 1 file changed, 5 insertions(+), 29 deletions(-) diff --git a/.github/workflows/runtime-interface-client_merge_to_main.yml b/.github/workflows/runtime-interface-client_merge_to_main.yml index 8dd3b8179..f8ff0dfc8 100644 --- a/.github/workflows/runtime-interface-client_merge_to_main.yml +++ b/.github/workflows/runtime-interface-client_merge_to_main.yml @@ -1,14 +1,9 @@ # This workflow will be triggered on merge to the main branch if # aws-lambda-java-runtime-interface-client package was changed # -# It will publish artifacts to CodeArtifact repository, specified by properties defined in GitHub repo secrets: -# CODE_ARTIFACT_REPO_ACCOUNT, AWS_REGION, CODE_ARTIFACT_REPO_NAME, CODE_ARTIFACT_DOMAIN -# and will assume role specified by AWS_ROLE -# -# Prerequisite setup: -# https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services +# It will build and test the aws-lambda-java-runtime-interface-client and publish CODECOV report -name: Publish artifact for aws-lambda-java-runtime-interface-client +name: Build, test and publish coverage for aws-lambda-java-runtime-interface-client on: push: @@ -52,26 +47,7 @@ jobs: env: IS_JAVA_8: true - - name: Issue AWS credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - aws-region: ${{ secrets.AWS_REGION }} - role-to-assume: ${{ secrets.AWS_ROLE }} - role-session-name: GitHubActionsPublishPackage - role-duration-seconds: 900 - - - name: Prepare codeartifact properties - working-directory: ./aws-lambda-java-runtime-interface-client/ric-dev-environment - run: | - cat < codeartifact-properties.mk - CODE_ARTIFACT_REPO_ACCOUNT=${{ secrets.AWS_ACCOUNT }} - CODE_ARTIFACT_REPO_REGION=${{ env.AWS_REGION }} - CODE_ARTIFACT_REPO_NAME=${{ secrets.CODE_ARTIFACT_REPO_NAME }} - CODE_ARTIFACT_DOMAIN=${{ secrets.AWS_CODEARTIFACT_DOMAIN }} - EOF - - - name: Publish - working-directory: ./aws-lambda-java-runtime-interface-client + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v4 env: - ENABLE_SNAPSHOT: ${{ secrets.ENABLE_SNAPSHOT }} - run: make publish + CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} From e57a1e8f48d56648b89f2b0afb3edcc0c231a6ff Mon Sep 17 00:00:00 2001 From: Maxime David Date: Tue, 6 Aug 2024 13:49:36 +0200 Subject: [PATCH 02/11] feat: disable CodeArtifact publishing, enable CodeCov publishing --- .github/workflows/runtime-interface-client_merge_to_main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/runtime-interface-client_merge_to_main.yml b/.github/workflows/runtime-interface-client_merge_to_main.yml index f8ff0dfc8..6b84e7b96 100644 --- a/.github/workflows/runtime-interface-client_merge_to_main.yml +++ b/.github/workflows/runtime-interface-client_merge_to_main.yml @@ -10,6 +10,7 @@ on: branches: [ main ] paths: - 'aws-lambda-java-runtime-interface-client/**' + - '.github/workflows/runtime-interface-client_merge_to_main.yml' workflow_dispatch: jobs: From b874f5fa4af001cb6a2a20fff03faae93ec79d9d Mon Sep 17 00:00:00 2001 From: Maxime David Date: Tue, 6 Aug 2024 14:41:50 +0200 Subject: [PATCH 03/11] feat: disable CodeArtifact publishing, enable CodeCov publishing --- .github/workflows/runtime-interface-client_merge_to_main.yml | 1 - .github/workflows/runtime-interface-client_pr.yml | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/runtime-interface-client_merge_to_main.yml b/.github/workflows/runtime-interface-client_merge_to_main.yml index 6b84e7b96..f8ff0dfc8 100644 --- a/.github/workflows/runtime-interface-client_merge_to_main.yml +++ b/.github/workflows/runtime-interface-client_merge_to_main.yml @@ -10,7 +10,6 @@ on: branches: [ main ] paths: - 'aws-lambda-java-runtime-interface-client/**' - - '.github/workflows/runtime-interface-client_merge_to_main.yml' workflow_dispatch: jobs: diff --git a/.github/workflows/runtime-interface-client_pr.yml b/.github/workflows/runtime-interface-client_pr.yml index 654dd6c93..7d8d5adab 100644 --- a/.github/workflows/runtime-interface-client_pr.yml +++ b/.github/workflows/runtime-interface-client_pr.yml @@ -9,6 +9,7 @@ on: paths: - 'aws-lambda-java-runtime-interface-client/**' - '.github/workflows/runtime-interface-client_pr.yml' + - '.github/workflows/runtime-interface-client_merge_to_main.yml' jobs: From 3ad40097cfd3037b60733569bedc3b09b6ece7bb Mon Sep 17 00:00:00 2001 From: Maxime David Date: Tue, 6 Aug 2024 18:12:52 +0200 Subject: [PATCH 04/11] feat: disable CodeArtifact publishing, enable CodeCov publishing --- ...runtime-interface-client_merge_to_main.yml | 38 ++++++++++++++++++- .../workflows/runtime-interface-client_pr.yml | 4 +- 2 files changed, 38 insertions(+), 4 deletions(-) diff --git a/.github/workflows/runtime-interface-client_merge_to_main.yml b/.github/workflows/runtime-interface-client_merge_to_main.yml index f8ff0dfc8..9432729b1 100644 --- a/.github/workflows/runtime-interface-client_merge_to_main.yml +++ b/.github/workflows/runtime-interface-client_merge_to_main.yml @@ -1,15 +1,21 @@ # This workflow will be triggered on merge to the main branch if # aws-lambda-java-runtime-interface-client package was changed # -# It will build and test the aws-lambda-java-runtime-interface-client and publish CODECOV report +# It will publish artifacts to CodeArtifact repository, specified by properties defined in GitHub repo secrets: +# CODE_ARTIFACT_REPO_ACCOUNT, AWS_REGION, CODE_ARTIFACT_REPO_NAME, CODE_ARTIFACT_DOMAIN +# and will assume role specified by AWS_ROLE +# +# Prerequisite setup: +# https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services -name: Build, test and publish coverage for aws-lambda-java-runtime-interface-client +name: Publish artifact for aws-lambda-java-runtime-interface-client on: push: branches: [ main ] paths: - 'aws-lambda-java-runtime-interface-client/**' + - '.github/workflows/runtime-interface-client_*.yml' workflow_dispatch: jobs: @@ -47,7 +53,35 @@ jobs: env: IS_JAVA_8: true + - name: Issue AWS credentials + if: github.repository != "aws/aws-lambda-java-libs" + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-region: ${{ secrets.AWS_REGION }} + role-to-assume: ${{ secrets.AWS_ROLE }} + role-session-name: GitHubActionsPublishPackage + role-duration-seconds: 900 + + - name: Prepare codeartifact properties + if: github.repository != "aws/aws-lambda-java-libs" + working-directory: ./aws-lambda-java-runtime-interface-client/ric-dev-environment + run: | + cat < codeartifact-properties.mk + CODE_ARTIFACT_REPO_ACCOUNT=${{ secrets.AWS_ACCOUNT }} + CODE_ARTIFACT_REPO_REGION=${{ env.AWS_REGION }} + CODE_ARTIFACT_REPO_NAME=${{ secrets.CODE_ARTIFACT_REPO_NAME }} + CODE_ARTIFACT_DOMAIN=${{ secrets.AWS_CODEARTIFACT_DOMAIN }} + EOF + + - name: Publish + if: github.repository != "aws/aws-lambda-java-libs" + working-directory: ./aws-lambda-java-runtime-interface-client + env: + ENABLE_SNAPSHOT: ${{ secrets.ENABLE_SNAPSHOT }} + run: make publish + - name: Upload coverage to Codecov + if: github.repository == "aws/aws-lambda-java-libs" uses: codecov/codecov-action@v4 env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/runtime-interface-client_pr.yml b/.github/workflows/runtime-interface-client_pr.yml index 7d8d5adab..e31d713ba 100644 --- a/.github/workflows/runtime-interface-client_pr.yml +++ b/.github/workflows/runtime-interface-client_pr.yml @@ -8,8 +8,7 @@ on: branches: [ '*' ] paths: - 'aws-lambda-java-runtime-interface-client/**' - - '.github/workflows/runtime-interface-client_pr.yml' - - '.github/workflows/runtime-interface-client_merge_to_main.yml' + - '.github/workflows/runtime-interface-client_*.yml' jobs: @@ -65,6 +64,7 @@ jobs: path: ./aws-lambda-java-runtime-interface-client/target/aws-lambda-java-runtime-interface-client-*.jar - name: Upload coverage to Codecov + if: github.repository == "aws/aws-lambda-java-libs" uses: codecov/codecov-action@v4 env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} From d9cc6423e194b1a3fc57543fe936d4507a0800eb Mon Sep 17 00:00:00 2001 From: Maxime David Date: Tue, 6 Aug 2024 18:13:20 +0200 Subject: [PATCH 05/11] feat: disable CodeArtifact publishing, enable CodeCov publishing --- .github/workflows/runtime-interface-client_merge_to_main.yml | 2 +- .github/workflows/runtime-interface-client_pr.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/runtime-interface-client_merge_to_main.yml b/.github/workflows/runtime-interface-client_merge_to_main.yml index 9432729b1..546d4cc85 100644 --- a/.github/workflows/runtime-interface-client_merge_to_main.yml +++ b/.github/workflows/runtime-interface-client_merge_to_main.yml @@ -79,7 +79,7 @@ jobs: env: ENABLE_SNAPSHOT: ${{ secrets.ENABLE_SNAPSHOT }} run: make publish - + - name: Upload coverage to Codecov if: github.repository == "aws/aws-lambda-java-libs" uses: codecov/codecov-action@v4 diff --git a/.github/workflows/runtime-interface-client_pr.yml b/.github/workflows/runtime-interface-client_pr.yml index e31d713ba..2da5a853a 100644 --- a/.github/workflows/runtime-interface-client_pr.yml +++ b/.github/workflows/runtime-interface-client_pr.yml @@ -50,13 +50,13 @@ jobs: - name: Available buildx platforms run: echo ${{ steps.buildx.outputs.platforms }} - + - name: Test Runtime Interface Client xplatform build - Run 'build' target working-directory: ./aws-lambda-java-runtime-interface-client run: make build env: IS_JAVA_8: true - + - name: Save the built jar uses: actions/upload-artifact@v4 with: From 02bd9e3f22796ee87b9b76c89850f3a9633046e0 Mon Sep 17 00:00:00 2001 From: Maxime David Date: Tue, 6 Aug 2024 18:13:47 +0200 Subject: [PATCH 06/11] feat: disable CodeArtifact publishing, enable CodeCov publishing --- .github/workflows/runtime-interface-client_pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/runtime-interface-client_pr.yml b/.github/workflows/runtime-interface-client_pr.yml index 2da5a853a..f0cd0d178 100644 --- a/.github/workflows/runtime-interface-client_pr.yml +++ b/.github/workflows/runtime-interface-client_pr.yml @@ -56,7 +56,7 @@ jobs: run: make build env: IS_JAVA_8: true - + - name: Save the built jar uses: actions/upload-artifact@v4 with: From 11f3f41c1515e7c719eb3922d8e45c50720f67ea Mon Sep 17 00:00:00 2001 From: Maxime David Date: Tue, 6 Aug 2024 18:16:58 +0200 Subject: [PATCH 07/11] feat: disable CodeArtifact publishing, enable CodeCov publishing --- .../workflows/runtime-interface-client_merge_to_main.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/runtime-interface-client_merge_to_main.yml b/.github/workflows/runtime-interface-client_merge_to_main.yml index 546d4cc85..1ca92349a 100644 --- a/.github/workflows/runtime-interface-client_merge_to_main.yml +++ b/.github/workflows/runtime-interface-client_merge_to_main.yml @@ -54,7 +54,7 @@ jobs: IS_JAVA_8: true - name: Issue AWS credentials - if: github.repository != "aws/aws-lambda-java-libs" + if: ${{ github.repository != "aws/aws-lambda-java-libs" }} uses: aws-actions/configure-aws-credentials@v4 with: aws-region: ${{ secrets.AWS_REGION }} @@ -63,7 +63,7 @@ jobs: role-duration-seconds: 900 - name: Prepare codeartifact properties - if: github.repository != "aws/aws-lambda-java-libs" + if: ${{ github.repository != "aws/aws-lambda-java-libs" }} working-directory: ./aws-lambda-java-runtime-interface-client/ric-dev-environment run: | cat < codeartifact-properties.mk @@ -74,14 +74,14 @@ jobs: EOF - name: Publish - if: github.repository != "aws/aws-lambda-java-libs" + if: ${{ github.repository != "aws/aws-lambda-java-libs" }} working-directory: ./aws-lambda-java-runtime-interface-client env: ENABLE_SNAPSHOT: ${{ secrets.ENABLE_SNAPSHOT }} run: make publish - name: Upload coverage to Codecov - if: github.repository == "aws/aws-lambda-java-libs" + if: ${{ github.repository != "aws/aws-lambda-java-libs" }} uses: codecov/codecov-action@v4 env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} From 18d76540e488bd4d297dbf4533222b8de93b9dab Mon Sep 17 00:00:00 2001 From: Maxime David Date: Tue, 6 Aug 2024 18:22:01 +0200 Subject: [PATCH 08/11] feat: disable CodeArtifact publishing, enable CodeCov publishing --- .github/workflows/runtime-interface-client_pr.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/runtime-interface-client_pr.yml b/.github/workflows/runtime-interface-client_pr.yml index f0cd0d178..00cedc983 100644 --- a/.github/workflows/runtime-interface-client_pr.yml +++ b/.github/workflows/runtime-interface-client_pr.yml @@ -64,7 +64,7 @@ jobs: path: ./aws-lambda-java-runtime-interface-client/target/aws-lambda-java-runtime-interface-client-*.jar - name: Upload coverage to Codecov - if: github.repository == "aws/aws-lambda-java-libs" + if: ${{ github.repository == "aws/aws-lambda-java-libs" }} uses: codecov/codecov-action@v4 env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} From 69ad05d448b87a49463d5da8d34f1f9511f9f31b Mon Sep 17 00:00:00 2001 From: Maxime David Date: Tue, 6 Aug 2024 18:24:21 +0200 Subject: [PATCH 09/11] feat: disable CodeArtifact publishing, enable CodeCov publishing --- .../workflows/runtime-interface-client_merge_to_main.yml | 8 ++++---- .github/workflows/runtime-interface-client_pr.yml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/runtime-interface-client_merge_to_main.yml b/.github/workflows/runtime-interface-client_merge_to_main.yml index 1ca92349a..a91fd95fd 100644 --- a/.github/workflows/runtime-interface-client_merge_to_main.yml +++ b/.github/workflows/runtime-interface-client_merge_to_main.yml @@ -54,7 +54,7 @@ jobs: IS_JAVA_8: true - name: Issue AWS credentials - if: ${{ github.repository != "aws/aws-lambda-java-libs" }} + if: ${{ github.repository != 'aws/aws-lambda-java-libs' }} uses: aws-actions/configure-aws-credentials@v4 with: aws-region: ${{ secrets.AWS_REGION }} @@ -63,7 +63,7 @@ jobs: role-duration-seconds: 900 - name: Prepare codeartifact properties - if: ${{ github.repository != "aws/aws-lambda-java-libs" }} + if: ${{ github.repository != 'aws/aws-lambda-java-libs' }} working-directory: ./aws-lambda-java-runtime-interface-client/ric-dev-environment run: | cat < codeartifact-properties.mk @@ -74,14 +74,14 @@ jobs: EOF - name: Publish - if: ${{ github.repository != "aws/aws-lambda-java-libs" }} + if: ${{ github.repository != 'aws/aws-lambda-java-libs' }} working-directory: ./aws-lambda-java-runtime-interface-client env: ENABLE_SNAPSHOT: ${{ secrets.ENABLE_SNAPSHOT }} run: make publish - name: Upload coverage to Codecov - if: ${{ github.repository != "aws/aws-lambda-java-libs" }} + if: ${{ github.repository != 'aws/aws-lambda-java-libs' }} uses: codecov/codecov-action@v4 env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/runtime-interface-client_pr.yml b/.github/workflows/runtime-interface-client_pr.yml index 00cedc983..dcac0b389 100644 --- a/.github/workflows/runtime-interface-client_pr.yml +++ b/.github/workflows/runtime-interface-client_pr.yml @@ -64,7 +64,7 @@ jobs: path: ./aws-lambda-java-runtime-interface-client/target/aws-lambda-java-runtime-interface-client-*.jar - name: Upload coverage to Codecov - if: ${{ github.repository == "aws/aws-lambda-java-libs" }} + if: ${{ github.repository == 'aws/aws-lambda-java-libs' }} uses: codecov/codecov-action@v4 env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} From 4e1ae47875aebf8f1b42b5b9251983e6684f135a Mon Sep 17 00:00:00 2001 From: Maxime David Date: Tue, 6 Aug 2024 18:26:19 +0200 Subject: [PATCH 10/11] feat: disable CodeArtifact publishing, enable CodeCov publishing --- .github/workflows/runtime-interface-client_merge_to_main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/runtime-interface-client_merge_to_main.yml b/.github/workflows/runtime-interface-client_merge_to_main.yml index a91fd95fd..b052ceba4 100644 --- a/.github/workflows/runtime-interface-client_merge_to_main.yml +++ b/.github/workflows/runtime-interface-client_merge_to_main.yml @@ -81,7 +81,7 @@ jobs: run: make publish - name: Upload coverage to Codecov - if: ${{ github.repository != 'aws/aws-lambda-java-libs' }} + if: ${{ github.repository == 'aws/aws-lambda-java-libs' }} uses: codecov/codecov-action@v4 env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} From 53ca83d03a2d8a357d42bf46f16c8664fd023e61 Mon Sep 17 00:00:00 2001 From: Maxime David Date: Wed, 7 Aug 2024 08:25:22 +0100 Subject: [PATCH 11/11] feat: disable CodeArtifact publishing, enable CodeCov publishing --- .../runtime-interface-client_merge_to_main.yml | 12 ++++++++---- .github/workflows/runtime-interface-client_pr.yml | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/runtime-interface-client_merge_to_main.yml b/.github/workflows/runtime-interface-client_merge_to_main.yml index b052ceba4..7db9d1aa2 100644 --- a/.github/workflows/runtime-interface-client_merge_to_main.yml +++ b/.github/workflows/runtime-interface-client_merge_to_main.yml @@ -54,7 +54,9 @@ jobs: IS_JAVA_8: true - name: Issue AWS credentials - if: ${{ github.repository != 'aws/aws-lambda-java-libs' }} + if: env.ENABLE_SNAPSHOT != null + env: + ENABLE_SNAPSHOT: ${{ secrets.ENABLE_SNAPSHOT }} uses: aws-actions/configure-aws-credentials@v4 with: aws-region: ${{ secrets.AWS_REGION }} @@ -63,7 +65,9 @@ jobs: role-duration-seconds: 900 - name: Prepare codeartifact properties - if: ${{ github.repository != 'aws/aws-lambda-java-libs' }} + if: env.ENABLE_SNAPSHOT != null + env: + ENABLE_SNAPSHOT: ${{ secrets.ENABLE_SNAPSHOT }} working-directory: ./aws-lambda-java-runtime-interface-client/ric-dev-environment run: | cat < codeartifact-properties.mk @@ -74,14 +78,14 @@ jobs: EOF - name: Publish - if: ${{ github.repository != 'aws/aws-lambda-java-libs' }} + if: env.ENABLE_SNAPSHOT != null working-directory: ./aws-lambda-java-runtime-interface-client env: ENABLE_SNAPSHOT: ${{ secrets.ENABLE_SNAPSHOT }} run: make publish - name: Upload coverage to Codecov - if: ${{ github.repository == 'aws/aws-lambda-java-libs' }} + if: env.CODECOV_TOKEN != null uses: codecov/codecov-action@v4 env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/runtime-interface-client_pr.yml b/.github/workflows/runtime-interface-client_pr.yml index dcac0b389..35a3334bb 100644 --- a/.github/workflows/runtime-interface-client_pr.yml +++ b/.github/workflows/runtime-interface-client_pr.yml @@ -64,7 +64,7 @@ jobs: path: ./aws-lambda-java-runtime-interface-client/target/aws-lambda-java-runtime-interface-client-*.jar - name: Upload coverage to Codecov - if: ${{ github.repository == 'aws/aws-lambda-java-libs' }} + if: env.CODECOV_TOKEN != null uses: codecov/codecov-action@v4 env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}