Skip to content

Bump org.codehaus.mojo:exec-maven-plugin from 3.6.2 to 3.6.3 #65

Bump org.codehaus.mojo:exec-maven-plugin from 3.6.2 to 3.6.3

Bump org.codehaus.mojo:exec-maven-plugin from 3.6.2 to 3.6.3 #65

Workflow file for this run

name: Flink SQL Runner CI
on:
release:
types: [ created ]
push:
branches:
- main
- release-*
pull_request:
branches:
- main
- release-*
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
cache-dependencies:
runs-on: ubuntu-latest
timeout-minutes: 15
permissions:
contents: read
packages: read
outputs:
project-version: ${{ steps.version.outputs.project_version }}
flink-version-label: ${{ steps.version.outputs.flink_version_label }}
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup JDK
uses: ./.github/actions/setup-jdk
- name: Download dependencies
run: |
mvn -B org.apache.maven.plugins:maven-dependency-plugin:3.9.0:go-offline de.qaware.maven:go-offline-maven-plugin:1.2.8:resolve-dependencies
mvn -B -f flink-sql-runner/pom.xml org.apache.maven.plugins:maven-resources-plugin:3.3.1:resources
- name: Get project version
id: version
run: |
if [[ "${{ github.event_name }}" == "release" && "${{ github.event.action }}" == "created" ]]; then
echo "project_version=${{ github.ref_name }}" >> $GITHUB_OUTPUT
else
echo "project_version=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)" >> $GITHUB_OUTPUT
fi
echo "flink_version_label=$(mvn help:evaluate -Dexpression=flink.version.label -q -DforceStdout)" >> $GITHUB_OUTPUT
unit-test:
runs-on: ubuntu-latest
needs: cache-dependencies
timeout-minutes: 20
permissions:
contents: read
packages: read
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup JDK
uses: ./.github/actions/setup-jdk
- name: Run unit tests
run: mvn -B test
integration-test:
runs-on: ubuntu-latest
needs: cache-dependencies
timeout-minutes: 30
permissions:
contents: read
packages: read
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup JDK
uses: ./.github/actions/setup-jdk
- name: Run integration tests
run: mvn -B install -Dtest=skip
deploy:
runs-on: ubuntu-latest
needs: [ unit-test, integration-test, cache-dependencies ]
if: |
(github.event_name == 'release' && github.event.action == 'created') ||
(github.event_name == 'push' && github.ref_name == 'main')
timeout-minutes: 20
permissions:
contents: write
packages: write
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup JDK
uses: ./.github/actions/setup-jdk
- name: Import GPG Key
env:
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
run: |
echo "$GPG_PRIVATE_KEY" | gpg --batch --import
echo "default-key $(gpg --list-keys --with-colons | grep pub | cut -d':' -f5)" >> ~/.gnupg/gpg.conf
echo "pinentry-mode loopback" >> ~/.gnupg/gpg.conf
- name: Setup Maven settings
uses: ./.github/actions/setup-maven-settings
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
github-actor: ${{ github.actor }}
additional-servers: ${{ secrets.MAVEN_SETTINGS_SERVER_CENTRAL }}
- name: Update version
if: github.event_name == 'release' && github.event.action == 'created'
run: |
mvn -B versions:set -DnewVersion=${{ needs.cache-dependencies.outputs.project-version }}
- name: Deploy to Maven Central
if: github.event_name == 'release'
run: mvn -B clean deploy -Pci,release -DskipTests
- name: Deploy to GitHub Packages
if: github.ref_name == 'main'
run: mvn -B clean deploy -Pci -DskipTests
uber-jar:
runs-on: ubuntu-latest
needs: [ unit-test, integration-test, cache-dependencies ]
timeout-minutes: 30
permissions:
contents: write
packages: write
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup JDK
uses: ./.github/actions/setup-jdk
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Setup Maven settings
uses: ./.github/actions/setup-maven-settings
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
github-actor: ${{ github.actor }}
- name: Pull base Docker image
run: |
mvn -B -f flink-sql-runner/pom.xml org.apache.maven.plugins:maven-resources-plugin:3.3.1:resources
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=${{ needs.cache-dependencies.outputs.project-version }}
- name: Build uber jar
run: mvn -B clean install -DskipTests
- name: Define Docker image tag
id: vars
run: |
if [[ "${{ github.event_name }}" == "release" && "${{ github.event.action }}" == "created" ]]; then
echo "image_tag=datasqrl/flink-sql-runner:${{ needs.cache-dependencies.outputs.project-version }}-${{ needs.cache-dependencies.outputs.flink-version-label }}" >> $GITHUB_OUTPUT
elif [[ "${{ github.event_name }}" == "push" ]]; then
echo "image_tag=ghcr.io/datasqrl/flink-sql-runner:${{ needs.cache-dependencies.outputs.project-version }}" >> $GITHUB_OUTPUT
else
echo "image_tag=ghcr.io/datasqrl/flink-sql-runner:pr-${{ github.event.number }}" >> $GITHUB_OUTPUT
fi
- name: Log in to container registry
uses: docker/login-action@v3
with:
registry: ${{ (github.event_name == 'release' && github.event.action == 'created') && 'docker.io' || 'ghcr.io' }}
username: ${{ (github.event_name == 'release' && github.event.action == 'created') && secrets.DOCKER_USERNAME || github.actor }}
password: ${{ (github.event_name == 'release' && github.event.action == 'created') && secrets.DOCKER_PASSWORD || secrets.GITHUB_TOKEN }}
- name: Build and push Docker image (linux/amd64 + linux/arm64)
uses: docker/build-push-action@v5
with:
context: ./flink-sql-runner/target
file: ./flink-sql-runner/target/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ steps.vars.outputs.image_tag }}
- 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-${{ needs.cache-dependencies.outputs.project-version }}-${{ needs.cache-dependencies.outputs.flink-version-label }}.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-${{ needs.cache-dependencies.outputs.project-version }}-${{ needs.cache-dependencies.outputs.flink-version-label }}.jar
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}