-
Notifications
You must be signed in to change notification settings - Fork 4.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add GitHub Workflow Replacements for Jenkins job_PerformanceTests_Spa…
…nnerIO and job_PerformanceTests_SQLBigQueryIO_Batch_Java (#28555)
- Loading branch information
1 parent
b74a0dc
commit e53b68b
Showing
6 changed files
with
372 additions
and
0 deletions.
There are no files selected for viewing
104 changes: 104 additions & 0 deletions
104
.github/workflows/beam_PerformanceTests_SQLBigQueryIO_Batch_Java.yml
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
# Licensed to the Apache Software Foundation (ASF) under one or more | ||
# contributor license agreements. See the NOTICE file distributed with | ||
# this work for additional information regarding copyright ownership. | ||
# The ASF licenses this file to You under the Apache License, Version 2.0 | ||
# (the "License"); you may not use this file except in compliance with | ||
# the License. You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
name: PerformanceTests SQLBigQueryIO Batch Java | ||
|
||
on: | ||
issue_comment: | ||
types: [created] | ||
schedule: | ||
- cron: '0 7,19 * * *' | ||
workflow_dispatch: | ||
|
||
#Setting explicit permissions for the action to avoid the default permissions which are `write-all` in case of pull_request_target event | ||
permissions: | ||
actions: write | ||
pull-requests: write | ||
checks: write | ||
contents: read | ||
deployments: read | ||
id-token: none | ||
issues: write | ||
discussions: read | ||
packages: read | ||
pages: read | ||
repository-projects: read | ||
security-events: read | ||
statuses: read | ||
|
||
# This allows a subsequently queued workflow run to interrupt previous runs | ||
concurrency: | ||
group: '${{ github.workflow }} @ ${{ github.event.issue.number || github.sha || github.head_ref || github.ref }}-${{ github.event.schedule || github.event.comment.body || github.event.sender.login }}' | ||
cancel-in-progress: true | ||
|
||
env: | ||
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }} | ||
GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }} | ||
GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }} | ||
beam_PerformanceTests_SQLBigQueryIO_Batch_Java_test_arguments_1: '' | ||
|
||
jobs: | ||
beam_PerformanceTests_SQLBigQueryIO_Batch_Java: | ||
if: | | ||
github.event_name == 'workflow_dispatch' || | ||
github.event_name == 'schedule' || | ||
github.event.comment.body == 'Run SQLBigQueryIO Batch Performance Test Java' | ||
runs-on: [self-hosted, ubuntu-20.04, main] | ||
timeout-minutes: 100 | ||
name: ${{ matrix.job_name }} (${{ matrix.job_phrase }}) | ||
strategy: | ||
matrix: | ||
job_name: ["beam_PerformanceTests_SQLBigQueryIO_Batch_Java"] | ||
job_phrase: ["Run SQLBigQueryIO Batch Performance Test Java"] | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Setup repository | ||
uses: ./.github/actions/setup-action | ||
with: | ||
comment_phrase: ${{ matrix.job_phrase }} | ||
github_token: ${{ secrets.GITHUB_TOKEN }} | ||
github_job: ${{ matrix.job_name }} (${{ matrix.job_phrase }}) | ||
- name: Setup environment | ||
uses: ./.github/actions/setup-environment-action | ||
with: | ||
python-version: 3.8 | ||
- name: Prepare test arguments | ||
uses: ./.github/actions/test-arguments-action | ||
with: | ||
test-type: performance | ||
test-language: java | ||
argument-file-paths: | | ||
${{ github.workspace }}/.github/workflows/performance-tests-job-configs/SQLBigQueryIO_Batch_Java.txt | ||
- name: Run SQLBigQueryIO Batch Performance Test Java | ||
uses: ./.github/actions/gradle-command-self-hosted-action | ||
with: | ||
gradle-command: :sdks:java:extensions:sql:perf-tests:integrationTest | ||
arguments: | | ||
--tests org.apache.beam.sdk.extensions.sql.meta.provider.bigquery.BigQueryIOPushDownIT \ | ||
-DintegrationTestRunner=dataflow \ | ||
'-DintegrationTestPipelineOptions=[${{env.beam_PerformanceTests_SQLBigQueryIO_Batch_Java_test_arguments_1}}]' \ | ||
- name: Archive JUnit Test Results | ||
uses: actions/upload-artifact@v3 | ||
if: failure() | ||
with: | ||
name: JUnit Test Results | ||
path: "**/build/reports/tests/" | ||
- name: Publish JUnit Test Results | ||
uses: EnricoMi/publish-unit-test-result-action@v2 | ||
if: always() | ||
with: | ||
commit: '${{ env.prsha || env.GITHUB_SHA }}' | ||
comment_mode: ${{ github.event_name == 'issue_comment' && 'always' || 'off' }} | ||
files: '**/build/test-results/**/*.xml' |
94 changes: 94 additions & 0 deletions
94
.github/workflows/beam_PerformanceTests_SpannerIO_Read_2GB_Python.yml
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
# Licensed to the Apache Software Foundation (ASF) under one or more | ||
# contributor license agreements. See the NOTICE file distributed with | ||
# this work for additional information regarding copyright ownership. | ||
# The ASF licenses this file to You under the Apache License, Version 2.0 | ||
# (the "License"); you may not use this file except in compliance with | ||
# the License. You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
name: PerformanceTests SpannerIO Read 2GB Python | ||
|
||
on: | ||
issue_comment: | ||
types: [created] | ||
schedule: | ||
- cron: '30 4 * * *' | ||
workflow_dispatch: | ||
|
||
#Setting explicit permissions for the action to avoid the default permissions which are `write-all` in case of pull_request_target event | ||
permissions: | ||
actions: write | ||
pull-requests: write | ||
checks: write | ||
contents: read | ||
deployments: read | ||
id-token: none | ||
issues: write | ||
discussions: read | ||
packages: read | ||
pages: read | ||
repository-projects: read | ||
security-events: read | ||
statuses: read | ||
|
||
# This allows a subsequently queued workflow run to interrupt previous runs | ||
concurrency: | ||
group: '${{ github.workflow }} @ ${{ github.event.issue.number || github.sha || github.head_ref || github.ref }}-${{ github.event.schedule || github.event.comment.body || github.event.sender.login }}' | ||
cancel-in-progress: true | ||
|
||
env: | ||
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }} | ||
GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }} | ||
GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }} | ||
beam_PerformanceTests_SpannerIO_Read_2GB_Python_test_arguments_1: '' | ||
|
||
jobs: | ||
beam_PerformanceTests_SpannerIO_Read_2GB_Python: | ||
if: | | ||
github.event_name == 'workflow_dispatch' || | ||
github.event_name == 'schedule' || | ||
github.event.comment.body == 'Run SpannerIO Read 2GB Performance Test Python' | ||
runs-on: [self-hosted, ubuntu-20.04, main] | ||
timeout-minutes: 480 | ||
name: ${{ matrix.job_name }} (${{ matrix.job_phrase }}) | ||
strategy: | ||
matrix: | ||
job_name: ["beam_PerformanceTests_SpannerIO_Read_2GB_Python"] | ||
job_phrase: ["Run SpannerIO Read 2GB Performance Test Python"] | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Setup repository | ||
uses: ./.github/actions/setup-action | ||
with: | ||
comment_phrase: ${{ matrix.job_phrase }} | ||
github_token: ${{ secrets.GITHUB_TOKEN }} | ||
github_job: ${{ matrix.job_name }} (${{ matrix.job_phrase }}) | ||
- name: Setup environment | ||
uses: ./.github/actions/setup-environment-action | ||
with: | ||
python-version: 3.8 | ||
- name: Prepare test arguments | ||
uses: ./.github/actions/test-arguments-action | ||
with: | ||
test-type: load | ||
test-language: python | ||
argument-file-paths: | | ||
${{ github.workspace }}/.github/workflows/performance-tests-job-configs/spannerIO_Read_2GB_Python.txt | ||
arguments: | | ||
--job_name=performance-tests-spanner-read-python-2gb$(date '+%m%d%H%M%S' --utc) | ||
- name: run Performance SpannerIO Read 2GB Test Python | ||
uses: ./.github/actions/gradle-command-self-hosted-action | ||
with: | ||
gradle-command: :sdks:python:apache_beam:testing:load_tests:run | ||
arguments: | | ||
-PloadTest.mainClass=apache_beam.io.gcp.experimental.spannerio_read_perf_test \ | ||
-Prunner=DataflowRunner \ | ||
-PpythonVersion=3.8 \ | ||
-PloadTest.args='${{env.beam_PerformanceTests_SpannerIO_Read_2GB_Python_test_arguments_1}}' |
94 changes: 94 additions & 0 deletions
94
.github/workflows/beam_PerformanceTests_SpannerIO_Write_2GB_Python_Batch.yml
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
# Licensed to the Apache Software Foundation (ASF) under one or more | ||
# contributor license agreements. See the NOTICE file distributed with | ||
# this work for additional information regarding copyright ownership. | ||
# The ASF licenses this file to You under the Apache License, Version 2.0 | ||
# (the "License"); you may not use this file except in compliance with | ||
# the License. You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
name: PerformanceTests SpannerIO Write 2GB Python Batch | ||
|
||
on: | ||
issue_comment: | ||
types: [created] | ||
schedule: | ||
- cron: '0 5 * * *' | ||
workflow_dispatch: | ||
|
||
#Setting explicit permissions for the action to avoid the default permissions which are `write-all` in case of pull_request_target event | ||
permissions: | ||
actions: write | ||
pull-requests: write | ||
checks: write | ||
contents: read | ||
deployments: read | ||
id-token: none | ||
issues: write | ||
discussions: read | ||
packages: read | ||
pages: read | ||
repository-projects: read | ||
security-events: read | ||
statuses: read | ||
|
||
# This allows a subsequently queued workflow run to interrupt previous runs | ||
concurrency: | ||
group: '${{ github.workflow }} @ ${{ github.event.issue.number || github.sha || github.head_ref || github.ref }}-${{ github.event.schedule || github.event.comment.body || github.event.sender.login }}' | ||
cancel-in-progress: true | ||
|
||
env: | ||
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }} | ||
GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }} | ||
GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }} | ||
beam_PerformanceTests_SpannerIO_Write_2GB_Python_Batch_test_arguments_1: '' | ||
|
||
jobs: | ||
beam_PerformanceTests_SpannerIO_Write_2GB_Python_Batch: | ||
if: | | ||
github.event_name == 'workflow_dispatch' || | ||
github.event_name == 'schedule' || | ||
github.event.comment.body == 'Run SpannerIO Write 2GB Performance Test Python Batch' | ||
runs-on: [self-hosted, ubuntu-20.04, main] | ||
timeout-minutes: 480 | ||
name: ${{ matrix.job_name }} (${{ matrix.job_phrase }}) | ||
strategy: | ||
matrix: | ||
job_name: ["beam_PerformanceTests_SpannerIO_Write_2GB_Python_Batch"] | ||
job_phrase: ["Run SpannerIO Write 2GB Performance Test Python Batch"] | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Setup repository | ||
uses: ./.github/actions/setup-action | ||
with: | ||
comment_phrase: ${{ matrix.job_phrase }} | ||
github_token: ${{ secrets.GITHUB_TOKEN }} | ||
github_job: ${{ matrix.job_name }} (${{ matrix.job_phrase }}) | ||
- name: Setup environment | ||
uses: ./.github/actions/setup-environment-action | ||
with: | ||
python-version: 3.8 | ||
- name: Prepare test arguments | ||
uses: ./.github/actions/test-arguments-action | ||
with: | ||
test-type: load | ||
test-language: python | ||
argument-file-paths: | | ||
${{ github.workspace }}/.github/workflows/performance-tests-job-configs/spannerIO_Write_2GB_Python.txt | ||
arguments: | | ||
--job_name=performance-tests-spannerio-write-python-batch-2gb$(date '+%m%d%H%M%S' --utc) | ||
- name: run Performance SpannerIO Write 2GB Test Python | ||
uses: ./.github/actions/gradle-command-self-hosted-action | ||
with: | ||
gradle-command: :sdks:python:apache_beam:testing:load_tests:run | ||
arguments: | | ||
-PloadTest.mainClass=apache_beam.io.gcp.experimental.spannerio_write_perf_test \ | ||
-Prunner=DataflowRunner \ | ||
-PpythonVersion=3.8 \ | ||
-PloadTest.args='${{env.beam_PerformanceTests_SpannerIO_Write_2GB_Python_Batch_test_arguments_1}}' |
24 changes: 24 additions & 0 deletions
24
.github/workflows/performance-tests-job-configs/SQLBigQueryIO_Batch_Java.txt
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
# Licensed to the Apache Software Foundation (ASF) under one | ||
# or more contributor license agreements. See the NOTICE file | ||
# distributed with this work for additional information | ||
# regarding copyright ownership. The ASF licenses this file | ||
# to you under the Apache License, Version 2.0 (the | ||
# "License"); you may not use this file except in compliance | ||
# with the License. You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
--tempLocation=gs://temp-storage-for-perf-tests/loadtests | ||
--tempRoot=gs://temp-storage-for-perf-tests/loadtests | ||
--metricsBigQueryDataset=beam_performance | ||
--metricsBigQueryTable=sql_bqio_read_java_batch | ||
--runner=DataflowRunner | ||
--maxNumWorkers=5 | ||
--numWorkers=5 | ||
--autoscalingAlgorithm=NONE |
28 changes: 28 additions & 0 deletions
28
.github/workflows/performance-tests-job-configs/spannerIO_Read_2GB_Python.txt
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# Licensed to the Apache Software Foundation (ASF) under one | ||
# or more contributor license agreements. See the NOTICE file | ||
# distributed with this work for additional information | ||
# regarding copyright ownership. The ASF licenses this file | ||
# to you under the Apache License, Version 2.0 (the | ||
# "License"); you may not use this file except in compliance | ||
# with the License. You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
--region=us-west1 | ||
--temp_location=gs://temp-storage-for-perf-tests/loadtests | ||
--spanner_instance=beam-test | ||
--spanner_database=pyspanner_read_2gb | ||
--publish_to_big_query=true | ||
--metrics_dataset=beam_performance | ||
--metrics_table=pyspanner_read_2GB_results | ||
--influx_measurement=python_spannerio_read_2GB_results | ||
--input_options=''{\\"num_records\\":2097152,\\"key_size\\":1,\\"value_size\\":1024,\\"algorithm\\":\\"lcg\\"}'' | ||
--num_workers=5 | ||
--autoscaling_algorithm=NONE | ||
--runner=DataflowRunner |
28 changes: 28 additions & 0 deletions
28
.github/workflows/performance-tests-job-configs/spannerIO_Write_2GB_Python.txt
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# Licensed to the Apache Software Foundation (ASF) under one | ||
# or more contributor license agreements. See the NOTICE file | ||
# distributed with this work for additional information | ||
# regarding copyright ownership. The ASF licenses this file | ||
# to you under the Apache License, Version 2.0 (the | ||
# "License"); you may not use this file except in compliance | ||
# with the License. You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
--region=us-west1 | ||
--temp_location=gs://temp-storage-for-perf-tests/loadtests | ||
--spanner_instance=beam-test | ||
--spanner_database=pyspanner_write_2gb | ||
--publish_to_big_query=true | ||
--metrics_dataset=beam_performance | ||
--metrics_table=pyspanner_write_2GB_results | ||
--influx_measurement=python_spanner_write_2GB_results | ||
--input_options=''{\\"num_records\\":2097152,\\"key_size\\":1,\\"value_size\\":1024,\\"algorithm\\":\\"lcg\\"}'' | ||
--num_workers=5 | ||
--autoscaling_algorithm=NONE | ||
--runner=DataflowRunner |