Skip to content

Add Strimzi test container 0.113.0 (#12043) #518

Add Strimzi test container 0.113.0 (#12043)

Add Strimzi test container 0.113.0 (#12043) #518

Workflow file for this run

name: Build
on:
push:
branches:
- "main"
- "release-*"
pull_request:
branches:
- "*"
# Cancel previous builds on the same branch/PR
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
# Build Strimzi Java code and does basic checks of the PR
build-strimzi:
name: Build Strimzi
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
# Build workflow trigger via pull_request will have merge commit sha in github.sha
- name: Store build commit sha
run: |
echo "${{ github.sha }}" > commit-sha.txt
echo "Stored commit SHA: ${{ github.sha }}"
- name: Upload build metadata
uses: actions/upload-artifact@v4
with:
name: commit-sha.txt
path: commit-sha.txt
- uses: ./.github/actions/build/build-strimzi-binaries
with:
mvnArgs: "-B -DskipTests -Dmaven.javadoc.skip=true"
runnerArch: "amd64"
# Runs Strimzi unit and integration tests
test-strimzi:
name: Strimzi Unit & IT tests
needs:
- build-strimzi
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: ./.github/actions/build/test-strimzi
with:
runnerArch: "amd64"
env:
# Use the oldest supported kubernetes version within Kind
KIND_NODE_IMAGE: "oldest"
# Builds Strimzi docs
build-docs:
name: Build docs
needs:
- build-strimzi
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: ./.github/actions/build/build-docs
with:
artifactName: "documentation.tar"
runnerArch: "amd64"
# Builds Strimzi containers
build-containers:
name: Build Containers
needs:
- build-strimzi
strategy:
matrix:
architecture:
- amd64
- arm64
- s390x
- ppc64le
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: ./.github/actions/build/containers-build
with:
architecture: ${{ matrix.architecture }}
runnerArch: "amd64"
# Push Strimzi containers - run only on main branch
push-containers:
name: Push Containers
needs:
- build-strimzi
- test-strimzi
- build-containers
- build-docs
if: ${{ github.ref == 'refs/heads/main' }}
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
# Required for keyless signing with GitHub OIDC
id-token: write
env:
DOCKER_REGISTRY: "quay.io"
DOCKER_ORG: "strimzi"
DOCKER_TAG: "latest"
steps:
- uses: actions/checkout@v5
- uses: ./.github/actions/build/containers-push
with:
architectures: "amd64,arm64,ppc64le,s390x"
runnerArch: "amd64"
quayUser: ${{ secrets.QUAY_USER }}
quayPass: ${{ secrets.QUAY_PASS }}
# Publish Strimzi docs to the website - run only on main branch
publish-docs:
name: Publish Docs
needs:
- build-strimzi
- test-strimzi
- build-containers
- build-docs
if: ${{ github.ref == 'refs/heads/main' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: ./.github/actions/build/publish-docs
with:
artifactName: "documentation.tar"
websiteDeployKey: ${{ secrets.WEBSITE_DEPLOY_KEY }}
# Deploy Strimzi Java artifacts - run only on main branch
deploy-java:
name: Deploy Java artifacts
needs:
- build-strimzi
- test-strimzi
- build-containers
- build-docs
if: ${{ github.ref == 'refs/heads/main' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: ./.github/actions/build/deploy-java
with:
runnerArch: "amd64"
gpgPassphrase: ${{ secrets.GPG_PASSPHRASE }}
gpgSigningKey: ${{ secrets.GPG_SIGNING_KEY }}
centralUsername: ${{ secrets.CENTRAL_USERNAME }}
centralPassword: ${{ secrets.CENTRAL_PASSWORD }}