1- name : Publish Docker Image
1+ name : Build uber jar
22
33on :
44 release :
1111 - main
1212
1313jobs :
14- build-and-publish :
14+ uber-jar :
1515 runs-on : ubuntu-latest
16+
17+ permissions :
18+ contents : read
19+ packages : write
20+
1621 strategy :
1722 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]
1925
2026 env :
2127 DOCKER_REPO : datasqrl/flink-jar-runner
@@ -28,43 +34,52 @@ jobs:
2834 - name : Set up Docker Buildx
2935 uses : docker/setup-buildx-action@v2
3036
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
3749
38- - name : Pull base images
50+ - name : Download dependencies
3951 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 }}
4253
43- - name : Run Maven Build
54+ - name : Update version
4455 if : github.event_name == 'release' && github.event.action == 'created'
4556 run : |
4657 mvn -B versions:set -DnewVersion=${{ env.VERSION }}
47- mvn -B clean install -DskipTests=true
4858
49- - name : Build Docker image
50- working-directory : flink-dockerfile-example
59+ - name : Run Maven Build
5160 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 }}
5462
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/
5771 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 .
5974 docker push $DOCKER_TAG
6075
6176 - name : Upload to GitHub Release
6277 if : github.event_name == 'release' && github.event.action == 'created'
6378 uses : actions/upload-release-asset@v1
6479 with :
6580 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
6883 asset_content_type : application/java-archive
6984 env :
7085 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments