Skip to content

Commit

Permalink
Merge branch 'master' into uploadfrequency-v3
Browse files Browse the repository at this point in the history
  • Loading branch information
JayajP authored Apr 11, 2024
2 parents dbceef7 + e1a3eaf commit 1e605dc
Show file tree
Hide file tree
Showing 319 changed files with 16,901 additions and 1,165 deletions.
1 change: 1 addition & 0 deletions .asf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ github:

protected_branches:
master: {}
release-2.55.1: {}
release-2.55.0: {}
release-2.54.0: {}
release-2.53.0: {}
Expand Down
2 changes: 0 additions & 2 deletions .github/REVIEWERS.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ labels:
- Abacn
- kennknowles
- robertwb
- bvolpato
- m-trieu
- damondouglas
exclusionList: []
Expand All @@ -49,7 +48,6 @@ labels:
- johnjcasey
- Abacn
- ahmedabu98
- bvolpato
- damondouglas
- shunping
exclusionList: []
Expand Down
8 changes: 8 additions & 0 deletions .github/codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,14 @@ coverage:
base: auto
paths:
- "sdks/go/pkg"
java:
flags:
- java
target: auto
threshold: 5%
base: auto
paths:
- "sdks/java"

parsers:
gcov:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ service_account_id = "[email protected]
runner_group = "beam"
main_runner = {
name = "main-runner"
runner_image = "us-central1-docker.pkg.dev/apache-beam-testing/beam-github-actions/beam-arc-runner:2b20e26bb3b99d8e4f41a3d1d9d2e7080043de5c"
runner_image = "us-central1-docker.pkg.dev/apache-beam-testing/beam-github-actions/beam-arc-runner:21129a41e031c150c3f610639d71a95a3a941243"
machine_type = "e2-standard-16"
min_node_count = "1"
max_node_count = "30"
Expand All @@ -51,7 +51,7 @@ main_runner = {
additional_runner_pools = [{
name = "small-runner"
machine_type = "e2-standard-2"
runner_image = "us-central1-docker.pkg.dev/apache-beam-testing/beam-github-actions/beam-arc-runner:2b20e26bb3b99d8e4f41a3d1d9d2e7080043de5c"
runner_image = "us-central1-docker.pkg.dev/apache-beam-testing/beam-github-actions/beam-arc-runner:21129a41e031c150c3f610639d71a95a3a941243"
min_node_count = "1"
max_node_count = "15"
min_replicas = "1"
Expand All @@ -68,7 +68,7 @@ additional_runner_pools = [{
{
name = "highmem-runner"
machine_type = "c3-highmem-8"
runner_image = "us-central1-docker.pkg.dev/apache-beam-testing/beam-github-actions/beam-arc-runner:2b20e26bb3b99d8e4f41a3d1d9d2e7080043de5c"
runner_image = "us-central1-docker.pkg.dev/apache-beam-testing/beam-github-actions/beam-arc-runner:21129a41e031c150c3f610639d71a95a3a941243"
min_node_count = "1"
max_node_count = "15"
min_replicas = "1"
Expand Down
6 changes: 3 additions & 3 deletions .github/gh-actions-self-hosted-runners/arc/images/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,9 @@ RUN curl -OL https://github.com/cli/cli/releases/download/v2.31.0/gh_2.31.0_linu
rm gh_2.31.0_linux_amd64.tar.gz && \
mv gh_2.31.0_linux_amd64/bin/gh /usr/local/bin
#Install GCloud CLI and Kubectl
RUN curl -OL https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-367.0.0-linux-x86_64.tar.gz && \
tar -xvf google-cloud-sdk-367.0.0-linux-x86_64.tar.gz && \
rm google-cloud-sdk-367.0.0-linux-x86_64.tar.gz && \
RUN curl -OL https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-471.0.0-linux-x86_64.tar.gz && \
tar -xvf google-cloud-sdk-471.0.0-linux-x86_64.tar.gz && \
rm google-cloud-sdk-471.0.0-linux-x86_64.tar.gz && \
mv google-cloud-sdk /usr/local/google-cloud-sdk && \
/usr/local/google-cloud-sdk/install.sh --quiet && \
/usr/local/google-cloud-sdk/bin/gcloud components install gke-gcloud-auth-plugin && \
Expand Down
2 changes: 1 addition & 1 deletion .github/trigger_files/beam_PostCommit_Java_DataflowV1.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"comment": "Modify this file in a trivial way to cause this test suite to run"
"comment": "Modify this file in a trivial way to cause this test suite to run"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"comment": "Modify this file in a trivial way to cause this test suite to run"
}
119 changes: 119 additions & 0 deletions .github/workflows/IO_Iceberg.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# 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: IcebergIO Unit Tests

on:
push:
tags: ['v*']
branches: ['master', 'release-*']
paths:
- "sdks/java/io/iceberg/**"
- ".github/workflows/IO_Iceberg.yml"
pull_request_target:
branches: ['master', 'release-*']
paths:
- "sdks/java/io/iceberg/**"
- 'release/trigger_all_tests.json'
- '.github/trigger_files/IO_Iceberg.json'
issue_comment:
types: [created]
schedule:
- cron: '15 1/6 * * *'
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.event.pull_request.head.label || github.sha || github.head_ref || github.ref }}-${{ github.event.schedule || github.event.comment.id || 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 }}

jobs:
IO_Iceberg:
name: ${{ matrix.job_name }} (${{ matrix.job_phrase }})
strategy:
matrix:
job_name: ["IO_Iceberg"]
job_phrase: ["Run IcebergIO Unit Tests"]
timeout-minutes: 60
if: |
github.event_name == 'push' ||
github.event_name == 'pull_request_target' ||
(github.event_name == 'schedule' && github.repository == 'apache/beam') ||
github.event_name == 'workflow_dispatch' ||
github.event.comment.body == 'Run IcebergIO Unit Tests'
runs-on: [self-hosted, ubuntu-20.04, main]
steps:
- uses: actions/checkout@v4
- 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
- name: run IcebergIO build script
uses: ./.github/actions/gradle-command-self-hosted-action
with:
gradle-command: :sdks:java:io:iceberg:build
arguments: |
-PdisableSpotlessCheck=true \
-PdisableCheckStyle=true \
- name: Archive JUnit Test Results
uses: actions/upload-artifact@v4
if: ${{ !success() }}
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'
- name: Archive SpotBugs Results
uses: actions/upload-artifact@v4
if: always()
with:
name: SpotBugs Results
path: '**/build/reports/spotbugs/*.html'
- name: Publish SpotBugs Results
uses: jwgmeligmeyling/[email protected]
if: always()
with:
name: Publish SpotBugs
path: '**/build/reports/spotbugs/*.html'
77 changes: 77 additions & 0 deletions .github/workflows/beam_LoadTests_Java_PubsubIO.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# 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: LoadTests Java PubsubIO

on:
schedule:
- cron: '30 21 * * *'
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: read
checks: read
contents: read
deployments: read
id-token: none
issues: read
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.id || 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 }}
INFLUXDB_USER: ${{ secrets.INFLUXDB_USER }}
INFLUXDB_USER_PASSWORD: ${{ secrets.INFLUXDB_USER_PASSWORD }}

jobs:
beam_LoadTests_Java_PubsubIO:
if: |
github.event_name == 'workflow_dispatch' ||
(github.event_name == 'schedule' && github.repository == 'apache/beam') ||
github.event.comment.body == 'Run Load Tests Java PubsubIO'
runs-on: [self-hosted, ubuntu-20.04, highmem]
timeout-minutes: 720
name: ${{ matrix.job_name }} (${{ matrix.job_phrase }})
strategy:
matrix:
job_name: ["beam_LoadTests_Java_PubsubIO"]
job_phrase: ["Run Load Tests Java PubsubIO"]
steps:
- uses: actions/checkout@v4
- 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
- name: run PubSub Performance test
uses: ./.github/actions/gradle-command-self-hosted-action
with:
gradle-command: :it:google-cloud-platform:PubsubLoadTestLarge --info -DinfluxHost="http://10.128.0.96:8086" -DinfluxDatabase="beam_test_metrics" -DinfluxMeasurement="java_load_test_pubsub"
27 changes: 18 additions & 9 deletions .github/workflows/beam_PostCommit_Java_IO_Performance_Tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ name: PostCommit Java IO Performance Tests
on:
issue_comment:
types: [created]
schedule:
- cron: '0 4/6 * * *'
# schedule:
# - cron: '0 4/6 * * *'
pull_request_target:
paths: ['release/trigger_all_tests.json', '.github/trigger_files/beam_PostCommit_Java_IO_Performance_Tests.json']
workflow_dispatch:
Expand Down Expand Up @@ -73,36 +73,45 @@ jobs:
comment_phrase: ${{ matrix.job_phrase }} ${{ matrix.test_case }}
github_token: ${{ secrets.GITHUB_TOKEN }}
github_job: ${{ matrix.job_name }} (${{ matrix.job_phrase }} ${{ matrix.test_case }})
- name: Get Beam latest release
if: github.event_name == 'schedule' #This has scheduled runs run against the latest release
run: |
BEAM_VERSION=$(curl -s https://api.github.com/repos/apache/beam/releases/latest | jq -r '.tag_name')
echo "BEAM_VERSION=${BEAM_VERSION}" >> $GITHUB_ENV
- name: Checkout release branch
if: github.event_name == 'schedule' #This has scheduled runs run against the latest release
uses: actions/checkout@v4
with:
ref: v2.50.0 #TODO(https://github.com/apache/beam/issues/28330) automate updating this
ref: ${{ env.BEAM_VERSION }}
repository: apache/beam
- name: Setup environment
uses: ./.github/actions/setup-environment-action
with:
java-version: 8
- name: Authenticate on GCP
uses: google-github-actions/setup-gcloud@v0
uses: google-github-actions/auth@v2
with:
credentials_json: ${{ secrets.GCP_SA_KEY }}
project_id: ${{ secrets.GCP_PROJECT_ID }}
token_format: 'access_token'
- name: Setup gcloud
uses: google-github-actions/setup-gcloud@v2
with:
service_account_email: ${{ secrets.GCP_SA_EMAIL }}
service_account_key: ${{ secrets.GCP_SA_KEY }}
project_id: ${{ secrets.GCP_PROJECT_ID }}
export_default_credentials: true
skip_install: true
- name: run scheduled javaPostcommitIOPerformanceTests script
if: github.event_name == 'schedule' #This ensures only scheduled runs publish metrics publicly by changing which exportTable is configured
uses: ./.github/actions/gradle-command-self-hosted-action
with:
gradle-command: :it:${{ matrix.test_case }}
gradle-command: :it:${{ matrix.test_case }} -DmaxNumWorkers=10
env:
exportDataset: performance_tests
exportTable: io_performance_metrics
- name: run triggered javaPostcommitIOPerformanceTests script
if: github.event_name != 'schedule'
uses: ./.github/actions/gradle-command-self-hosted-action
with:
gradle-command: :it:${{ matrix.test_case }}
gradle-command: :it:${{ matrix.test_case }} -DmaxNumWorkers=10
env:
exportDataset: performance_tests
exportTable: io_performance_metrics_test
Expand Down
12 changes: 11 additions & 1 deletion .github/workflows/beam_PreCommit_Java.yml
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,7 @@ jobs:
arguments: |
-PdisableSpotlessCheck=true \
-PdisableCheckStyle=true \
-PenableJacocoReport \
- name: Archive JUnit Test Results
uses: actions/upload-artifact@v4
if: ${{ !success() }}
Expand All @@ -207,4 +208,13 @@ jobs:
if: always()
with:
name: Publish SpotBugs
path: '**/build/reports/spotbugs/*.html'
path: '**/build/reports/spotbugs/*.html'
- name: Archive Jacoco Results
uses: actions/upload-artifact@v4
with:
name: Jacoco Results
path: '**/build/jacoco/report/**'
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v3
with:
flags: java
16 changes: 15 additions & 1 deletion .github/workflows/beam_PreCommit_Java_GCP_IO_Direct.yml
Original file line number Diff line number Diff line change
Expand Up @@ -138,4 +138,18 @@ jobs:
if: always()
with:
name: Publish SpotBugs
path: '**/build/reports/spotbugs/*.html'
path: '**/build/reports/spotbugs/*.html'
- name: Set Jacoco report path
id: jacoco_report_path
run: |
echo "path=sdks/java/io/google-cloud-platform/build/reports/jacoco/test/jacocoTestReport.xml" >> $GITHUB_OUTPUT
- name: Archive Jacoco Results
uses: actions/upload-artifact@v4
with:
name: Jacoco Results
path: '**/build/jacoco/report/**'
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v3
with:
file: ${{ steps.jacoco_report_path.outputs.path }}
flags: java
Loading

0 comments on commit 1e605dc

Please sign in to comment.