Skip to content

Generate docker image with uber-jar #13

Generate docker image with uber-jar

Generate docker image with uber-jar #13

Workflow file for this run

name: Build uber jar
on:
release:
types: [created]
push:
branches:
- main
pull_request:
branches:
- main
jobs:
uber-jar:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
strategy:
matrix:
SQRL_VERSION: [0.5.6, 0.5.7, 0.5.8, 0.5.9, 0.5.10, 0.6.0-SNAPSHOT]
FLINK_PROFILE: [flink18, flink19]
env:
DOCKER_REPO: datasqrl/flink-jar-runner
VERSION: ${{ github.event_name == 'release' && github.event.action == 'created' && github.ref_name || 'snapshot' }}
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Log in to Docker Hub
if: github.event_name == 'release' && github.event.action == 'created'
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Pull base images
run: |
docker pull alpine:3
- name: Generate settings.xml
run: |
mkdir -p ~/.m2
echo "<settings>
<servers>
<server>
<id>github</id>
<username>${{ github.actor }}</username>
<password>${{ secrets.GITHUB_TOKEN }}</password>
</server>
</servers>
</settings>" > ~/.m2/settings.xml
- name: Download dependencies
run: |
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 }}
- name: Run Maven Build
run: |
mvn -B clean install -P${{ matrix.FLINK_PROFILE }} -Dsqrl.version=${{ matrix.SQRL_VERSION }}
- name: Build Docker image
run: |
DOCKER_TAG=$DOCKER_REPO:${{ env.VERSION }}-sqrlv${{ matrix.SQRL_VERSION }}-flink${{ matrix.FLINK_PROFILE }}
ls -lha
docker build --build-arg SQRL_VERSION=${{ matrix.SQRL_VERSION }} --build-arg RUNNER_VERSION=${{ env.VERSION }} -t $DOCKER_TAG .
docker push $DOCKER_TAG