Skip to content

Load Tests

Load Tests #32

Workflow file for this run

name: Load Tests
on:
schedule:
# at 00:00 every Saturday.
- cron: '0 0 * * 6'
workflow_dispatch:
permissions: read-all
jobs:
load_tests:
name: Dataflow Templates Load tests
timeout-minutes: 2880 # 2 days
# Run on any runner that matches all the specified runs-on values.
runs-on: [ self-hosted, perf ]
steps:
- name: Checkout code
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3
with:
fetch-depth: 0
- name: Setup Environment
id: setup-java-env
uses: ./.github/actions/setup-java-env
- name: Get Host IP
id: variables
run: echo "hostIP=$(gcloud compute instances list | grep $(hostname) | awk '{print $4; exit}' )" >> $GITHUB_OUTPUT
- name: Run load tests with Maven
run: |
mvn test -PtemplatesLoadTests \
-Dproject=apache-beam-testing \
-DartifactBucket=gs://apache-beam-testing-pranavbhandari \
-DhostIp=${HOST_IP} \
-DprivateConnectivity="datastream-private-connect-us-central1" \
-DexportProject=cloud-teleport-testing \
-DexportDataset=performance_tests \
-DexportTable=template_performance_metrics -e -fae
env:
HOST_IP: ${{ steps.variables.outputs.hostIP }}
- name: Upload Load Tests Report
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
if: always() # always run even if the previous step fails
with:
name: surefire-test-results
path: '**/surefire-reports/TEST-*.xml'
retention-days: 1
- name: Cleanup Java Environment
uses: ./.github/actions/cleanup-java-env