Skip to content

Use actions from shared-repository #7

Use actions from shared-repository

Use actions from shared-repository #7

Workflow file for this run

name: Build
on:
push:
branches:
- "main"
- "release-*"
tags:
- "*"
pull_request:
branches:
- "*"
# Declare default permissions as read only
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build-client-examples:
name: Build Client Examples
strategy:
matrix:
# Java 17 is used as default version
# In case of adding new version make sure that build-containers has correct static version set
java:
- version: "17"
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@main
with:
javaVersion: ${{ matrix.java.version }}
- name: Install yq
uses: strimzi/github-actions/.github/actions/dependencies/install-yq@main
with:
version: "v4.6.3"
- name: Build binaries using build-binaries action
uses: strimzi/github-actions/.github/actions/build/build-binaries@main
with:
mainJavaBuild: ${{ matrix.java.mainBuild }}
artifactSuffix: "client-examples"
clusterOperatorBuild: "false"
build-containers:
name: Build Containers
needs:
- build-client-examples
strategy:
matrix:
architecture:
- amd64
- arm64
- s390x
- ppc64le
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Install Docker
uses: strimzi/github-actions/.github/actions/dependencies/install-docker@main
- uses: strimzi/github-actions/.github/actions/build/build-containers@main
with:
architecture: ${{ matrix.architecture }}
imagesDir: "*-${{ matrix.architecture }}.tar.gz"
artifactSuffix: "client-examples"
push-containers:
name: Push Containers
needs:
- build-client-examples
- build-containers
if: ${{ github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/') }}
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v6
- name: Install Docker
uses: strimzi/github-actions/.github/actions/dependencies/install-docker@main
- name: Install yq
uses: strimzi/github-actions/.github/actions/dependencies/install-yq@main
with:
version: "v4.6.3"
- name: Install Syft
uses: strimzi/github-actions/.github/actions/dependencies/install-syft@main
with:
version: "v1.20.0"
- name: Push containers using push-containers action
uses: strimzi/github-actions/.github/actions/build/push-containers@main
with:
registryUser: ${{ secrets.QUAY_USER }}
registryPassword: ${{ secrets.QUAY_PASS }}
containerRegistry: "quay.io"
containerOrg: "strimzi-examples"
containerTag: ${{ startsWith(github.ref, 'refs/tags/') && github.ref_name || 'latest' }}
architectures: "amd64,arm64,ppc64le,s390x"
artifactSuffix: "client-examples"