feat: support annotations (#111) #65
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build | |
| on: | |
| push: | |
| branches: | |
| - "main" | |
| - "release-*" | |
| pull_request: | |
| branches: | |
| - "*" | |
| # Declare default permissions as read only | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build-kafka-access-operator: | |
| name: Build Kafka Access Operator | |
| timeout-minutes: 20 | |
| strategy: | |
| matrix: | |
| # Java 21 is used as default version | |
| # In case of adding new version make sure that build-containers and deploy-java has correct static version set | |
| java: | |
| - version: "21" | |
| mainBuild: true | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Setup Java and Maven | |
| uses: strimzi/github-actions/.github/actions/dependencies/setup-java@v1 | |
| with: | |
| javaVersion: ${{ matrix.java.version }} | |
| - name: Build binaries using build-binaries action | |
| uses: strimzi/github-actions/.github/actions/build/build-binaries@v1 | |
| with: | |
| mainJavaBuild: ${{ matrix.java.mainBuild }} | |
| artifactSuffix: "kafka-access-operator" | |
| clusterOperatorBuild: "false" | |
| build-containers: | |
| name: Build Containers | |
| needs: | |
| - build-kafka-access-operator | |
| strategy: | |
| matrix: | |
| architecture: | |
| - amd64 | |
| - arm64 | |
| - s390x | |
| - ppc64le | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: strimzi/github-actions/.github/actions/dependencies/install-docker@v1 | |
| - uses: strimzi/github-actions/.github/actions/build/build-containers@v1 | |
| with: | |
| architecture: ${{ matrix.architecture }} | |
| artifactSuffix: "kafka-access-operator" | |
| containerRegistry: "quay.io" | |
| containerOrg: "strimzi" | |
| containerTag: "latest" | |
| imagesDir: "access-operator-container-${{ matrix.architecture }}.tar.gz" | |
| run-systemtests: | |
| name: Run System Tests | |
| needs: | |
| - build-containers | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - architecture: amd64 | |
| installType: Bundle | |
| runner: ubuntu-latest | |
| - architecture: amd64 | |
| installType: Helm | |
| runner: ubuntu-latest | |
| - architecture: arm64 | |
| installType: Bundle | |
| runner: oracle-vm-4cpu-16gb-arm64 | |
| - architecture: arm64 | |
| installType: Helm | |
| runner: oracle-vm-4cpu-16gb-arm64 | |
| runs-on: ${{ matrix.runner }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: ./.github/actions/build/run-systemtests | |
| with: | |
| architecture: ${{ matrix.architecture }} | |
| runnerArch: ${{ matrix.architecture }} | |
| installType: ${{ matrix.installType }} | |
| push-containers: | |
| name: Push Containers | |
| needs: | |
| - build-kafka-access-operator | |
| - build-containers | |
| - run-systemtests | |
| if: ${{ github.ref == 'refs/heads/main' }} | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| id-token: write | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: strimzi/github-actions/.github/actions/dependencies/install-docker@v1 | |
| - uses: strimzi/github-actions/.github/actions/dependencies/install-syft@v1 | |
| - uses: strimzi/github-actions/.github/actions/build/push-containers@v1 | |
| with: | |
| architectures: "amd64,arm64,ppc64le,s390x" | |
| containerRegistry: "quay.io" | |
| containerOrg: "strimzi" | |
| containerTag: "latest" | |
| registryUser: ${{ secrets.QUAY_USER }} | |
| registryPassword: ${{ secrets.QUAY_PASS }} | |
| artifactSuffix: "kafka-access-operator" | |
| deploy-java: | |
| name: Deploy Java artifacts | |
| needs: | |
| - build-kafka-access-operator | |
| - build-containers | |
| - run-systemtests | |
| if: ${{ github.ref == 'refs/heads/main' }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: strimzi/github-actions/.github/actions/dependencies/setup-java@v1 | |
| with: | |
| javaVersion: "21" | |
| - uses: strimzi/github-actions/.github/actions/build/deploy-java@v1 | |
| with: | |
| gpgPassphrase: ${{ secrets.GPG_PASSPHRASE }} | |
| gpgSigningKey: ${{ secrets.GPG_SIGNING_KEY }} | |
| centralUsername: ${{ secrets.CENTRAL_USERNAME }} | |
| centralPassword: ${{ secrets.CENTRAL_PASSWORD }} | |
| modules: "./,api" |