[e2e] Add nightly e2e test for submitting examples to flink standalone cluster#708
[e2e] Add nightly e2e test for submitting examples to flink standalone cluster#708matrixsparse wants to merge 1 commit into
Conversation
|
Hi @wenjin272, this PR implements the CI pipeline for #642 as discussed. Could you PTAL when you have time? |
8189bc8 to
704e45c
Compare
| on: | ||
| schedule: | ||
| - cron: '0 0 * * *' | ||
| workflow_dispatch: |
There was a problem hiding this comment.
Nightly + manual dispatch means a regression in examples/**, python/flink_agents/examples/**, or tools/install.sh can sit undetected for up to 24h. Would a path-filtered pull_request: trigger for those paths make sense here, with the cron staying as the safety net for transitive-dep changes? The Flink download + full build is non-trivial wall time per PR, so the nightly-only choice is defensible too — curious which trade-off you prefer.
| failed=$((failed + 1)) | ||
| fi | ||
| done | ||
| printf "\nTotal: %d Passed: %d Failed: %d\n" "$total" "$passed" "$failed" |
There was a problem hiding this comment.
If install_flink, build_project, stage_dist_jars, or start_cluster dies under set -e, no result is ever recorded, so print_summary walks an empty RESULT_NAMES and prints Total: 0 Passed: 0 Failed: 0 before cleanup propagates the original non-zero exit code. The CI job still fails on the exit code, but a person scanning the log sees a "zero failures" summary right before the red X, which is misleading when triaging a 45-minute nightly run.
One way it could read, if useful:
if (( total == 0 )); then
log_error "Test setup failed before any example was submitted"
return
firight above the existing if (( failed > 0 )) check.
Purpose of change
Add automated e2e test for submitting Java/Python quickstart examples to a Flink standalone cluster, replacing the current manual verification process before each release.
Closes #642
Changes
e2e-test/test-scripts/test_submit_examples_to_flink.sh: Test script that installs Flink viainstall.sh, starts a standalone cluster, submits all 6 examples (3 Java + 3 Python), verifies submission success, and cleans up..github/workflows/nightly-e2e.yml: Nightly GitHub Actions workflow that runs the test daily at UTC 00:00, with manual trigger support.Key design decisions
tools/install.sh --non-interactive(from [tools]Import Wizard for Installation Setup #599) for Flink installation