Skip to content

Commit 3450a9b

Browse files
authored
Split GitHub actions to two files for PR and Merge to main (#3)
1 parent ff34492 commit 3450a9b

File tree

3 files changed

+77
-41
lines changed

3 files changed

+77
-41
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# This workflow will be triggered on merge to the main branch if
2+
# aws-lambda-java-runtime-interface-client package was changed
3+
#
4+
# It will publish artifacts to CodeArtifact repository, specified by properties defined in GitHub repo secrets:
5+
# CODE_ARTIFACT_REPO_ACCOUNT, AWS_REGION, CODE_ARTIFACT_REPO_NAME, CODE_ARTIFACT_DOMAIN
6+
# and will assume role specified by AWS_ROLE
7+
#
8+
# Prerequisite setup:
9+
# https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services
10+
11+
name: Publish artifact for aws-lambda-java-runtime-interface-client
12+
13+
on:
14+
push:
15+
branches: [ main ]
16+
paths:
17+
- 'aws-lambda-java-runtime-interface-client/**'
18+
19+
jobs:
20+
21+
publish:
22+
runs-on: ubuntu-latest
23+
24+
permissions:
25+
id-token: write
26+
contents: read
27+
28+
steps:
29+
- uses: actions/checkout@v3
30+
31+
- name: Set up JDK 1.8
32+
uses: actions/setup-java@v3
33+
with:
34+
java-version: 8
35+
distribution: corretto
36+
37+
- name: Set up QEMU
38+
uses: docker/setup-qemu-action@v2
39+
40+
- name: Set up Docker Buildx
41+
uses: docker/setup-buildx-action@v2
42+
with:
43+
install: true
44+
45+
- name: Available buildx platforms
46+
run: echo ${{ steps.buildx.outputs.platforms }}
47+
48+
- name: Test Runtime Interface Client xplatform build - Run 'build' target
49+
working-directory: ./aws-lambda-java-runtime-interface-client
50+
run: make build
51+
52+
- name: Issue AWS credentials
53+
uses: aws-actions/configure-aws-credentials@v1
54+
with:
55+
aws-region: ${{ secrets.AWS_REGION }}
56+
role-to-assume: ${{ secrets.AWS_ROLE }}
57+
role-session-name: GitHubActionsPublishPackage
58+
role-duration-seconds: 900
59+
60+
- name: Prepare codeartifact properties
61+
working-directory: ./aws-lambda-java-runtime-interface-client/ric-dev-environment
62+
run: |
63+
cat <<EOF > codeartifact-properties.mk
64+
CODE_ARTIFACT_REPO_ACCOUNT=${{ secrets.AWS_ACCOUNT }}
65+
CODE_ARTIFACT_REPO_REGION=${{ env.AWS_REGION }}
66+
CODE_ARTIFACT_REPO_NAME=${{ secrets.CODE_ARTIFACT_REPO_NAME }}
67+
CODE_ARTIFACT_DOMAIN=${{ secrets.AWS_CODEARTIFACT_DOMAIN }}
68+
EOF
69+
70+
- name: Publish
71+
working-directory: ./aws-lambda-java-runtime-interface-client
72+
env:
73+
ENABLE_SNAPSHOT: ${{ secrets.ENABLE_SNAPSHOT }}
74+
run: make publish

.github/workflows/aws-lambda-java-runtime-interface-client.yml renamed to .github/workflows/runtime-interface-client_pr.yml

+2-40
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
# This workflow will be triggered if there will be changes to
22
# aws-lambda-java-runtime-interface-client package and it builds the package.
33

4-
name: Java CI aws-lambda-java-runtime-interface-client
4+
name: PR to runtime-interface-client
55

66
on:
7-
push:
8-
branches: [ main ]
9-
paths:
10-
- 'aws-lambda-java-runtime-interface-client/**'
117
pull_request:
128
branches: [ '*' ]
139
paths:
@@ -59,39 +55,5 @@ jobs:
5955
- name: Save the built jar
6056
uses: actions/upload-artifact@v3
6157
with:
62-
name: the-jar
58+
name: aws-lambda-java-runtime-interface-client
6359
path: ./aws-lambda-java-runtime-interface-client/target/aws-lambda-java-runtime-interface-client-*.jar
64-
65-
publish:
66-
runs-on: ubuntu-latest
67-
needs: build
68-
if: github.ref == 'refs/heads/main'
69-
70-
permissions:
71-
id-token: write
72-
contents: read
73-
74-
steps:
75-
- name: Issue AWS credentials
76-
uses: aws-actions/configure-aws-credentials@v1
77-
with:
78-
aws-region: ${{ secrets.AWS_REGION }}
79-
role-to-assume: ${{ secrets.AWS_ROLE }}
80-
role-session-name: GitHubActionsPublishPackage
81-
role-duration-seconds: 900
82-
83-
- name: Prepare codeartifact properties
84-
working-directory: ./aws-lambda-java-runtime-interface-client/ric-dev-environment
85-
run: |
86-
cat <<EOF > codeartifact-properties.mk
87-
CODE_ARTIFACT_REPO_ACCOUNT=${{ secrets.AWS_ACCOUNT }}
88-
CODE_ARTIFACT_REPO_REGION=${{ env.AWS_REGION }}
89-
CODE_ARTIFACT_REPO_NAME=${{ secrets.CODE_ARTIFACT_REPO_NAME }}
90-
CODE_ARTIFACT_DOMAIN=${{ secrets.AWS_CODEARTIFACT_DOMAIN }}
91-
EOF
92-
93-
- name: Publish
94-
working-directory: ./aws-lambda-java-runtime-interface-client
95-
env:
96-
ENABLE_SNAPSHOT: ${{ secrets.ENABLE_SNAPSHOT }}
97-
run: make publish

aws-lambda-java-runtime-interface-client/ric-dev-environment/codeartifact-repo.mk

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,4 @@ ifneq ("$(wildcard ric-dev-environment/codeartifact-properties.mk)","")
2424
# $(info MAVEN_REPO_PASSWORD: $(MAVEN_REPO_PASSWORD))
2525
$(info MAVEN_REPO_USERNAME: $(MAVEN_REPO_USERNAME))
2626
$(info CODE_ARTIFACT_REPO_NAME: $(CODE_ARTIFACT_REPO_NAME))
27-
endif
27+
endif

0 commit comments

Comments
 (0)