Skip to content

Add safe kafka connectors #485

Add safe kafka connectors

Add safe kafka connectors #485

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: write
packages: write
strategy:
matrix:
FLINK_PROFILE: [flink-1.19, flink-1.20]
env:
VERSION: ${{ github.event_name == 'release' && github.event.action == 'created' && github.ref_name || '1.0.0-SNAPSHOT' }}
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '11'
- 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 }}
mvn -B -f flink-sql-runner/pom.xml org.apache.maven.plugins:maven-resources-plugin:3.3.1:resources -P${{ matrix.FLINK_PROFILE }}
docker pull postgres:17
grep '^FROM' flink-sql-runner/target/Dockerfile | awk '{print $2}' | xargs -n1 docker pull
- name: Update version
if: github.event_name == 'release' && github.event.action == 'created'
run: |
mvn -B versions:set -DnewVersion=${{ env.VERSION }}
- name: Run Maven Build
run: |
mvn -B clean install -P${{ matrix.FLINK_PROFILE }}
- name: Log in to container registry
uses: docker/login-action@v2
with:
registry: ${{ github.event_name == 'pull_request' && 'ghcr.io' || 'docker.io' }}
username: ${{ github.event_name == 'pull_request' && github.actor || secrets.DOCKER_USERNAME }}
password: ${{ github.event_name == 'pull_request' && secrets.GITHUB_TOKEN || secrets.DOCKER_PASSWORD }}
- name: Build and push Docker image
working-directory: ./flink-sql-runner/target/
run: |
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
IMAGE=ghcr.io/datasqrl/flink-sql-runner:pr-${{ github.event.number }}-${{ matrix.FLINK_PROFILE }}
else
IMAGE=datasqrl/flink-sql-runner:${{ env.VERSION }}-${{ matrix.FLINK_PROFILE }}
fi
echo "Building image: $IMAGE"
docker build -t "$IMAGE" .
docker push "$IMAGE"
- name: Rename jar file
if: github.event_name == 'release' && github.event.action == 'created'
run: |
mv flink-sql-runner/target/flink-sql-runner.uber.jar flink-sql-runner/target/flink-sql-runner-${{ env.VERSION }}-${{ matrix.FLINK_PROFILE }}.jar
- name: Upload to GitHub Release
if: github.event_name == 'release' && github.event.action == 'created'
uses: softprops/action-gh-release@v1
with:
files: flink-sql-runner/target/flink-sql-runner-${{ env.VERSION }}-${{ matrix.FLINK_PROFILE }}.jar
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}