Skip to content

PoC of system tests pipeline on GitHub Actions #116

PoC of system tests pipeline on GitHub Actions

PoC of system tests pipeline on GitHub Actions #116

Workflow file for this run

name: System Tests
on:
# Trigger for manual execution from GitHub UI
workflow_dispatch:
inputs:
releaseVersion:
description: "Release version to test (i.e. 'latest', '0.46.0')"
required: false
default: "latest"
kafkaVersion:
description: "Kafka version. e.g. '4.0.0' or 'latest'"
required: false
default: "latest"
profile:
description: "Comma-separated or single profile name(s)"
required: false
default: ""
type: string
# Automated trigger for issue comment
# TODO - this works only if the workflow is commited in main
issue_comment:
types: [created]
pull_request:
# Global config for DNS resolver
env:
RES_OPTIONS: "ndots:2"
jobs:
# TODO - this cannot me used now as we do not have workflow in main branch!
# Check if the comment contains "/ga run" at all.
# If not, don't even bother with parse-params job.
parse-params:
# if: contains(github.event.comment.body, '/ga run')
# runs-on: oracle-4cpu-16gb-x86-64
runs-on: oracle-2cpu-8gb-arm64
outputs:
runTests: ${{ steps.parse.outputs.runTests }}
pipelineList: ${{ steps.parse.outputs.pipelineList }}
profileList: ${{ steps.parse.outputs.profileList }}
agent: ${{ steps.parse.outputs.agent }}
architecture: ${{ steps.parse.outputs.architecture }}
strimzi_feature_gates: ${{ steps.parse.outputs.strimzi_feature_gates }}
strimzi_rbac_scope: ${{ steps.parse.outputs.strimzi_rbac_scope }}
cluster_operator_install_type: ${{ steps.parse.outputs.cluster_operator_install_type }}
parallel: ${{ steps.parse.outputs.parallel }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Parse Comment
id: parse
uses: ./.github/actions/parse-comment-config
with:
# TODO - revert this
# commentBody: ${{ github.event.comment.body }}
commentBody: "/ga run pipeline=regression,upgrade"
build-artifacts:
name: build-artifacts
needs: parse-params
if: ${{ needs.parse-params.outputs.runTests == 'true' }}
runs-on: oracle-2cpu-8gb-arm64
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: ./.github/actions/build-strimzi-binaries
build-images:
name: build-images
needs: build-artifacts
if: ${{ needs.parse-params.outputs.runTests == 'true' }}
strategy:
matrix:
architecture: [arm64, amd64]
runs-on: oracle-2cpu-8gb-arm64
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: ./.github/actions/build-strimzi-images
with:
architecture: ${{ matrix.architecture }}
run-tests:
name: run
needs: build-images
if: ${{ needs.parse-params.outputs.runTests == 'true' }}
uses: ./.github/workflows/run-system-tests.yml
with:
pipelineList: ${{ needs.parse-params.outputs.pipelineList }}
profileList: ${{ needs.parse-params.outputs.profileList }}
agent: ${{ needs.parse-params.outputs.agent }}
architecture: ${{ needs.parse-params.outputs.architecture }}
strimzi_feature_gates: ${{ needs.parse-params.outputs.strimzi_feature_gates }}
strimzi_rbac_scope: ${{ needs.parse-params.outputs.strimzi_rbac_scope }}
cluster_operator_install_type: ${{ needs.parse-params.outputs.cluster_operator_install_type }}
parallel: ${{ needs.parse-params.outputs.parallel }}