lostluck opened a new pull request, #26882:
URL: https://github.com/apache/beam/pull/26882
It's valuable for Prism to clearly and eagerly fail on pipelines it doesn't
support, whenever possible. And since we already have an abundance of
integration tests for this, lightly refactor them to be used.
This change affects many files, but most of them are is mechanical and aimed
at simplifying testing Prism.
This is a necessary pre-cursor for finishing up the support in Prism before
trying to get other SDKs using Prism.
Changes herein:
* Add a `ptest.BuildAndRun`, which accepts a `func(s beam.Scope)`.
* This testing approach avoids the vestigial "create pipeline, and then
execute it", given we hang everything off of the scope. See
https://s.apache.org/no-beam-pipeline for rationale, but this may evolve before
it becomes a standard around runner wrappers.
* Light refactor to many of the integration test pipelines to be built in
a `func(s beam.Scope)` to be able to use `ptest.BuildAndRun`.
* Not done to all integration tests yet, just the ones Prism doesn't yet
support.
* Delete the long decommissioned and unused "driver" main for integration
tests.
* Fail jobs on unimplemented features.
* Reasons for failures are clearly related through the Create Job failure
message.
* Explicitly check windowing strategies vs the Go SDK default settings,
since they aren't yet handled by prism.
* Explicitly check each PTransform URN against a set list to filter out
unknown "standard" transforms.
* This avoids pipelines spuriously passing with transforms like
TestStream, PubSub.
* Makes prism tests set the JobName from the test name, so it's obvious what
test case is being run.
Discovered weird/broken behavior WRT flatten handling. To be resolved at a
later time.
------------------------
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](https://www.apache.org/licenses/icla.pdf).
See the [Contributor Guide](https://beam.apache.org/contribute) for more
tips on [how to make review process
smoother](https://beam.apache.org/contribute/get-started-contributing/#make-the-reviewers-job-easier).
To check the build health, please visit
[https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md](https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md)
GitHub Actions Tests Status (on master branch)
------------------------------------------------------------------------------------------------
[](https://github.com/apache/beam/actions?query=workflow%3A%22Build+python+source+distribution+and+wheels%22+branch%3Amaster+event%3Aschedule)
[](https://github.com/apache/beam/actions?query=workflow%3A%22Python+Tests%22+branch%3Amaster+event%3Aschedule)
[](https://github.com/apache/beam/actions?query=workflow%3A%22Java+Tests%22+branch%3Amaster+event%3Aschedule)
[](https://github.com/apache/beam/actions?query=workflow%3A%22Go+tests%22+branch%3Amaster+event%3Aschedule)
See [CI.md](https://github.com/apache/beam/blob/master/CI.md) for more
information about GitHub Actions CI.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]