Skip to content

refactor(provider): optimize schema registry provider #326

refactor(provider): optimize schema registry provider

refactor(provider): optimize schema registry provider #326

Workflow file for this run

#
# SPDX-License-Identifier: Apache-2.0
# Copyright (c) The original authors
#
# Licensed under the Apache Software License version 2.0, available at http://www.apache.org/licenses/LICENSE-2.0
#
name: Early Access
on:
push:
branches: [ main ]
env:
JAVA_VERSION: '21'
JAVA_DISTRO: 'zulu'
GRAAL_VERSION: '21.0.1'
GRAAL_DISTRIBUTION: 'graalvm-community'
jobs:
build-distribution:
if: github.repository == 'streamthoughts/jikkou'
name: 'Build with GraalVM on ${{ matrix.os }}'
strategy:
fail-fast: true
matrix:
os: [ ubuntu-latest, macOS-latest, macOS-12, windows-latest ]
setup: [ graalvm ]
include:
- os: ubuntu-latest
setup: java
runs-on: ${{ matrix.os }}
steps:
- name: 'Checkout GitHub repository'
uses: actions/checkout@v4
with:
fetch-depth: 0
clean: true
- name: 'Add Developer Command Prompt for Microsoft Visual C++'
if: ${{ runner.os == 'Windows' }}
uses: ilammy/msvc-dev-cmd@v1
- name: 'Set up GraalVM'
if: ${{ matrix.setup == 'graalvm' }}
uses: graalvm/setup-graalvm@v1
with:
java-version: ${{ env.JAVA_VERSION }}
distribution: ${{ env.GRAAL_DISTRIBUTION }}
github-token: ${{ secrets.GITHUB_TOKEN }}
native-image-job-reports: 'true'
- name: 'Set up Java'
if: ${{ matrix.setup == 'java' }}
uses: actions/setup-java@v4
with:
distribution: ${{ env.JAVA_DISTRO }}
java-version: ${{ env.JAVA_VERSION }}
- name: 'Build Native Image (Linux)'
if: ${{ runner.os == 'Linux' && matrix.setup == 'graalvm' }}
run: |
./mvnw -ntp -B --file pom.xml -Pnative package
- name: 'Build Native Image (macOS)'
if: ${{ runner.os == 'macOS' && matrix.setup == 'graalvm' }}
run: |
./mvnw -ntp -B --file pom.xml -Pnative package "-DskipTests"
- name: 'Build Native Image (Windows)'
if: ${{ runner.os == 'windows' && matrix.setup == 'graalvm' }}
run: |
./mvnw -ntp -B --file pom.xml -Pnative package "-DskipTests"
- name: 'Build Debian Package (Linux)'
if: ${{ runner.os == 'Linux' && matrix.setup == 'graalvm' }}
run: |
./mvnw -ntp -B --file pom.xml -Pdeb package -DskipTests
- name: 'Build Distribution'
if: ${{ runner.os == 'Linux' && matrix.setup == 'java' }}
run: |
./mvnw -ntp -B --file pom.xml -Pdist package -DskipTests
- name: 'Upload build artifact'
uses: actions/upload-artifact@v4
with:
name: artifacts-${{ runner.os }}-${{ runner.arch }}-${{ matrix.setup }}
path: |
dist/*.zip
dist/*.tar.gz
dist/*.deb
dist/*.rpm
release-artifacts:
needs: [ build-distribution ]
runs-on: ubuntu-latest
steps:
- name: 'Checkout GitHub repository'
uses: actions/checkout@v4
with:
ref: ${{ needs.set-release-version.outputs.HEAD }}
fetch-depth: 0
- name: 'Download all artifacts'
uses: actions/download-artifact@v4
with:
path: artifacts
pattern: artifacts-*
merge-multiple: true
- name: 'Set up Java'
uses: actions/setup-java@v4
with:
java-version: ${{ env.JAVA_VERSION }}
distribution: ${{ env.JAVA_DISTRO }}
cache: maven
- name: 'Configure Git'
run: |
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
- name: 'Release with JReleaser'
env:
JRELEASER_GITHUB_TOKEN: ${{ secrets.PAT }}
JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.GPG_PUBLIC_KEY }}
JRELEASER_GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
JRELEASER_GPG_SECRET_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
run: ./mvnw -ntp -B --file ./cli/pom.xml -Prelease -DartifactsDir=artifacts jreleaser:full-release
- name: 'JReleaser output'
if: always()
uses: actions/upload-artifact@v4
with:
name: jreleaser-logs
path: |
target/jreleaser/trace.log
target/jreleaser/output.properties