Nussknacker benchmark #1829
This file contains 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: Nussknacker benchmark | |
on: | |
workflow_dispatch: | |
inputs: | |
nussknacker_version: | |
description: "Nussknacker version" | |
required: false | |
type: string | |
transaction_count: | |
description: "Number of transactions" | |
required: false | |
type: string | |
env: | |
INPUT_NUSSKNACKER_VERSION: ${{ inputs.nussknacker_version }} | |
# TODO version should be set up only when build is triggered from nk core (workflow_dispatch / inputs.nussknacker_version defined) | |
# TODO and when build is on staging or target branch is staging. In any other situation, version from helm values should be used | |
NUSSKNACKER_VERSION: ${{ | |
inputs.nussknacker_version != '' && inputs.nussknacker_version || | |
((github.head_ref == 'staging' || github.ref_name == 'staging') && 'staging-latest' || | |
'1.15.3') }} | |
TRANSACTION_COUNT: ${{ inputs.transaction_count != '' && inputs.transaction_count || '10000000' }} | |
jobs: | |
nussknacker-benchmark-flink: | |
name: Nussknacker benchmark Streaming-Flink | |
runs-on: ubuntu-latest | |
env: | |
# TODO (1) scala_2.12 is used because we use the default flink image. We should prepare our own (https://github.com/TouK/flink-scala-2.13) | |
# TODO (1) and switch to it | |
# TODO (2) version should be set up only when build is triggered from nk core (workflow_dispatch / inputs.nussknacker_version defined) | |
# TODO (2) and when build is on staging or target branch is staging. In any other situation, version from docker-compose should be used | |
NUSSKNACKER_VERSION: ${{ | |
endsWith(inputs.nussknacker_version, 'SNAPSHOT') && format('{0}_{1}', inputs.nussknacker_version, 'scala-2.12') || | |
((github.head_ref == 'staging' || github.ref_name == 'staging') && 'staging-latest_scala-2.12' || | |
'1.15.3_scala-2.12') }} | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Print Nussknacker version | |
run: | | |
echo "Nussknacker version: $NUSSKNACKER_VERSION, dispatch input version: $INPUT_NUSSKNACKER_VERSION, GITHUB_BASE_REF: $GITHUB_BASE_REF, GITHUB_HEAD_REF: $GITHUB_HEAD_REF, GITHUB_REF_NAME: $GITHUB_REF_NAME" | |
- name: install quickstart | |
shell: bash | |
env: | |
KAFKA_AUTO_OFFSET_RESET: earliest | |
run: ./docker/streaming/start.sh | |
- name: Test | |
run: ./common/tests/benchmark/runBenchmarkForDockerStreaming.sh $TRANSACTION_COUNT benchmarkFlink.json | |
- name: Save artifacts | |
uses: actions/upload-artifact@v2 | |
with: | |
name: benchmarkDetailsFlink | |
path: /tmp/benchmarkResult.csv | |
nussknacker-benchmark-lite: | |
name: Nussknacker benchmark Streaming-Lite | |
runs-on: ubuntu-latest | |
env: | |
RELEASE: "nu-quickstart" | |
DEVEL: "true" | |
defaults: | |
run: | |
shell: bash | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Print Nussknacker version | |
run: | | |
echo "Nussknacker version: $NUSSKNACKER_VERSION, dispatch input version: $INPUT_NUSSKNACKER_VERSION, GITHUB_BASE_REF: $GITHUB_BASE_REF, GITHUB_HEAD_REF: $GITHUB_HEAD_REF, GITHUB_REF_NAME: $GITHUB_REF_NAME" | |
- uses: AbsaOSS/[email protected] | |
with: | |
cluster-name: "k3s-default" | |
k3d-version: "v5.4.9" # default version - change with caution, there was some problem after upgrade | |
args: >- | |
--config=.k3d/single-cluster.yml | |
--trace | |
- name: install quickstart | |
shell: bash | |
run: ./k8s-helm/install-common.sh -f ../common/tests/benchmark/k8sAutoOffsetEarliest.yml | |
- name: Test | |
run: ./common/tests/benchmark/runBenchmarkForK8sStreaming.sh $TRANSACTION_COUNT benchmarkLite.json | |
- name: Save artifacts | |
uses: actions/upload-artifact@v2 | |
with: | |
name: benchmarkDetailsLite | |
path: /tmp/benchmarkResult.csv |