Skip to content

allies release

allies release #35

Workflow file for this run

name: Build
on:
push:
branches:
- "main"
- "release-*"
- "allies-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: ${{ startsWith(github.ref, 'refs/heads/allies-release') }}
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
# Required for keyless signing with GitHub OIDC
id-token: write
env:
DOCKER_REGISTRY: "registry.nordix.org"
DOCKER_ORG: "allies/strimzi"
DOCKER_TAG: "latest"
steps:
- uses: actions/checkout@v5
- uses: ./.github/actions/build/containers-push
with:
architectures: "amd64,arm64,ppc64le,s390x"
runnerArch: "amd64"
dockerUsername: ${{ secrets.DOCKER_USERNAME }}
dockerToken: ${{ secrets.DOCKER_TOKEN }}
# # 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: ${{ startsWith(github.ref, 'refs/heads/allies-release') }}
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 }}
artifactoryUsername: ${{ secrets.ARTIFACTORY_USER }}
artifactoryAccessToken: ${{ secrets.JF_ACCESS_TOKEN }}