|
# 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: PostCommit Java Examples Spark |
|
|
|
on: |
|
schedule: |
|
- cron: '45 3/6 * * *' |
|
pull_request_target: |
|
paths: ['release/trigger_all_tests.json', '.github/trigger_files/beam_PostCommit_Java_Examples_Spark.json'] |
|
workflow_dispatch: |
|
|
|
# This allows a subsequently queued workflow run to interrupt previous runs |
|
concurrency: |
|
group: '${{ github.workflow }} @ ${{ github.event.pull_request.number || github.sha || github.head_ref || github.ref }}-${{ github.event.schedule || github.event.comment.id || github.event.sender.login }}' |
|
cancel-in-progress: true |
|
|
|
#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 |
|
|
|
env: |
|
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} |
|
GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }} |
|
GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }} |
|
|
|
jobs: |
|
beam_PostCommit_Java_Examples_Spark: |
|
name: ${{ matrix.job_name }} (${{ matrix.job_phrase }}) |
|
runs-on: [self-hosted, ubuntu-24.04, main] |
|
timeout-minutes: 120 |
|
strategy: |
|
matrix: |
|
job_name: [beam_PostCommit_Java_Examples_Spark] |
|
job_phrase: [Run Java Examples_Spark] |
|
if: | |
|
github.event_name == 'workflow_dispatch' || |
|
github.event_name == 'pull_request_target' || |
|
(github.event_name == 'schedule' && github.repository == 'apache/beam') || |
|
github.event.comment.body == 'Run Java Examples_Spark' |
|
steps: |
|
- uses: actions/checkout@v7 |
|
- 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: |
|
java-version: default |
|
- name: run examplesIntegrationTest script |
|
uses: ./.github/actions/gradle-command-self-hosted-action |
|
with: |
|
gradle-command: :runners:spark:3:examplesIntegrationTest |
|
- name: Archive JUnit Test Results |
|
uses: actions/upload-artifact@v7 |
|
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' |
|
large_files: true |