Skip to content

Fix the owner related features in kafka sql #3828

Fix the owner related features in kafka sql

Fix the owner related features in kafka sql #3828

Workflow file for this run

name: Operator Test Workflow
on:
push:
branches:
- main
paths-ignore:
- '.gitignore'
- 'LICENSE'
- 'README*'
- 'docs/**'
- '.github/workflows/**'
- 'operator/install/**'
pull_request:
branches:
- main
paths-ignore:
- '.gitignore'
- 'LICENSE'
- 'README*'
- 'docs/**'
- '.github/workflows/**'
- 'operator/install/**'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
operator-build-test:
name: Build and Test Operator
runs-on: ubuntu-latest
if: github.repository_owner == 'Apicurio' && !contains(github.event.*.labels.*.name, 'DO NOT MERGE')
steps:
- name: Configure env. variables 1
run: |
echo "UUID=$(uuidgen)" >> $GITHUB_ENV
# We need tho push the bundle image because opm always pulls; the catalog image because OLM
# deploys it with `imagePullPolicy: Always`; and also the operator image itself for the same reason.
- name: Configure env. variables 2
run: |
echo "IMAGE=ttl.sh/apicurio-registry-operator-$UUID:8h" >> $GITHUB_ENV
echo "BUNDLE_IMAGE=ttl.sh/apicurio-registry-operator-bundle-$UUID:8h" >> $GITHUB_ENV
echo "CATALOG_IMAGE=ttl.sh/apicurio-registry-operator-catalog-$UUID:8h" >> $GITHUB_ENV
echo "ADDITIONAL_CATALOG_IMAGE=" >> $GITHUB_ENV
- name: Checkout ${{ github.ref }}
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: temurin
cache: maven
- name: Enable port-forwarding
run: |
sudo apt-get -y install socat
- name: Setup Minikube
uses: manusa/[email protected]
with:
minikube version: v1.33.1
kubernetes version: v1.25.0
github token: ${{ secrets.GITHUB_TOKEN }}
start args: '--force'
- name: Enable minikube features
run: |
minikube addons enable ingress
minikube addons enable olm
- name: Setup minikube tunnel
run: |
minikube tunnel &
- name: Build and run local tests on Minikube
working-directory: operator
run: |
make BUILD_OPTS="--no-transfer-progress" build
- name: Build temporary operator image
working-directory: operator
run: |
make image-build image-push
- name: Build temporary operator bundle
working-directory: operator
run: |
make bundle
- name: Build temporary operator catalog
working-directory: operator
run: |
make catalog
- name: Run remote and OLM tests on Minikube
working-directory: operator
run: |
make BUILD_OPTS="--no-transfer-progress" remote-tests-all
- name: Update install file
working-directory: operator
run: |
# We need to remove unset the variables to generate a clean install file.
# See https://stackoverflow.com/questions/70137245/how-to-remove-an-environment-variable-on-github-actions
unset IMAGE
unset BUNDLE_IMAGE
unset CATALOG_IMAGE
make IMAGE_TAG=latest-snapshot INSTALL_FILE=install/install.yaml dist-install-file
- name: Check install file
run: |
git add operator/install/install.yaml || true
if ! git diff --staged --exit-code; then
echo 'Install file needs to be updated. Please run "cd operator; make SKIP_TESTS=true build IMAGE_TAG=latest-snapshot INSTALL_FILE=install/install.yaml dist-install-file" and commit the result.';
exit 1;
else
echo "No changes to the install file.";
fi
operator-publish:
name: Publish Operator
runs-on: ubuntu-latest
needs: operator-build-test
if: github.event_name == 'push'
steps:
# Do not publish (version)-snapshot tag, instead use `latest-snapshot`.
- name: Configure env. variables
run: |
echo "IMAGE_TAG=latest-snapshot" >> $GITHUB_ENV
echo "BUNDLE_IMAGE_TAG=latest-snapshot" >> $GITHUB_ENV
- name: Checkout ${{ github.ref }}
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: temurin
cache: maven
- name: Build
working-directory: operator
run: |
make BUILD_OPTS="--no-transfer-progress" SKIP_TESTS=true build
- name: Login to quay.io registry
run: |
docker login -u "${{ secrets.QUAY_USERNAME }}" -p "${{ secrets.QUAY_PASSWORD }}" quay.io
- name: Build and publish operator image # TODO: Also push to DockerHub Registry
working-directory: operator
run: |
make image-build image-push
- name: Build and publish operator bundle
working-directory: operator
run: |
make bundle