-
-
Notifications
You must be signed in to change notification settings - Fork 9
123 lines (109 loc) · 3.95 KB
/
release-aws-images.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
name: Release Docker Images on AWS ECR (elastic container registry)
on:
workflow_dispatch:
workflow_call:
inputs:
module:
description: 'Kind of module to build'
default: 'full'
type: string
branch:
description: 'Branch to use'
default: 'develop'
type: string
tag:
description: 'Tag to use'
default: 'develop'
type: string
type:
description: 'Type: default or full (includes custom components)'
default: 'default'
type: string
jobs:
publish_docker_images:
runs-on: ubuntu-latest
env:
BUILD_TAG: ${{ inputs.module }}
VERSION_TAG: ${{ inputs.branch }}
GITHUB_ACTOR: ${{ secrets.GITHUB_ACTOR }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Checkout the code
uses: actions/checkout@v4
with:
ref: "${{ inputs.branch }}"
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
- name: Setup Maven settings.xml
uses: whelk-io/maven-settings-xml-action@v20
with:
repositories: >
[
{
"id": "maven",
"name": "Maven Central",
"url": "https://repo1.maven.org/maven2"
},
{
"id": "github",
"name": "Assimbly Base Repository",
"url": "https://maven.pkg.github.com/assimbly/base",
"snapshots": {
"enabled": "true"
}
},
{
"id": "github",
"name": "Assimbly Runtime Repository",
"url": "https://maven.pkg.github.com/assimbly/runtime",
"snapshots": {
"enabled": "true"
}
},
{
"id": "github",
"name": "Assimbly Custom-Components Repository",
"url": "https://maven.pkg.github.com/assimbly/custom-components",
"snapshots": {
"enabled": "true"
}
},
{
"id": "aurea",
"name": "Aurea Sonic Repository",
"url": "https://int-factory.aurea.com/nexus/content/repositories/sonic-releases/"
}
]
servers: >
[
{
"id": "github",
"username": "assimbly",
"password": "${{ secrets.GITHUB_TOKEN }}"
}
]
- name: Remove HTTP blocker from the built in settings.xml
run: |
export MAVEN_PATH=$(mvn -X | grep "home" | head -1 | cut -d " " -f 3)
echo "this is the path: $MAVEN_PATH"
echo '<?xml version="1.0" encoding="UTF-8"?>' > "$MAVEN_PATH/conf/settings.xml"
echo '<settings xmlns="http://maven.apache.org/SETTINGS/1.2.0" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">' >> "$MAVEN_PATH/conf/settings.xml"
echo '</settings>' >> "$MAVEN_PATH/conf/settings.xml"
cat $MAVEN_PATH/conf/settings.xml
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: eu-west-1
- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v1
- name: Push gateway image to Amazon ECR
run: |
clear & ./gradlew clean bootJar jib -Djib.to.image=902987087860.dkr.ecr.eu-west-1.amazonaws.com/gateway-${{ inputs.module }}:${{ inputs.tag }} --settings-file ./settings.gradle -Papi-docs -P${{ inputs.module }} -Pprod -P${{ inputs.type }}