1
- name : Publish Docker Image
1
+ name : Build uber jar
2
2
3
3
on :
4
4
release :
11
11
- main
12
12
13
13
jobs :
14
- build-and-publish :
14
+ uber-jar :
15
15
runs-on : ubuntu-latest
16
+
17
+ permissions :
18
+ contents : read
19
+ packages : write
20
+
16
21
strategy :
17
22
matrix :
18
- SQRL_VERSION : [v0.5.6, v0.5.7, v0.5.8, v0.5.9, v0.5.10, dev]
23
+ SQRL_VERSION : [0.5.10, 0.6.0-SNAPSHOT]
24
+ FLINK_PROFILE : [flink-1.19, flink-1.20]
19
25
20
26
env :
21
27
DOCKER_REPO : datasqrl/flink-jar-runner
@@ -28,43 +34,52 @@ jobs:
28
34
- name : Set up Docker Buildx
29
35
uses : docker/setup-buildx-action@v2
30
36
31
- - name : Log in to Docker Hub
32
- if : github.event_name == 'release' && github.event.action == 'created'
33
- uses : docker/login-action@v2
34
- with :
35
- username : ${{ secrets.DOCKER_USERNAME }}
36
- password : ${{ secrets.DOCKER_PASSWORD }}
37
+ - name : Generate settings.xml
38
+ run : |
39
+ mkdir -p ~/.m2
40
+ echo "<settings>
41
+ <servers>
42
+ <server>
43
+ <id>github</id>
44
+ <username>${{ github.actor }}</username>
45
+ <password>${{ secrets.GITHUB_TOKEN }}</password>
46
+ </server>
47
+ </servers>
48
+ </settings>" > ~/.m2/settings.xml
37
49
38
- - name : Pull base images
50
+ - name : Download dependencies
39
51
run : |
40
- docker pull gradle:8.6-jdk11
41
- docker pull flink:1.19.1-scala_2.12-java11
52
+ mvn -B org.apache.maven.plugins:maven-dependency-plugin:3.8.1:go-offline de.qaware.maven:go-offline-maven-plugin:1.2.8:resolve-dependencies -P${{ matrix.FLINK_PROFILE }} -Dsqrl.version=${{ matrix.SQRL_VERSION }}
42
53
43
- - name : Run Maven Build
54
+ - name : Update version
44
55
if : github.event_name == 'release' && github.event.action == 'created'
45
56
run : |
46
57
mvn -B versions:set -DnewVersion=${{ env.VERSION }}
47
- mvn -B clean install -DskipTests=true
48
58
49
- - name : Build Docker image
50
- working-directory : flink-dockerfile-example
59
+ - name : Run Maven Build
51
60
run : |
52
- DOCKER_TAG=$DOCKER_REPO:${{ env.VERSION }}-sqrl${{ matrix.SQRL_VERSION }}
53
- docker build --build-arg SQRL_VERSION=${{ matrix.SQRL_VERSION }} --build-arg GITHUB_ACTOR=${{ github.actor }} --build-arg GITHUB_TOKEN=${{ secrets.GITHUB_TOKEN }} -t $DOCKER_TAG .
61
+ mvn -B clean install -P${{ matrix.FLINK_PROFILE }} -Dsqrl.version=${{ matrix.SQRL_VERSION }}
54
62
55
- - name : Push Docker image
56
- if : github.event_name == 'release' && github.event.action == 'created'
63
+ - name : Log in to Docker Hub
64
+ uses : docker/login-action@v2
65
+ with :
66
+ username : ${{ secrets.DOCKER_USERNAME }}
67
+ password : ${{ secrets.DOCKER_PASSWORD }}
68
+
69
+ - name : Build Docker image
70
+ working-directory : ./target/
57
71
run : |
58
- DOCKER_TAG=$DOCKER_REPO:${{ env.VERSION }}-sqrl${{ matrix.SQRL_VERSION }}
72
+ DOCKER_TAG=$DOCKER_REPO:${{ env.VERSION }}-sqrl-${{ matrix.SQRL_VERSION }}-${{ matrix.FLINK_PROFILE }}
73
+ docker build --build-arg SQRL_VERSION=${{ matrix.SQRL_VERSION }} --build-arg RUNNER_VERSION=${{ env.VERSION }} -t $DOCKER_TAG .
59
74
docker push $DOCKER_TAG
60
75
61
76
- name : Upload to GitHub Release
62
77
if : github.event_name == 'release' && github.event.action == 'created'
63
78
uses : actions/upload-release-asset@v1
64
79
with :
65
80
upload_url : ${{ github.event.release.upload_url }}
66
- asset_path : target/flink-jar-runner-${{ env.VERSION }} .jar
67
- asset_name : flink-jar-runner-${{ env.VERSION }}.jar
81
+ asset_path : target/flink-jar-runner.uber .jar
82
+ asset_name : flink-jar-runner-${{ env.VERSION }}-sqrl-${{ matrix.SQRL_VERSION }}-${{ matrix.FLINK_PROFILE }} .jar
68
83
asset_content_type : application/java-archive
69
84
env :
70
85
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments