Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a new precommit workflow to test flink container #33206

Merged
merged 6 commits into from
Nov 25, 2024

Conversation

liferoad
Copy link
Contributor

@liferoad liferoad commented Nov 24, 2024

Address #33180

Will trigger this later with:

on:
  pull_request_target:
    paths:
      - 'model/**'
      - 'sdks/python/**'
      - 'release/**'
      - 'sdks/java/io/kafka/**'
      - 'runners/core-construction-java/**'
      - 'runners/core-java/**'
      - 'runners/extensions-java/**'
      - 'runners/flink/**'
      - 'runners/java-fn-execution/**'
      - 'runners/reference/**'
      - 'release/trigger_all_tests.json'
      - '.github/trigger_files/beam_PreCommit_Flink_Container.json'
  push:
    branches: ['master', 'release-*']
    tags: 'v*'
  schedule:
    - cron: '0 */6 * * *'
  workflow_dispatch:

For now, just manually trigger this for developing.

Create PreCommit Flink Container workflow

Description

This PR introduces a new PreCommit workflow to test Flink container functionality across Go, Python, and Java SDKs. The workflow runs combine load tests in each language to verify the Flink container's functionality.

Key Features

  • Runs on pull requests targeting Flink-related changes
  • Tests container functionality with three SDKs:
    • Go Combine test
    • Python Combine test
    • Java Combine test
  • Uses self-hosted runner with Ubuntu 20.04
  • Includes automatic Flink cluster setup and teardown
  • Maintains consistent test parameters across languages

Implementation Details

  • Triggers on:
    • PRs affecting Flink runners
    • Push to master/release branches
    • Manual workflow dispatch
  • Uses Docker environments for each SDK
  • Sets consistent parallelism and test parameters
  • Includes proper error handling and cleanup

Notes

  • Timeout set to 45 minutes for complete workflow
  • Individual test steps timeout at 10 minutes
  • Cluster teardown happens even if tests fail

Fixes

N/A

Related PRs

N/A


Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

  • Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
  • Update CHANGES.md with noteworthy changes.
  • If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md

GitHub Actions Tests Status (on master branch)

Build python source distribution and wheels
Python tests
Java tests
Go tests

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

@github-actions github-actions bot added the build label Nov 24, 2024
@liferoad liferoad changed the title Add a new precommit to test finl container [DO NOT MERGE] Add a new precommit to test finl container Nov 24, 2024
@liferoad liferoad marked this pull request as ready for review November 24, 2024 15:35
@liferoad liferoad changed the title [DO NOT MERGE] Add a new precommit to test finl container [DO NOT MERGE] Add a new precommit to test flink container Nov 24, 2024
@liferoad liferoad requested review from damccorm and Abacn November 24, 2024 15:51
@liferoad liferoad changed the title [DO NOT MERGE] Add a new precommit to test flink container Add a new precommit workflow to test flink container Nov 24, 2024
Copy link
Contributor

Checks are failing. Will not request review until checks are succeeding. If you'd like to override that behavior, comment assign set of reviewers

Copy link
Contributor

Assigning reviewers. If you would like to opt out of this review, comment assign to next reviewer:

R: @Abacn for label build.

Available commands:

  • stop reviewer notifications - opt out of the automated review tooling
  • remind me after tests pass - tag the comment author after tests pass
  • waiting on author - shift the attention set back to the author (any comment or push by the author will return the attention set to the reviewers)

The PR bot will only process comments in the main thread (not review comments).

Copy link
Contributor

@damccorm damccorm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left a couple minor comments, overall LGTM though

{
"https://github.com/apache/beam/pull/33206": "testing the new flink container workflow"
}

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This won't work until the PR is merged

Comment on lines +69 to +71
(github.event_name == 'pull_request_target' &&
github.base_ref == 'master' &&
github.event.pull_request.draft == false) ||
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we need this full condition - just github.event_name == 'pull_request_target' should be fine, often you want stuff to run on draft prs anyways.

@liferoad
Copy link
Contributor Author

Left a couple minor comments, overall LGTM though

Let me merge this PR first since I need to do more tests and will address your comments with that PR. Thanks.

@liferoad liferoad merged commit 78630d1 into apache:master Nov 25, 2024
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants